Timeline
Feb 28, 2017:
- 11:57 PM Changeset in webkit [213208] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16/LayoutTests
Merge r212678, r212825, r212890, r212934, r213073, r213085 - Gardening
LayoutTest fast/multicol/column-span-parent-continuation-crash.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168341
Reviewed by Daniel Bates.
- fast/multicol/column-span-parent-continuation-crash.html: Make sure that the
document is fully parsed before the test runs. I'm not sure if the zero delay
is still needed, but it doesn't hurt.
Unreviewed GTK+ gardening. Mark http/tests/media/video-redirect.html as timing out.
- platform/gtk/TestExpectations:
[GTK] Gardening of some flaky tests
Unreviewed.
- platform/gtk/TestExpectations: Update some expectations or add new cases of flaky tests.
[GTK] Layout test imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-api-texttracks.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=168799
Unreviewed test gardening.
- platform/gtk/TestExpectations:
compositing/transitions/transform-on-large-layer.html : ImageDiff produced stderr output
https://bugs.webkit.org/show_bug.cgi?id=168217
Patch by Fujii Hironori <Fujii Hironori> on 2017-02-27
Reviewed by Simon Fraser.
ImageDiff reports an error for image size mismatch of expected and
actual images. But, Nwtr ignores the errors for ref tests at the moment
(Bug 168033). They should have same window size before fixing the
bug.
- compositing/transitions/transform-on-large-layer-expected.html:
Do not resize the window to match the actual.
- fast/css/sticky/sticky-left-percentage-expected.html: Resize the
window to match the actual.
LayoutTest fast/events/currentTarget-gc-crash.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168917
Reviewed by Alex Christensen.
Make sure we never call finishJSTest() more than once.
- fast/events/currentTarget-gc-crash.html:
- 11:36 PM Changeset in webkit [213207] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r213206 - NetworkProcess aborts in WebKit::NetworkLoad::didCompleteWithError at Source/WebKit2/NetworkProcess/NetworkLoad.cpp:423
https://bugs.webkit.org/show_bug.cgi?id=168963
Reviewed by Antti Koivisto.
This is trying to call SpeculativeLoad::didFailLoading() after SpeculativeLoad has already been
completed. SpeculativeLoad::didComplete() call its completion handler that removes the load from
m_pendingPreloads. When the completion handler returns the SpeculativeLoad is deleted. So, we should always
ensure that SpeculativeLoad is not used after didComplete() call. In SpeculativeLoad::willSendRedirectedRequest(),
the call to NetworkLoad::continueWillSendRequest() causes SpeculativeLoad::didFailLoading() to be called. We
don't really need to call continueWillSendRequest() though, since the network load is going to be deleted anyway
by didComplete(), and the willSendRequest completion handler does nothing when the request is null.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
- 11:34 PM Changeset in webkit [213206] by
-
- 2 edits in trunk/Source/WebKit2
NetworkProcess aborts in WebKit::NetworkLoad::didCompleteWithError at Source/WebKit2/NetworkProcess/NetworkLoad.cpp:423
https://bugs.webkit.org/show_bug.cgi?id=168963
Reviewed by Antti Koivisto.
This is trying to call SpeculativeLoad::didFailLoading() after SpeculativeLoad has already been
completed. SpeculativeLoad::didComplete() call its completion handler that removes the load from
m_pendingPreloads. When the completion handler returns the SpeculativeLoad is deleted. So, we should always
ensure that SpeculativeLoad is not used after didComplete() call. In SpeculativeLoad::willSendRedirectedRequest(),
the call to NetworkLoad::continueWillSendRequest() causes SpeculativeLoad::didFailLoading() to be called. We
don't really need to call continueWillSendRequest() though, since the network load is going to be deleted anyway
by didComplete(), and the willSendRequest completion handler does nothing when the request is null.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
- 9:29 PM Changeset in webkit [213205] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: RTL: expose the Layout Direction setting in Production builds, keep using LTR by default
https://bugs.webkit.org/show_bug.cgi?id=168999
Patch by Devin Rousso <Devin Rousso> on 2017-02-28
Reviewed by Brian Burg.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/SettingsTabContentView.js:
(WebInspector.SettingsTabContentView.prototype.layout):
Remove the WebInspector.isDebugUIEnabled() check around the Layout Direction setting.
- 7:55 PM Changeset in webkit [213204] by
-
- 2 edits in trunk/Source/WebCore
Addressing post-review comments on r213163
https://bugs.webkit.org/show_bug.cgi?id=168678
Unreviewed.
No new tests because there is no behavior change.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::platformFontLookupWithFamily):
- 7:04 PM Changeset in webkit [213203] by
-
- 4 edits in trunk/LayoutTests
[mac-wk1] LayoutTest media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167589
<rdar://problem/30772101>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Jon Lee.
Making this test more robust by making width assertions timer-based so that we lessen the assumptions
made about when the values ought to be reached.
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html:
- platform/mac-wk1/TestExpectations:
- 6:54 PM Changeset in webkit [213202] by
-
- 12 edits1 add in trunk/Source/JavaScriptCore
Change JSLock to stash PlatformThread instead of std::thread::id.
https://bugs.webkit.org/show_bug.cgi?id=168996
Reviewed by Filip Pizlo.
PlatformThread is more useful because it allows us to:
- find the MachineThreads::Thread which is associated with it.
- suspend / resume threads.
- send a signal to a thread.
We can't do those with std::thread::id. We will need one or more of these
capabilities to implement non-polling VM traps later.
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::Thread::createForCurrentThread):
(JSC::MachineThreads::machineThreadForCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::Thread::suspend):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::getCurrentPlatformThread): Deleted.
- heap/MachineStackMarker.h:
- runtime/JSCellInlines.h:
(JSC::JSCell::classInfo):
- runtime/JSLock.cpp:
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock): Deleted.
- runtime/JSLock.h:
(JSC::JSLock::ownerThread):
(JSC::JSLock::currentThreadIsHoldingLock):
- runtime/PlatformThread.h: Added.
(JSC::currentPlatformThread):
- runtime/VM.cpp:
(JSC::VM::~VM):
- runtime/VM.h:
(JSC::VM::ownerThread):
- runtime/Watchdog.cpp:
(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::shouldTerminate):
(JSC::Watchdog::startTimer):
(JSC::Watchdog::stopTimer):
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::currentThreadOwnsJSLock):
- tools/VMInspector.cpp:
- 6:19 PM Changeset in webkit [213201] by
-
- 3 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=169012
Unreviewed GTK+ gardening. New test results after r213149
- platform/gtk/fast/replaced/table-percent-height.html PASS
- tables/mozilla/bugs/bug32205-5.html FAIL
- platform/gtk/TestExpectations:
- platform/gtk/fast/replaced/table-percent-height-expected.txt:
- 5:24 PM Changeset in webkit [213200] by
-
- 4 edits in trunk/LayoutTests
[mac-wk1 Debug] LayoutTest media/modern-media-controls/rewind-button/rewind-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167352
<rdar://problem/30771343>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Dean Jackson.
Use the asynchronous assertion methods for this test to be on the safe side, this should address flakiness.
- media/modern-media-controls/rewind-button/rewind-button-expected.txt:
- media/modern-media-controls/rewind-button/rewind-button.html:
- platform/mac-wk1/TestExpectations:
- 5:18 PM Changeset in webkit [213199] by
-
- 3 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=169005
Rebaseline platform/gtk/css3/flexbox/line-wrapping.html test.
The following tests fail, so updated TextExpectations accordingly:
- css3/flexbox/flex-item-contains-strict.html
- css3/flexbox/overflow-auto-resizes-correctly.html
- platform/gtk/css3/flexbox/line-wrapping-expected.txt:
- platform/gtk/TestExpectations:
- 5:17 PM Changeset in webkit [213198] by
-
- 3 edits in trunk/Source/WebKit2
https://bugs.webkit.org/show_bug.cgi?id=168899
Re-add deprecated functions to WKPageGroup.h
Reviewed by Tim Horton.
- Shared/API/c/WKDeprecatedFunctions.cpp:
(WKPageGroupRemoveUserContentFilter):
(WKPageGroupRemoveAllUserContentFilters): Deleted. Unlike the other three, this
function isn't used by any clients.
- UIProcess/API/C/WKPageGroup.h:
- 5:10 PM Changeset in webkit [213197] by
-
- 3 edits in trunk/LayoutTests
[mac-wk1 debug] LayoutTest media/modern-media-controls/skip-back-button/skip-back-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=164620
<rdar://problem/30771094>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Dean Jackson.
Use the asynchronous assertion methods for this test to be on the safe side, this should address flakiness.
- media/modern-media-controls/skip-back-button/skip-back-button-expected.txt:
- media/modern-media-controls/skip-back-button/skip-back-button.html:
- 5:08 PM Changeset in webkit [213196] by
-
- 3 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/airplay-support/airplay-support.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167442
<rdar://problem/30770374>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Dean Jackson.
This test would sometime fail when calling media.webkitShowPlaybackTargetPicker() due to the requirement
that the media be playable for that call to succeed. So we add an event listener for the "canplay" event
before we proceed to ensure that this call will always succeed. The fact that the media is playing is
irrelevant so we remove the "autoplay" attribute.
- media/modern-media-controls/airplay-support/airplay-support.html:
- platform/mac/TestExpectations:
- 5:04 PM Changeset in webkit [213195] by
-
- 3 edits in trunk/Source/WebKit2
Expose _WKVisitedLinkProvider in a header
https://bugs.webkit.org/show_bug.cgi?id=168955
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
- UIProcess/API/Cocoa/_WKVisitedLinkStore.h:
The class needs to be visible in a header, as it is exported SPI.
- 5:01 PM Changeset in webkit [213194] by
-
- 3 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/placard-support/placard-support-airplay.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167441
<rdar://problem/30770034>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Dean Jackson.
This test would sometime fail when calling media.webkitShowPlaybackTargetPicker() due to the requirement
that the media be playable for that call to succeed. So we add an event listener for the "canplay" event
before we proceed to ensure that this call will always succeed. The fact that the media is playing is
irrelevant so we remove the "autoplay" attribute.
- media/modern-media-controls/placard-support/placard-support-airplay.html:
- platform/mac/TestExpectations:
- 4:53 PM Changeset in webkit [213193] by
-
- 4 edits in trunk/Source/WebKit2
Move resolving symlinks of some WebsiteDataStore paths from WebProcessPool to... WebsiteDataStore!.
https://bugs.webkit.org/show_bug.cgi?id=168696.
Reviewed by Alex Christensen.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
- UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::resolvedApplicationCacheDirectory):
(WebKit::WebsiteDataStore::resolvedMediaCacheDirectory):
(WebKit::WebsiteDataStore::resolvedMediaKeysDirectory):
(WebKit::WebsiteDataStore::resolvedDatabaseDirectory):
- 4:20 PM Changeset in webkit [213192] by
-
- 3 edits in trunk/Source/WebCore
Don't use the LinearGlyphMask format if accelerated drawing is disabled
https://bugs.webkit.org/show_bug.cgi?id=168997
Reviewed by Tim Horton.
Non-accelerated drawing doesn't work into LinearGlyphMask-format backing store,
so don't use that backing store format when accelerated drawing is disabled.
- platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::drawRepaintIndicator):
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(layerContentsFormat):
(PlatformCALayerCocoa::updateContentsFormat):
- 4:20 PM Changeset in webkit [213191] by
-
- 5 edits in trunk/Source/WebCore
Make the repaint indicators show subpixel antialiased text indication a bit more clearly
https://bugs.webkit.org/show_bug.cgi?id=168988
Reviewed by Tim Horton.
Put a more obvious stroke around the repaint count when subpixel-antialiased layer text is enabled.
- platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::drawRepaintIndicator):
(WebCore::PlatformCALayer::drawTextAtPoint):
- platform/graphics/ca/PlatformCALayer.h:
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::drawTextAtPoint):
- platform/graphics/ca/win/PlatformCALayerWin.h:
- 4:07 PM Changeset in webkit [213190] by
-
- 10 edits in trunk/Source
LibWebRTCProvider should check existence of libwebrtc.dylib
https://bugs.webkit.org/show_bug.cgi?id=168986
Source/WebCore:
<rdar://problem/30735413>
Reviewed by Youenn Fablet.
Some configurations of the webrtc tests overwrite the availability of WebRTC in order to test it
with MockLibWebRTCPeerConnection. If the dylib can not be found, we can't use it, so we want to
fail these tests rather than crashing calling rtc::LogMessage::LogToDebug.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::doCreateOffer):
(WebCore::LibWebRTCMediaEndpoint::doCreateAnswer):
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::factory):
(WebCore::LibWebRTCProvider::webRTCAvailable):
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::useMockRTCPeerConnectionFactory):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreatePeerConnection):
Source/WebKit2:
Reviewed by Youenn Fablet.
- Shared/WebPreferencesDefinitions.h:
- Shared/WebPreferencesStore.cpp:
- UIProcess/WebPreferences.cpp:
(WebKit::checkWebRTCAvailability): Deleted.
- 4:01 PM Changeset in webkit [213189] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, build fix after r213176.
- Platform/spi/ios/UIKitSPI.h:
- 3:34 PM Changeset in webkit [213188] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: It is possible to get the New Tab button in addition to the seven expected tabs
https://bugs.webkit.org/show_bug.cgi?id=168976
Patch by Devin Rousso <Devin Rousso> on 2017-02-28
Reviewed by Brian Burg.
- UserInterface/Views/TabBar.css:
(.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon):
(.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close):
(.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned, .default-tab):hover > .icon): Deleted.
(.tab-bar.collapsed:not(.hide-titles) > .item:not(.default-tab):hover > .close): Deleted.
- 3:33 PM Changeset in webkit [213187] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: CSS variable uses that are unresolved should have an error or warning icon
https://bugs.webkit.org/show_bug.cgi?id=168352
Patch by Devin Rousso <Devin Rousso> on 2017-02-28
Reviewed by Brian Burg.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches.update):
Insert a warning icon if the variable is not found in the computed style.
- 3:28 PM Changeset in webkit [213186] by
-
- 1 copy in tags/Safari-603.1.30.4.3
Tag Safari-603.1.30.4.3.
- 3:24 PM Changeset in webkit [213185] by
-
- 4 edits in trunk/Tools
Add ability for webkitpy to run bindings tests
https://bugs.webkit.org/show_bug.cgi?id=168979
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2017-02-28
Reviewed by Alexey Proskuryakov.
This allows the below command to run bindings tests with json output, and is a required part
of adding an EWS for bindings tests. (Note: this won't build because --build is not passed).
webkit-patch build-and-test --no-clean --no-update --test --non-interactive --group="bindings"
- Scripts/webkitpy/port/base.py:
(Port.bindings_results_directory): Return the directory to place JSON results for bindings tests.
- Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run): Checks if we should be running bindings tests.
(RunTests._run_bindings_tests): Generates the command for bindings tests, and executes it.
- Scripts/webkitpy/tool/steps/steps_unittest.py:
(test_runtests_bindings): Unit test for the generated run-bindings-tests command.
- 3:22 PM Changeset in webkit [213184] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
[WebRTC] CPU Overuse libwebrtc detector is decreasing the quality of the video
https://bugs.webkit.org/show_bug.cgi?id=168990
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-28
Reviewed by Eric Carlson.
- Source/webrtc/video/vie_encoder.cc: Disabling temporarily overuse detector.
- 3:21 PM Changeset in webkit [213183] by
-
- 2 edits in trunk/Source/WebCore
Apply a review comment that was missing in r213182
- loader/ios/QuickLook.mm:
(WebCore::isQuickLookPreviewURL):
- 3:18 PM Changeset in webkit [213182] by
-
- 8 edits in trunk/Source
[iOS] Getting QLPreviewProtocol slows down first navigation in Web process
https://bugs.webkit.org/show_bug.cgi?id=168940
<rdar://problem/29468999>
Reviewed by Simon Fraser.
No new tests, just a performance improvement.
- loader/DocumentLoader.cpp:
(WebCore::isRemoteWebArchive):
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
Make use of isQuickLookPreviewURL.
- loader/ios/QuickLook.h:
- loader/ios/QuickLook.mm:
(WebCore::isQuickLookPreviewURL):
Add isQuickLookPreviewURL, which first early-returns if the protocol
of the URL is a well-known protocol, and then falls back to loading QuickLook.
In a microbenchmark this is a 30-40% improvement in total time spent
loading an empty HTML document (wall-clock time between loadHTMLString
and didFinishNavigation).
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
Make use of isQuickLookPreviewURL.
- 3:08 PM Changeset in webkit [213181] by
-
- 2 edits in trunk/Source/WebKit2
Fix API test regression(s):
REGRESSION (r213168): API test WKUserContentController.ScriptMessageHandlerMultipleHandlerRemoval crashing
https://bugs.webkit.org/show_bug.cgi?id=168991
Unreviewed.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
- 3:05 PM Changeset in webkit [213180] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
[WebRTC] Fix an internal production build
https://bugs.webkit.org/show_bug.cgi?id=168992
Reviewed by Youenn Fablet.
- libwebrtc.xcodeproj/project.pbxproj:
Link with Foundation and CoreFoundation frameworks.
- 3:02 PM Changeset in webkit [213179] by
-
- 2 edits in trunk/Source/JavaScriptCore
Enable the SigillCrashAnalyzer by default for iOS.
https://bugs.webkit.org/show_bug.cgi?id=168989
Reviewed by Keith Miller.
- runtime/Options.cpp:
(JSC::overrideDefaults):
- 3:01 PM Changeset in webkit [213178] by
-
- 2 edits in trunk/Source/WebCore
Add Geolocation and DeviceOrientation to features.json
- features.json:
- 2:49 PM Changeset in webkit [213177] by
-
- 2 edits in trunk/Tools
Test fix after r213163
https://bugs.webkit.org/show_bug.cgi?id=168678
Unreviewed.
Tests and builds are timing out because this file is gigantic.
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2017-02-28
- TestWebKitAPI/Tests/WebCore/FontCache.cpp:
(TestWebKitAPI::TEST_F):
- 2:11 PM Changeset in webkit [213176] by
-
- 12 edits1 add in trunk
Data interaction should support attachment elements
https://bugs.webkit.org/show_bug.cgi?id=168916
<rdar://problem/30664519>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Teaches DragController to recognize and initiate dragging on attachment elements, and also adds a new
convenience method to the WebItemProviderPasteboard for block enumeration of available UIItemProviders. Covered
by a new API test: DataInteractionTests.AttachmentElementItemProviders.
- page/DragController.cpp:
(WebCore::DragController::draggableElement):
(WebCore::DragController::startDrag):
- platform/ios/WebItemProviderPasteboard.h:
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard enumerateItemProvidersWithBlock:]):
Source/WebKit2:
Teaches WKContentView to recognize attachment elements as data interactive content, and add an internal hook to
adjust the list of item providers before initiating data interaction.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _adjustedDataInteractionItemProviders:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView pointIsInDataInteractionContent:]):
Tools:
Adds a new unit test verifying that a client injected bundle is able to augment UIItemProvider data vended to
the UI process.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/attachment-element.html: Added.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(-[CustomItemProviderWebView _adjustedDataInteractionItemProviders:]):
(TestWebKitAPI::TEST):
- 1:56 PM Changeset in webkit [213175] by
-
- 9 edits in trunk/Source
Remove setExclusiveThread() and peers from the JSLock.
https://bugs.webkit.org/show_bug.cgi?id=168977
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
JSLock::setExclusiveThread() was only used by WebCore. Benchmarking with
Speedometer, we see that removal of exclusive thread status has no measurable
impact on performance. So, let's remove the code for handling exclusive thread
status, and simplify the JSLock code.
For the records, exclusive thread status does improve JSLock locking/unlocking
time by up to 20%. However, this difference is not measurable in the way WebCore
uses the JSLock as confirmed by Speedometer.
Also applied a minor optimization in JSLock::lock() to assume the initial lock
entry case (as opposed to the re-entry case). This appears to shows a small
fractional improvement (about 5%) in JSLock cumulative locking and unlocking
time in a micro-benchmark.
- heap/Heap.cpp:
(JSC::Heap::Heap):
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::addCurrentThread):
- heap/MachineStackMarker.h:
- runtime/JSLock.cpp:
(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::dropAllLocks):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::setExclusiveThread): Deleted.
- runtime/JSLock.h:
(JSC::JSLock::ownerThread):
(JSC::JSLock::hasExclusiveThread): Deleted.
(JSC::JSLock::exclusiveThread): Deleted.
- runtime/VM.h:
(JSC::VM::hasExclusiveThread): Deleted.
(JSC::VM::exclusiveThread): Deleted.
(JSC::VM::setExclusiveThread): Deleted.
Source/WebCore:
No new tests because this should already be covered by existing tests.
- bindings/js/CommonVM.cpp:
(WebCore::commonVMSlow):
- 1:54 PM Changeset in webkit [213174] by
-
- 3 edits in trunk/LayoutTests
LayoutTest workers/sab/postMessage-clones.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168129
Reviewed by Tim Horton.
- workers/sab/postMessage-clones-expected.txt:
- workers/sab/postMessage-clones.html:
Fix raciness, and update the test to modern style.
- 1:47 PM Changeset in webkit [213173] by
-
- 6 edits2 adds in trunk
Centering text inside a button set to display flex and justify-content: center is impossible
https://bugs.webkit.org/show_bug.cgi?id=148872
<rdar://problem/22590086>
Reviewed by Simon Fraser.
Source/WebCore:
Added new test in fast/forms.
- rendering/RenderButton.cpp:
(WebCore::RenderButton::addChild):
(WebCore::RenderButton::updateAnonymousChildStyle):
(WebCore::RenderButton::styleDidChange):
(WebCore::RenderButton::styleWillChange): Deleted.
(WebCore::RenderButton::setupInnerStyle): Deleted.
- rendering/RenderButton.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::propagateStyleToAnonymousChildren):
- rendering/RenderElement.h:
(WebCore::RenderElement::updateAnonymousChildStyle):
LayoutTests:
- fast/forms/button-set-display-flex-justifyContent-center-expected.html: Added.
- fast/forms/button-set-display-flex-justifyContent-center.html: Added.
- 1:45 PM Changeset in webkit [213172] by
-
- 5 edits8 adds in trunk/Source/WebCore
[Modern Media Controls] Add missing compact mode assets for macOS
https://bugs.webkit.org/show_bug.cgi?id=168980
<rdar://problem/30763269>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Jon Lee.
Adding missing compact mode assets for the AirPlay, tracks, PiP and volume buttons.
- Modules/modern-media-controls/controls/icon-service.js:
- Modules/modern-media-controls/controls/macos-compact-inline-media-controls.css:
(.media-controls.mac.inline.compact button.airplay):
(.media-controls.mac.inline.compact button.pip):
(.media-controls.mac.inline.compact button.tracks):
- Modules/modern-media-controls/images/macOS/airplay-compact@1x.png: Added.
- Modules/modern-media-controls/images/macOS/airplay-compact@2x.png: Added.
- Modules/modern-media-controls/images/macOS/media-selection-compact@1x.png: Added.
- Modules/modern-media-controls/images/macOS/media-selection-compact@2x.png: Added.
- Modules/modern-media-controls/images/macOS/pip-in-compact@1x.png: Added.
- Modules/modern-media-controls/images/macOS/pip-in-compact@2x.png: Added.
- Modules/modern-media-controls/images/macOS/volume-compact@1x.png:
- Modules/modern-media-controls/images/macOS/volume-compact@2x.png:
- Modules/modern-media-controls/images/macOS/volume-mute-compact@1x.png: Added.
- Modules/modern-media-controls/images/macOS/volume-mute-compact@2x.png: Added.
- 1:30 PM Changeset in webkit [213171] by
-
- 2 edits in trunk/Source/JavaScriptCore
Arm64 disassembler prints "ars" instead of "asr"
https://bugs.webkit.org/show_bug.cgi?id=168923
Rubber stamped by Michael Saboff.
- disassembler/ARM64/A64DOpcode.cpp:
(JSC::ARM64Disassembler::A64DOpcodeBitfield::format):
- 1:28 PM Changeset in webkit [213170] by
-
- 8 edits in trunk/Source/WebKit2
Add delegate method to handle images with alternate data.
https://bugs.webkit.org/show_bug.cgi?id=168785
<rdar://problem/28776219>
Add delegate methods to WKUIDelegatePrivate so that a WebKit client can provide alternate URL or data for an image
before long-press or preview. When an image has alternate URL or data, we can change the actions accordingly.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2017-02-28
Reviewed by Enrica Casucci.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Add two delegate methods _webView:getAlternateURLFromImage:completionHandler:
and _webView:alternateURLFromImage:userInfo;
- UIProcess/API/Cocoa/_WKActivatedElementInfo.h: Add an readonly property userInfo so that alternate data can be
carried by _WKActivatedElementInfo and be processed by WebKit client.
- UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
(-[_WKActivatedElementInfo _initWithType:URL:location:title:ID:rect:image:]):
(-[_WKActivatedElementInfo _initWithType:URL:location:title:ID:rect:image:userInfo:]): A new initializer that also takes userInfo.
(-[_WKActivatedElementInfo userInfo]):
- UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h: A new delegate method for WKActionSheetAssistantDelegate to fetch
alternate data before showing image sheet.
- UIProcess/ios/WKActionSheetAssistant.h:
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showImageSheet]): Before showing the image sheet, if the image doesn't have linked URL (i.e. not a image
link), try to fetch its alternate URL and data.
(-[WKActionSheetAssistant defaultActionsForImageSheet:]): Drive-by fix. We always use positionInformation's URL to populate the
actions, however, we should use elementInfo's URL since the two URLs could mismatch.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView actionSheetAssistant:getAlternateURLForImage:completion:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]): Before previewing an image, synchronously get alternate
data for the image and update the actions accordingly.
- 1:26 PM Changeset in webkit [213169] by
-
- 16 edits5 adds in trunk
[iOS] Throttle requestAnimationFrame to 30fps in low power mode
https://bugs.webkit.org/show_bug.cgi?id=168837
<rdar://problem/30700929>
Reviewed by Simon Fraser.
Source/WebCore:
Throttle requestAnimationFrame to 30fps in low power mode on iOS to save battery.
ScriptedAnimationController now maintains an OptionSet of throttling reasons.
Throttling reasons for now are: OutsideViewport, VisuallyIdle, and LowPowerMode.
The requestAnimationFrame interval is then determined based on those throttling
reasons:
- OutsideViewport or VisuallyIdle: 10 seconds (very aggressive throttling)
- LowPowerMode: 30fps
- No reasons: 60fps
The Page now keeps track of low power mode state using a LowPowerModeNotifier.
Whenever low power mode changes, it updates the throttling reasons in all the
documents' ScriptedAnimationControllers in the frame tree.
Tests: fast/animation/request-animation-frame-throttling-detached-iframe.html
fast/animation/request-animation-frame-throttling-lowPowerMode.html
- dom/Document.cpp:
(WebCore::Document::requestAnimationFrame):
- dom/Document.h:
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::throttlingReasonToString):
(WebCore::throttlingReasonsToString):
(WebCore::ScriptedAnimationController::addThrottlingReason):
(WebCore::ScriptedAnimationController::removeThrottlingReason):
(WebCore::ScriptedAnimationController::isThrottled):
(WebCore::ScriptedAnimationController::interval):
(WebCore::ScriptedAnimationController::page):
(WebCore::ScriptedAnimationController::scheduleAnimation):
- dom/ScriptedAnimationController.h:
(WebCore::ScriptedAnimationController::create):
- page/FrameView.cpp:
(WebCore::FrameView::updateScriptedAnimationsAndTimersThrottlingState):
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::isLowPowerModeEnabled):
(WebCore::Page::setLowPowerModeEnabledOverrideForTesting):
(WebCore::updateScriptedAnimationsThrottlingReason):
(WebCore::Page::setIsVisuallyIdleInternal):
(WebCore::Page::handleLowModePowerChange):
- page/Page.h:
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::requestAnimationFrameInterval):
(WebCore::Internals::setLowPowerModeEnabled):
- testing/Internals.h:
- testing/Internals.idl:
Source/WTF:
Add support for operator -= on WTF::OptionSet for convenience:
set -= Enum::A;
looks much better than:
set = set - Enum::A;
- wtf/OptionSet.h:
(WTF::OptionSet::operator-=):
Tools:
Add unit test for -= operator on WTF::OptionSet.
- TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
LayoutTests:
Add layout test coverage.
- fast/animation/request-animation-frame-throttling-detached-iframe-expected.txt: Added.
- fast/animation/request-animation-frame-throttling-detached-iframe.html: Added.
- fast/animation/request-animation-frame-throttling-lowPowerMode-expected.txt: Added.
- fast/animation/request-animation-frame-throttling-lowPowerMode.html: Added.
- fast/animation/resources/frame-with-animation.html: Added.
- 1:24 PM Changeset in webkit [213168] by
-
- 6 edits in trunk/Source/WebKit2
Refactor WebViewImpl creation in preparation for supporting multiple WebsiteDataStores.
https://bugs.webkit.org/show_bug.cgi?id=168676
Reviewed by Alex Christensen and Sam Weinig.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::warmInitialProcess):
(WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
(WebKit::WebProcessPool::createWebPage):
- UIProcess/WebProcessPool.h:
- 1:13 PM Changeset in webkit [213167] by
-
- 6 edits in trunk/Source
[WebRTC] Limit libwebrtc logging in Debug build
https://bugs.webkit.org/show_bug.cgi?id=168974
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-28
Reviewed by Alex Christensen.
Source/WebCore:
Covered by manual testing..
- platform/Logging.h:
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::callOnWebRTCSignalingThread):
Source/WebKit2:
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::NetworkRTCProvider):
- Platform/Logging.h:
- 1:02 PM Changeset in webkit [213166] by
-
- 2 edits in trunk/Source/WebKit2
[WebRTC] NetworkRTCProvider should stop the network thread from the main thread
https://bugs.webkit.org/show_bug.cgi?id=168972
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-28
Reviewed by Alex Christensen.
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::close): Ensuring to stop the network thread from the main thread when provider is
getting closed.
- 12:57 PM Changeset in webkit [213165] by
-
- 4 edits2 adds in trunk
Use of arguments in arrow function is slow
https://bugs.webkit.org/show_bug.cgi?id=168829
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/arrowfunciton-direct-arguments.js: Added.
(fn):
- microbenchmarks/arrowfunciton-reference-arguments.js: Added.
(fn):
Source/JavaScriptCore:
Current patch improves performance access to arguments within arrow functuion
by preventing create arguments variable within arrow function, also allow to cache
arguments variable. Before arguments variable always have Dynamic resolve type, after
patch it can be ClosureVar, that increase performance of access to arguments variable
in 9 times inside of the arrow function.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
- runtime/JSScope.cpp:
(JSC::abstractAccess):
- 12:51 PM Changeset in webkit [213164] by
-
- 3 edits in trunk/Tools
webkitpy: Regular expression for parsing simctl device information is wrong for iPad Pro
https://bugs.webkit.org/show_bug.cgi?id=168394
Reviewed by Daniel Bates.
- Scripts/webkitpy/xcode/simulator.py:
(Simulator): Allow for parenthesis in device name.
- Scripts/webkitpy/xcode/simulator_unittest.py: Add iPad Pro to test.
- 12:40 PM Changeset in webkit [213163] by
-
- 13 edits4 copies1 add in trunk
[macOS] Migrate off of CTFontCreateForCSS
https://bugs.webkit.org/show_bug.cgi?id=168678
Reviewed by David Hyatt.
Source/WebCore:
This patch implements the Font Matching Algorithm detailed in
https://drafts.csswg.org/css-fonts-4/#font-matching-algorithm
Previously, this was implemented inside Core Text (via
CTFontCreateForCSS()), but that implementation does not understand
variation fonts. Therefore it should move to WebKit (along with
the general fact that CSS algorithms should be implemented in a
CSS engine, not the platform's text engine).
This implementation is not completely divorced from the platform,
however - Core Text exposes font weights on a [-1, 1] range, but
CSS operates on a [1, 999] range. In order to provide the mapping
to CSS weights, Core Text infrastructure is necessary. Therefore,
this new implementation of the matching algorithm is only used
on certain operating systems.
The new implementation of the algorithm is not bug-compatible with
the existing implementation; this patch does represent a behavior
change. However, I have reviewed the differences manually and
believe this algorithm to be a progression over the previous one
(except for one case with Helvetica Neue - see
LayoutTests/ChangeLog for more information about that).
This patch also represents a 27% performance progression on our
standard page load test (just measuring the performance of the font
matching algorithm, and nothing else). (Because font matching is
only a small part of the entire test, the overall progression is
much smaller.)
Tests: FontCacheTest.FontLookupFromFamilyName
FontCacheTest.FontLookupFromPostScriptName
- platform/graphics/FontCache.h:
(WebCore::FontCache::createFontPlatformDataForTesting): Allow for
unit testing.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::isSystemFont): Inlined.
(WebCore::FontDatabase::singleton): Cache results of Core Text
lookups.
(WebCore::FontDatabase::Range::Range): Because of variation fonts,
fonts' weights, widths, and slopes need to be represented as a range
instead of an individual value.
(WebCore::FontDatabase::Range::isValid):
(WebCore::FontDatabase::Range::expand):
(WebCore::FontDatabase::Range::includes):
(WebCore::FontDatabase::InstalledFont::InstalledFont): Represents a
Font Descriptor as well as some lookup information about it.
(WebCore::FontDatabase::InstalledFontCollection::InstalledFontCollection):
A collection of installed fonts.
(WebCore::FontDatabase::InstalledFontCollection::insertInstalledFont):
Cache minima and maxima.
(WebCore::FontDatabase::InstalledFontCollection::isEmpty):
(WebCore::FontDatabase::InstalledFontCollection::size):
(WebCore::FontDatabase::lookupFamilyName): Get all the fonts in
the family.
(WebCore::FontDatabase::lookupPostScriptName): Get the font with
the given PostScript name.
(WebCore::FontDatabase::clear):
(WebCore::FontDatabase::FontDatabase): Cache.
(WebCore::iterateActiveFontsWithReturn): The Font Matching Algorithm
works by starting with every font in the family, and the eliminating
items from the set iteratively. Instead of actually removing items
from a vector or linked list, we instead want to treat the collection
as immutable and keep a parallel side-table of which items have been
eliminated (in order to reduce copies and allocations). This makes
sense because most families only have a handful of fonts in them.
This function consults with the side-table to iterate only over the
fonts which have not been eliminated.
(WebCore::iterateActiveFonts): Ditto.
(WebCore::findClosestStretch):
(WebCore::filterStretch): Eliminate fonts based on their stretch
value.
(WebCore::findClosestStyle):
(WebCore::filterStyle): Eliminate fonts based on their style value.
(WebCore::findClosestWeight):
(WebCore::filterWeight): Eliminate fonts based on their weight value.
(WebCore::computeTargetWeight):
(WebCore::findClosestFont): If we have a set of fonts in a family,
select the font in the set which best matches the criteria.
(WebCore::platformFontLookupWithFamily): While findClosestFont()
function satisfies the spec's notion of the font matching algorithm,
WebKit actually claims to be able to look up fonts by their PostScript
name. Therefore, this function has a higher-level of logic to rectify
the confusion that results when the PostScript name doesn't agree with
the other CSS properties (like if you say "Helvetica-Bold" but also say
font-weight: 100).
- platform/spi/cocoa/CoreTextSPI.h: Add signature for system CSS
font weight support.
Tools:
Exhaustively test the font matching algorithm on Sierra.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/FontCache.cpp: Added.
(TestWebKitAPI::FontCacheTest::SetUp):
(TestWebKitAPI::createPlatformFont):
(TestWebKitAPI::compareFonts):
(TestWebKitAPI::TEST_F):
LayoutTests:
Updating test results.
Note that there is a slight regression here with Helvetica Neue. In
particular, this family includes a Bold font with a weight of 700,
and a Condensed Black font with a weight of 900. Because we don't
currently have any notion of font-stretch, our model can only
distinguish between these fonts due to their differing weights, not
their widths. This means that requests for weights 800 or 900 will
match the Condensed Black font in accordance with the font matching
algorithm. This gives visually surprising results because weights
100-700 match regular-width fonts.
However, this regression is intentional and temporary - my next task
is to properly implement font-stretch, which will educate our model
on the difference between these two fonts. This will fix the regression
and allow the tests below to be reset to their original expected
results.
- platform/mac-elcapitan/fast/text/font-weights-expected.png: Copied from LayoutTests/platform/mac/fast/text/font-weights-expected.png.
- platform/mac-elcapitan/fast/text/font-weights-expected.txt: Copied from LayoutTests/platform/mac/fast/text/font-weights-expected.txt.
- platform/mac-elcapitan/fast/text/font-weights-zh-expected.png: Copied from LayoutTests/platform/mac/fast/text/font-weights-zh-expected.png.
- platform/mac-elcapitan/fast/text/font-weights-zh-expected.txt: Copied from LayoutTests/platform/mac/fast/text/font-weights-zh-expected.txt.
- platform/mac/fast/text/font-weights-expected.png:
- platform/mac/fast/text/font-weights-expected.txt:
- platform/mac/fast/text/font-weights-zh-expected.png:
- platform/mac/fast/text/font-weights-zh-expected.txt:
- 12:36 PM Changeset in webkit [213162] by
-
- 2 edits in trunk/Tools
Windows build doesn't start build if the git branch is not master
https://bugs.webkit.org/show_bug.cgi?id=168843
Patch by Basuke Suzuki <Basuke.Suzuki@am.sony.com> on 2017-02-28
Reviewed by Myles C. Maxfield.
Use correct value for product base dir.
- Scripts/build-webkit:
- 11:42 AM Changeset in webkit [213161] by
-
- 9 edits in trunk
Media: notify clients when autoplayed media ends without being paused
https://bugs.webkit.org/show_bug.cgi?id=168852
Reviewed by Alex Christensen.
Source/WebCore:
Added API tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):
Set state accordingly if we autoplayed or if playback was prevented.
(WebCore::HTMLMediaElement::play):
Update state if playback was prevented.
(WebCore::HTMLMediaElement::playInternal):
Update state if playback began without user interaction.
(WebCore::HTMLMediaElement::pauseInternal):
Update state.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
If playback ends and it began without user interaction, send a DidPlayMediaWithoutInterference event.
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer): Ditto.
- html/HTMLMediaElement.h:
- page/AutoplayEvent.h:
Source/WebKit2:
- UIProcess/API/C/WKPageUIClient.h:
Tools:
- TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Added.
- 11:37 AM Changeset in webkit [213160] by
-
- 9 edits1 add in branches/safari-603-branch
Merge r213078. rdar://problem/30704432
- 11:37 AM Changeset in webkit [213159] by
-
- 2 edits in branches/safari-603-branch/Source/WebCore
Merge r213077. rdar://problem/30704432
- 11:36 AM Changeset in webkit [213158] by
-
- 9 edits6 adds in branches/safari-603-branch
Merge r213076. rdar://problem/30704432
- 11:31 AM Changeset in webkit [213157] by
-
- 5 edits in branches/safari-603.1.30.0-branch/Source
Versioning.
- 11:30 AM Changeset in webkit [213156] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/IndexedDB/idb-binary-key-roundtrip.htm as flaky on El Capitan.
https://bugs.webkit.org/show_bug.cgi?id=168380
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:25 AM Changeset in webkit [213155] by
-
- 4 edits in branches/safari-603.1.30.4-branch/Source/WebKit/win
rdar://problem/30687449
- 11:25 AM Changeset in webkit [213154] by
-
- 5 edits in branches/safari-603.1.30.4-branch/Source
Versioning.
- 11:22 AM Changeset in webkit [213153] by
-
- 4 edits in branches/safari-603-branch/Source/WebKit/win
rdar://problem/30687449
- 11:13 AM Changeset in webkit [213152] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
[WebRTC] LibWebRTC frame dropper is not working consistently
https://bugs.webkit.org/show_bug.cgi?id=168973
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-28
Reviewed by Eric Carlson.
- Source/webrtc/modules/video_coding/video_sender.cc: Disable temporarily the frame dropper as it is sometimes
dropping too many frames.
- 10:50 AM Changeset in webkit [213151] by
-
- 9 edits2 adds in trunk/Source
Add ability to configure JSC options from a file
https://bugs.webkit.org/show_bug.cgi?id=168914
Reviewed by Filip Pizlo.
Added the ability to set options and DataLog file location via a configuration file.
Source/JavaScriptCore:
The configuration file is specified with the --configFile option to JSC or the
JSC_configFile environment variable.
The file format allows for options conditionally dependent on various attributes.
Currently those attributes are the process name, parent process name and build
type (Release or Debug). In this patch, the parent process type is not set.
That will be set up in WebKit code with a follow up patch.
Here is an example config file:
logFile = "/tmp/jscLog.%pid.txt"
jscOptions {
dumpOptions = 2
}
build == "Debug" {
jscOptions {
useConcurrentJIT = false
dumpDisassembly = true
}
}
build == "Release" && processName == "jsc" {
jscOptions {
asyncDisassembly = true
}
}
Eliminated the prior options file code.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- jsc.cpp:
(jscmain):
- runtime/ConfigFile.cpp: Added.
(JSC::ConfigFileScanner::ConfigFileScanner):
(JSC::ConfigFileScanner::start):
(JSC::ConfigFileScanner::lineNumber):
(JSC::ConfigFileScanner::currentBuffer):
(JSC::ConfigFileScanner::atFileEnd):
(JSC::ConfigFileScanner::tryConsume):
(JSC::ConfigFileScanner::tryConsumeString):
(JSC::ConfigFileScanner::tryConsumeUpto):
(JSC::ConfigFileScanner::fillBufferIfNeeded):
(JSC::ConfigFileScanner::fillBuffer):
(JSC::ConfigFile::ConfigFile):
(JSC::ConfigFile::setProcessName):
(JSC::ConfigFile::setParentProcessName):
(JSC::ConfigFile::parse):
- runtime/ConfigFile.h: Added.
- runtime/Options.cpp:
(JSC::Options::initialize):
(JSC::Options::setOptions):
- runtime/Options.h:
Source/WTF:
The pathname can include the printf style "%pid", which will be replaced with the
current process id.
- wtf/DataLog.cpp:
(WTF::initializeLogFileOnce):
(WTF::setDataFile):
- wtf/DataLog.h:
- 8:43 AM Changeset in webkit [213150] by
-
- 2 edits in trunk/Tools
webkitpy: jsc-ews should run when Makefiles and build scripts are changed
https://bugs.webkit.org/show_bug.cgi?id=168950
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance): Add makefiles and build scripts to jsc_paths.
- 8:23 AM Changeset in webkit [213149] by
-
- 214 edits131 adds6 deletes in trunk
Update flexbox to Blink's tip of tree
https://bugs.webkit.org/show_bug.cgi?id=168657
Reviewed by Zalan Bujtas.
Source/WebCore:
Added new tests in css3/flexbox.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- rendering/FlexibleBoxAlgorithm.cpp: Added.
(WebCore::FlexItem::FlexItem):
(WebCore::FlexLayoutAlgorithm::FlexLayoutAlgorithm):
(WebCore::FlexLayoutAlgorithm::computeNextFlexLine):
- rendering/FlexibleBoxAlgorithm.h: Added.
(WebCore::FlexItem::hypotheticalMainAxisMarginBoxSize):
(WebCore::FlexItem::flexBaseMarginBoxSize):
(WebCore::FlexItem::flexedMarginBoxSize):
(WebCore::FlexLayoutAlgorithm::isMultiline):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::computeTrackBasedSize):
(WebCore::GridTrackSizingAlgorithm::increaseSizesToAccommodateSpanningItems):
(WebCore::GridTrackSizingAlgorithm::assumedRowsSizeForOrthogonalChild):
(WebCore::GridTrackSizingAlgorithm::gridAreaBreadthForChild):
(WebCore::IndefiniteSizeStrategy::recomputeUsedFlexFractionIfNeeded):
- rendering/GridTrackSizingAlgorithm.h:
- rendering/OrderIterator.cpp:
(WebCore::OrderIterator::next):
(WebCore::OrderIterator::reset):
(WebCore::OrderIteratorPopulator::~OrderIteratorPopulator):
(WebCore::OrderIteratorPopulator::collectChild):
(WebCore::OrderIteratorPopulator::OrderIteratorPopulator): Deleted.
(WebCore::OrderIteratorPopulator::removeDuplicatedOrderValues): Deleted.
- rendering/OrderIterator.h:
(WebCore::OrderIteratorPopulator::OrderIteratorPopulator):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
(WebCore::RenderBlock::layoutPositionedObject):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
(WebCore::RenderBlock::computeChildPreferredLogicalWidths):
(WebCore::RenderBlock::hasDefiniteLogicalHeight):
(WebCore::RenderBlock::availableLogicalHeightForPercentageComputation):
- rendering/RenderBlock.h:
(WebCore::RenderBlock::hasPercentHeightDescendants):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::columnFlexItemHasStretchAlignment):
(WebCore::RenderBox::isStretchingColumnFlexItem):
(WebCore::RenderBox::hasStretchedLogicalWidth):
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
(WebCore::RenderBox::computeInlineDirectionMargins):
(WebCore::RenderBox::cacheIntrinsicContentLogicalHeightForFlexItem):
(WebCore::RenderBox::updateLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightWithoutLayout):
(WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
(WebCore::RenderBox::shouldTreatChildAsReplacedInTableCells):
(WebCore::tableCellShouldHaveZeroInitialSize):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::percentageLogicalHeightIsResolvable):
(WebCore::RenderBox::hasUnsplittableScrollingOverflow):
(WebCore::flexItemHasStretchAlignment): Deleted.
(WebCore::isStretchingColumnFlexItem): Deleted.
(WebCore::logicalWidthIsResolvable): Deleted.
(WebCore::RenderBox::hasDefiniteLogicalWidth): Deleted.
(WebCore::percentageLogicalHeightIsResolvable): Deleted.
(WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock): Deleted.
(WebCore::RenderBox::hasDefiniteLogicalHeight): Deleted.
- rendering/RenderBox.h:
(WebCore::RenderBox::isGridItem):
(WebCore::RenderBox::isFlexItem):
(WebCore::RenderBox::selfAlignmentNormalBehavior):
- rendering/RenderBoxModelObject.cpp:
(WebCore::isOutOfFlowPositionedWithImplicitHeight):
(WebCore::RenderBoxModelObject::containingBlockForAutoHeightDetection):
(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
- rendering/RenderBoxModelObject.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::removeChildInternal):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::LineContext::LineContext):
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
(WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
(WebCore::contentAlignmentNormalBehavior):
(WebCore::RenderFlexibleBox::styleDidChange):
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::clientLogicalBottomAfterRepositioning):
(WebCore::RenderFlexibleBox::hasOrthogonalFlow):
(WebCore::RenderFlexibleBox::flexBasisForChild):
(WebCore::RenderFlexibleBox::crossAxisExtentForChild):
(WebCore::RenderFlexibleBox::cachedChildIntrinsicContentLogicalHeight):
(WebCore::RenderFlexibleBox::setCachedChildIntrinsicContentLogicalHeight):
(WebCore::RenderFlexibleBox::clearCachedChildIntrinsicContentLogicalHeight):
(WebCore::RenderFlexibleBox::childIntrinsicLogicalHeight):
(WebCore::RenderFlexibleBox::childIntrinsicLogicalWidth):
(WebCore::RenderFlexibleBox::crossAxisIntrinsicExtentForChild):
(WebCore::RenderFlexibleBox::mainAxisExtentForChild):
(WebCore::RenderFlexibleBox::mainAxisContentExtentForChildIncludingScrollbar):
(WebCore::RenderFlexibleBox::crossAxisExtent):
(WebCore::RenderFlexibleBox::mainAxisExtent):
(WebCore::RenderFlexibleBox::mainAxisContentExtent):
(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
(WebCore::RenderFlexibleBox::transformedWritingMode):
(WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
(WebCore::RenderFlexibleBox::flowAwareMarginEndForChild):
(WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
(WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
(WebCore::RenderFlexibleBox::flowAwareLocationForChild):
(WebCore::RenderFlexibleBox::useChildAspectRatio):
(WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing):
(WebCore::RenderFlexibleBox::setFlowAwareLocationForChild):
(WebCore::RenderFlexibleBox::mainAxisLengthIsDefinite):
(WebCore::RenderFlexibleBox::crossAxisLengthIsDefinite):
(WebCore::RenderFlexibleBox::cacheChildMainSize):
(WebCore::RenderFlexibleBox::clearCachedMainSizeForChild):
(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild):
(WebCore::RenderFlexibleBox::layoutFlexItems):
(WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
(WebCore::RenderFlexibleBox::updateAutoMarginsInMainAxis):
(WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis):
(WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild):
(WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis):
(WebCore::RenderFlexibleBox::marginBoxAscentForChild):
(WebCore::RenderFlexibleBox::computeChildMarginValue):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::childLogicalHeightForPercentageResolution):
(WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax):
(WebCore::RenderFlexibleBox::constructFlexItem):
(WebCore::RenderFlexibleBox::freezeViolations):
(WebCore::RenderFlexibleBox::freezeInflexibleItems):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):
(WebCore::alignmentOffset):
(WebCore::RenderFlexibleBox::setOverrideMainAxisContentSizeForChild):
(WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild):
(WebCore::RenderFlexibleBox::staticCrossAxisPositionForPositionedChild):
(WebCore::RenderFlexibleBox::staticInlinePositionForPositionedChild):
(WebCore::RenderFlexibleBox::staticBlockPositionForPositionedChild):
(WebCore::RenderFlexibleBox::setStaticPositionForPositionedLayout):
(WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
(WebCore::RenderFlexibleBox::alignmentForChild):
(WebCore::RenderFlexibleBox::resetAutoMarginsAndLogicalTopInCrossAxis):
(WebCore::RenderFlexibleBox::needToStretchChildLogicalHeight):
(WebCore::RenderFlexibleBox::childHasIntrinsicMainAxisSize):
(WebCore::RenderFlexibleBox::crossAxisOverflowForChild):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::initialAlignContentOffset):
(WebCore::alignContentSpaceBetweenChildren):
(WebCore::RenderFlexibleBox::alignFlexLines):
(WebCore::RenderFlexibleBox::adjustAlignmentForChild):
(WebCore::RenderFlexibleBox::alignChildren):
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
(WebCore::RenderFlexibleBox::flipForRightToLeftColumn):
(WebCore::RenderFlexibleBox::flipForWrapReverse):
(WebCore::RenderFlexibleBox::Violation::Violation): Deleted.
(WebCore::RenderFlexibleBox::setCrossAxisExtent): Deleted.
(WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild): Deleted.
(WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild): Deleted.
(WebCore::RenderFlexibleBox::mainAxisScrollbarExtentForChild): Deleted.
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Deleted.
(WebCore::RenderFlexibleBox::computeNextFlexLine): Deleted.
(WebCore::RenderFlexibleBox::setLogicalOverrideSize): Deleted.
(WebCore::RenderFlexibleBox::numberOfInFlowPositionedChildren): Deleted.
(WebCore::RenderFlexibleBox::needToStretchChild): Deleted.
(WebCore::contentAlignmentNormalBehaviorFlexibleBox): Deleted.
- rendering/RenderFlexibleBox.h:
(WebCore::RenderFlexibleBox::orderIterator):
(WebCore::RenderFlexibleBox::isFlexibleBoxImpl):
- rendering/RenderFullScreen.h:
- rendering/RenderGrid.cpp:
(WebCore::selfAlignmentChangedToStretchInRowAxis):
(WebCore::selfAlignmentChangedFromStretchInRowAxis):
(WebCore::selfAlignmentChangedFromStretchInColumnAxis):
(WebCore::RenderGrid::styleDidChange):
(WebCore::RenderGrid::computeTrackBasedLogicalHeight):
(WebCore::RenderGrid::computeTrackSizesForDefiniteSize):
(WebCore::RenderGrid::gridGapForDirection):
(WebCore::RenderGrid::guttersSize):
(WebCore::RenderGrid::computeTrackSizesForIndefiniteSize):
(WebCore::RenderGrid::computeAutoRepeatTracksCount):
(WebCore::RenderGrid::trackSizesForComputedStyle):
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
(WebCore::RenderGrid::populateGridPositionsForDirection):
(WebCore::RenderGrid::alignSelfForChild):
(WebCore::RenderGrid::justifySelfForChild):
(WebCore::RenderGrid::columnAxisPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild):
(WebCore::RenderGrid::columnAxisOffsetForChild):
(WebCore::RenderGrid::rowAxisOffsetForChild):
(WebCore::RenderGrid::needToStretchChildLogicalHeight): Deleted.
- rendering/RenderGrid.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::computeLogicalHeight):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::layout):
- rendering/RenderTableSection.cpp:
(WebCore::shouldFlexCellChild):
(WebCore::RenderTableSection::relayoutCellIfFlexed):
(WebCore::RenderTableSection::layoutRows):
- rendering/RenderTableSection.h:
- rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeLogicalHeight):
- rendering/style/RenderStyle.cpp:
(WebCore::resolvedSelfAlignment):
(WebCore::RenderStyle::resolvedAlignSelf):
(WebCore::RenderStyle::resolvedJustifySelf):
- rendering/style/RenderStyle.h:
- style/RenderTreeUpdater.cpp:
(WebCore::textRendererIsNeeded):
LayoutTests:
- css3/flexbox/align-absolute-child-expected.txt:
- css3/flexbox/align-absolute-child.html:
- css3/flexbox/alignContent-applies-with-flexWrap-wrap-with-single-line-expected.txt: Added.
- css3/flexbox/alignContent-applies-with-flexWrap-wrap-with-single-line.html: Added.
- css3/flexbox/anonymous-block-merge-crash.html:
- css3/flexbox/assert-generated-new-flexbox-expected.txt: Added.
- css3/flexbox/assert-generated-new-flexbox.html: Added.
- css3/flexbox/auto-height-dynamic-expected.txt:
- css3/flexbox/auto-height-dynamic.html:
- css3/flexbox/auto-height-with-flex-expected.html: Added.
- css3/flexbox/auto-height-with-flex.html: Added.
- css3/flexbox/auto-margins-expected.html: Removed.
- css3/flexbox/auto-margins.html: Removed.
- css3/flexbox/border-and-padding-abspos-expected.txt: Added.
- css3/flexbox/border-and-padding-abspos.html: Added.
- css3/flexbox/box-orient-button-expected.txt: Added.
- css3/flexbox/box-orient-button.html: Added.
- css3/flexbox/box-sizing-expected.txt:
- css3/flexbox/box-sizing-min-max-sizes-expected.txt:
- css3/flexbox/box-sizing-min-max-sizes.html:
- css3/flexbox/box-sizing.html:
- css3/flexbox/bug527039-expected.txt: Added.
- css3/flexbox/bug527039.html: Added.
- css3/flexbox/bug580586-expected.txt: Added.
- css3/flexbox/bug580586.html: Added.
- css3/flexbox/bug604346-expected.html: Added.
- css3/flexbox/bug604346.html: Added.
- css3/flexbox/bug605682-expected.txt: Added.
- css3/flexbox/bug605682.html: Added.
- css3/flexbox/bug633212-expected.txt: Added.
- css3/flexbox/bug633212.html: Added.
- css3/flexbox/bug646288-expected.txt: Added.
- css3/flexbox/bug646288.html: Added.
- css3/flexbox/bug669714-expected.txt: Added.
- css3/flexbox/bug669714.html: Added.
- css3/flexbox/canvas-dynamic-change-expected.txt: Added.
- css3/flexbox/canvas-dynamic-change.html: Added.
- css3/flexbox/change-flexitem-into-abspos-expected.txt: Added.
- css3/flexbox/change-flexitem-into-abspos.html: Added.
- css3/flexbox/child-overflow-expected.html:
- css3/flexbox/child-overflow.html:
- css3/flexbox/column-flex-child-with-overflow-scroll-expected.txt: Added.
- css3/flexbox/column-flex-child-with-overflow-scroll.html: Added.
- css3/flexbox/columns-auto-size.html:
- css3/flexbox/columns-center-with-margins-and-wrap-expected.html: Added.
- css3/flexbox/columns-center-with-margins-and-wrap.html: Added.
- css3/flexbox/columns-center-with-margins-expected.html: Added.
- css3/flexbox/columns-center-with-margins.html: Added.
- css3/flexbox/columns-height-set-via-top-bottom-expected.txt:
- css3/flexbox/columns-height-set-via-top-bottom.html:
- css3/flexbox/content-height-with-scrollbars.html:
- css3/flexbox/cross-axis-scrollbar-expected.html:
- css3/flexbox/cross-axis-scrollbar.html:
- css3/flexbox/css-properties-expected.txt:
- css3/flexbox/css-properties.html:
- css3/flexbox/csswg/flex-margin-no-collapse.html:
- css3/flexbox/definite-cross-sizes-expected.txt: Added.
- css3/flexbox/definite-cross-sizes.html: Added.
- css3/flexbox/definite-main-size-expected.txt: Added.
- css3/flexbox/definite-main-size.html: Added.
- css3/flexbox/display-flexbox-set-get-expected.txt:
- css3/flexbox/display-flexbox-set-get.html:
- css3/flexbox/flex-algorithm-expected.txt:
- css3/flexbox/flex-algorithm-min-max-expected.txt:
- css3/flexbox/flex-algorithm-min-max.html:
- css3/flexbox/flex-algorithm-with-margins-expected.txt:
- css3/flexbox/flex-algorithm-with-margins.html:
- css3/flexbox/flex-algorithm.html:
- css3/flexbox/flex-align-baseline-expected.txt:
- css3/flexbox/flex-align-baseline.html:
- css3/flexbox/flex-align-column-expected.txt:
- css3/flexbox/flex-align-column.html:
- css3/flexbox/flex-align-end-expected.txt:
- css3/flexbox/flex-align-end.html:
- css3/flexbox/flex-align-max-expected.txt:
- css3/flexbox/flex-align-max.html:
- css3/flexbox/flex-align-percent-height-expected.txt:
- css3/flexbox/flex-align-percent-height.html:
- css3/flexbox/flex-align-stretch-expected.txt:
- css3/flexbox/flex-align-stretch.html:
- css3/flexbox/flex-align-vertical-writing-mode.html:
- css3/flexbox/flex-align.html:
- css3/flexbox/flex-column-relayout-assert-expected.txt: Added.
- css3/flexbox/flex-column-relayout-assert.html: Added.
- css3/flexbox/flex-factor-less-than-one-expected.txt: Added.
- css3/flexbox/flex-factor-less-than-one.html: Added.
- css3/flexbox/flex-flow-2-expected.txt:
- css3/flexbox/flex-flow-2.html:
- css3/flexbox/flex-flow-auto-margins-expected.txt:
- css3/flexbox/flex-flow-auto-margins-no-available-space-assert-expected.txt: Added.
- css3/flexbox/flex-flow-auto-margins-no-available-space-assert.html: Added.
- css3/flexbox/flex-flow-auto-margins-no-available-space-expected.txt:
- css3/flexbox/flex-flow-auto-margins-no-available-space.html:
- css3/flexbox/flex-flow-auto-margins.html:
- css3/flexbox/flex-flow-border-expected.txt:
- css3/flexbox/flex-flow-border.html:
- css3/flexbox/flex-flow-expected.txt:
- css3/flexbox/flex-flow-initial-expected.txt:
- css3/flexbox/flex-flow-initial.html:
- css3/flexbox/flex-flow-margins-auto-size-expected.txt:
- css3/flexbox/flex-flow-margins-auto-size.html:
- css3/flexbox/flex-flow-margins-expected.txt:
- css3/flexbox/flex-flow-margins.html:
- css3/flexbox/flex-flow-orientations-expected.txt:
- css3/flexbox/flex-flow-orientations.html:
- css3/flexbox/flex-flow-overflow-expected.txt:
- css3/flexbox/flex-flow-overflow.html:
- css3/flexbox/flex-flow-padding-expected.txt:
- css3/flexbox/flex-flow-padding.html:
- css3/flexbox/flex-flow.html:
- css3/flexbox/flex-item-child-overflow-expected.txt:
- css3/flexbox/flex-item-child-overflow.html:
- css3/flexbox/flex-item-contains-strict-expected.txt: Added.
- css3/flexbox/flex-item-contains-strict.html: Added.
- css3/flexbox/flex-item-firstLine-valid-expected.txt:
- css3/flexbox/flex-item-firstLine-valid.html:
- css3/flexbox/flex-justify-content-expected.txt:
- css3/flexbox/flex-justify-content.html:
- css3/flexbox/flex-longhand-parsing-expected.txt:
- css3/flexbox/flex-longhand-parsing.html:
- css3/flexbox/flex-no-flex-expected.txt:
- css3/flexbox/flex-no-flex.html:
- css3/flexbox/flex-one-sets-flex-basis-to-zero-px-expected.txt: Added.
- css3/flexbox/flex-one-sets-flex-basis-to-zero-px.html: Added.
- css3/flexbox/flex-order-expected.html: Added.
- css3/flexbox/flex-order-expected.png: Removed.
- css3/flexbox/flex-order-expected.txt: Removed.
- css3/flexbox/flex-order.html:
- css3/flexbox/flex-property-parsing-expected.txt:
- css3/flexbox/flex-property-parsing.html:
- css3/flexbox/flex-shorthand-flex-basis-middle-expected.txt: Added.
- css3/flexbox/flex-shorthand-flex-basis-middle.html: Added.
- css3/flexbox/flexbox-baseline.html:
- css3/flexbox/flexbox-height-with-overflow-auto-expected.txt: Added.
- css3/flexbox/flexbox-height-with-overflow-auto.html: Added.
- css3/flexbox/flexbox-ignore-container-firstLetter-expected.txt:
- css3/flexbox/flexbox-ignore-container-firstLetter.html:
- css3/flexbox/flexbox-ignore-firstLetter-expected.txt:
- css3/flexbox/flexbox-ignore-firstLetter.html:
- css3/flexbox/flexbox-ignore-firstLine-expected.txt:
- css3/flexbox/flexbox-ignore-firstLine.html:
- css3/flexbox/flexbox-lines-must-be-stretched-by-default-expected.txt:
- css3/flexbox/flexbox-lines-must-be-stretched-by-default.html:
- css3/flexbox/flexbox-overflow-auto-expected.html:
- css3/flexbox/flexbox-overflow-auto.html:
- css3/flexbox/flexbox-with-multi-column-property-expected.html: Added.
- css3/flexbox/flexbox-with-multi-column-property.html: Added.
- css3/flexbox/flexbox-wordwrap-expected.txt: Added.
- css3/flexbox/flexbox-wordwrap.html: Added.
- css3/flexbox/flexitem-expected.txt:
- css3/flexbox/flexitem-no-margin-collapsing-expected.txt:
- css3/flexbox/flexitem-no-margin-collapsing.html:
- css3/flexbox/flexitem-percent-height-change-expected.txt:
- css3/flexbox/flexitem-percent-height-change.html:
- css3/flexbox/flexitem-stretch-image-expected.txt:
- css3/flexbox/flexitem-stretch-image.html:
- css3/flexbox/flexitem-stretch-range.html:
- css3/flexbox/flexitem.html:
- css3/flexbox/floated-flexbox-expected.txt:
- css3/flexbox/floated-flexbox.html:
- css3/flexbox/floated-flexitem.html:
- css3/flexbox/inline-flex-crash.html:
- css3/flexbox/inline-flex-crash2.html:
- css3/flexbox/inline-flex-expected.txt:
- css3/flexbox/inline-flex.html:
- css3/flexbox/inline-flexbox-ignore-firstLine-expected.txt:
- css3/flexbox/inline-flexbox-ignore-firstLine.html:
- css3/flexbox/inline-flexbox-wrap-vertically-width-calculation-expected.txt: Added.
- css3/flexbox/inline-flexbox-wrap-vertically-width-calculation.html: Added.
- css3/flexbox/insert-text-crash.html:
- css3/flexbox/intrinsic-min-width-applies-with-fixed-width-expected.txt:
- css3/flexbox/intrinsic-min-width-applies-with-fixed-width.html:
- css3/flexbox/intrinsic-width-orthogonal-writing-mode-expected.txt: Added.
- css3/flexbox/intrinsic-width-orthogonal-writing-mode.html: Added.
- css3/flexbox/large-flex-shrink-assert-expected.txt: Added.
- css3/flexbox/large-flex-shrink-assert.html: Added.
- css3/flexbox/line-wrapping.html:
- css3/flexbox/mainAxisExtent-crash-expected.txt: Added.
- css3/flexbox/mainAxisExtent-crash.html: Added.
- css3/flexbox/max-width-violation-expected.txt: Added.
- css3/flexbox/max-width-violation.html: Added.
- css3/flexbox/min-size-auto-expected.txt:
- css3/flexbox/min-size-auto.html:
- css3/flexbox/minimum-size-image-expected.txt: Added.
- css3/flexbox/minimum-size-image.html: Added.
- css3/flexbox/multiline-align-content-expected.txt:
- css3/flexbox/multiline-align-content-horizontal-column-expected.txt:
- css3/flexbox/multiline-align-content-horizontal-column.html:
- css3/flexbox/multiline-align-content.html:
- css3/flexbox/multiline-align-self-expected.txt:
- css3/flexbox/multiline-align-self.html:
- css3/flexbox/multiline-column-auto-expected.txt:
- css3/flexbox/multiline-column-auto.html:
- css3/flexbox/multiline-column-overflow-expected.html: Added.
- css3/flexbox/multiline-column-overflow.html: Added.
- css3/flexbox/multiline-expected.txt:
- css3/flexbox/multiline-justify-content-expected.txt:
- css3/flexbox/multiline-justify-content.html:
- css3/flexbox/multiline-min-max-expected.txt: Added.
- css3/flexbox/multiline-min-max.html: Added.
- css3/flexbox/multiline-min-preferred-width-expected.txt:
- css3/flexbox/multiline-min-preferred-width.html:
- css3/flexbox/multiline-reverse-wrap-baseline.html:
- css3/flexbox/multiline-reverse-wrap-overflow-expected.txt:
- css3/flexbox/multiline-reverse-wrap-overflow.html:
- css3/flexbox/multiline-shrink-to-fit-expected.html:
- css3/flexbox/multiline-shrink-to-fit.html:
- css3/flexbox/multiline.html:
- css3/flexbox/negative-flex-rounding-assert.html:
- css3/flexbox/negative-margins-assert.html:
- css3/flexbox/negative-overflow-expected.txt:
- css3/flexbox/negative-overflow.html:
- css3/flexbox/nested-flexbox-min-size-auto-expected.txt: Added.
- css3/flexbox/nested-flexbox-min-size-auto.html: Added.
- css3/flexbox/nested-orthogonal-flexbox-relayout-expected.html: Added.
- css3/flexbox/nested-orthogonal-flexbox-relayout.html: Added.
- css3/flexbox/nested-stretch-expected.txt:
- css3/flexbox/nested-stretch.html:
- css3/flexbox/order-painting.html:
- css3/flexbox/orthogonal-flex-directions-expected.txt:
- css3/flexbox/orthogonal-flex-directions.html:
- css3/flexbox/orthogonal-writing-modes-and-intrinsic-sizing-expected.txt: Added.
- css3/flexbox/orthogonal-writing-modes-and-intrinsic-sizing.html: Added.
- css3/flexbox/overflow-and-padding-expected.txt: Added.
- css3/flexbox/overflow-and-padding.html: Added.
- css3/flexbox/overflow-auto-dynamic-changes-abspos-expected.html: Added.
- css3/flexbox/overflow-auto-dynamic-changes-abspos.html: Added.
- css3/flexbox/overflow-auto-dynamic-changes-expected.html: Added.
- css3/flexbox/overflow-auto-dynamic-changes.html: Added.
- css3/flexbox/overflow-auto-resizes-correctly-expected.txt: Added.
- css3/flexbox/overflow-auto-resizes-correctly.html: Added.
- css3/flexbox/overflow-keep-scrollpos-expected.txt:
- css3/flexbox/overflow-keep-scrollpos.html:
- css3/flexbox/percent-height-children-of-alignSelf-stretch-flex-item-expected.txt: Added.
- css3/flexbox/percent-height-children-of-alignSelf-stretch-flex-item.html: Added.
- css3/flexbox/percent-margins-expected.txt:
- css3/flexbox/percent-margins.html:
- css3/flexbox/percentage-height-in-abspos-expected.html: Added.
- css3/flexbox/percentage-height-in-abspos.html: Added.
- css3/flexbox/percentage-height-replaced-element-expected.txt: Added.
- css3/flexbox/percentage-height-replaced-element.html: Added.
- css3/flexbox/percentage-heights-expected.txt:
- css3/flexbox/percentage-heights.html:
- css3/flexbox/percentage-max-width-cross-axis-expected.txt: Added.
- css3/flexbox/percentage-max-width-cross-axis.html: Added.
- css3/flexbox/percentage-sizes-expected.txt:
- css3/flexbox/percentage-sizes-quirks-expected.txt:
- css3/flexbox/percentage-sizes-quirks.html:
- css3/flexbox/percentage-sizes.html:
- css3/flexbox/percentage-width-in-abspos-expected.html: Added.
- css3/flexbox/percentage-width-in-abspos.html: Added.
- css3/flexbox/perpendicular-writing-modes-inside-flex-item-expected.txt:
- css3/flexbox/perpendicular-writing-modes-inside-flex-item.html:
- css3/flexbox/position-absolute-child-expected.txt:
- css3/flexbox/position-absolute-child.html:
- css3/flexbox/position-absolute-children-expected.txt:
- css3/flexbox/position-absolute-children.html:
- css3/flexbox/preferred-widths-expected.txt:
- css3/flexbox/preferred-widths-orthogonal.html:
- css3/flexbox/preferred-widths.html:
- css3/flexbox/relayout-align-items-expected.txt:
- css3/flexbox/relayout-align-items.html:
- css3/flexbox/relayout-image-load-expected.txt:
- css3/flexbox/relayout-image-load.html:
- css3/flexbox/relpos-with-percentage-top-expected.txt: Added.
- css3/flexbox/relpos-with-percentage-top.html: Added.
- css3/flexbox/relpos-with-scrollable-with-abspos-crash-expected.txt: Added.
- css3/flexbox/relpos-with-scrollable-with-abspos-crash.html: Added.
- css3/flexbox/resize-min-content-flexbox-expected.txt: Added.
- css3/flexbox/resize-min-content-flexbox.html: Added.
- css3/flexbox/resources/box-orient-button.js: Added.
(setFlexDirection):
(gebi):
(test):
- css3/flexbox/scrollbars-auto-expected.html: Added.
- css3/flexbox/scrollbars-auto.html: Added.
- css3/flexbox/scrollbars-expected.html: Added.
- css3/flexbox/scrollbars.html: Added.
- css3/flexbox/shrinking-column-flexbox-expected.txt: Added.
- css3/flexbox/shrinking-column-flexbox.html: Added.
- css3/flexbox/stretch-after-sibling-size-change-expected.txt:
- css3/flexbox/stretch-after-sibling-size-change.html:
- css3/flexbox/stretch-input-in-column-expected.html:
- css3/flexbox/stretch-simplified-layout-expected.txt:
- css3/flexbox/stretch-simplified-layout.html:
- css3/flexbox/stretch-table-child-expected.txt: Added.
- css3/flexbox/stretch-table-child.html: Added.
- css3/flexbox/stretched-child-shrink-on-relayout-expected.txt: Added.
- css3/flexbox/stretched-child-shrink-on-relayout.html: Added.
- css3/flexbox/stretching-orthogonal-flows-expected.html: Added.
- css3/flexbox/stretching-orthogonal-flows.html: Added.
- css3/flexbox/style-change-expected.txt:
- css3/flexbox/style-change.html:
- css3/flexbox/text-overflow-on-flexbox-expected.html: Added.
- css3/flexbox/text-overflow-on-flexbox.html: Added.
- css3/flexbox/true-centering-expected.txt:
- css3/flexbox/true-centering.html:
- css3/flexbox/undefined-min-width-expected.txt: Added.
- css3/flexbox/undefined-min-width.html: Added.
- css3/flexbox/vertical-align-do-not-effect-flex-items-expected.html: Added.
- css3/flexbox/vertical-align-do-not-effect-flex-items.html: Added.
- css3/flexbox/vertical-flexbox-percentage-ignored-expected.html: Added.
- css3/flexbox/vertical-flexbox-percentage-ignored.html: Added.
- css3/flexbox/whitespace-in-flexitem-expected.html: Added.
- css3/flexbox/whitespace-in-flexitem.html: Added.
- css3/flexbox/width-change-and-relayout-children-expected.txt:
- css3/flexbox/width-change-and-relayout-children.html:
- css3/flexbox/wrapping-column-dynamic-changes-expected.txt: Added.
- css3/flexbox/wrapping-column-dynamic-changes.html: Added.
- css3/flexbox/writing-modes-expected.txt:
- css3/flexbox/writing-modes.html:
- css3/flexbox/z-index.html:
- resources/check-layout-th.js: Added.
(checkSubtreeExpectedValues):
(checkAttribute):
(assert_tolerance):
(checkExpectedValues):
(window.checkLayout):
- 7:48 AM Changeset in webkit [213148] by
-
- 1 copy in tags/Safari-603.1.30.4.2
Tag Safari-603.1.30.4.2.
- 2:11 AM Changeset in webkit [213147] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213044 - [TextureMapper] Clean up BitmapTextureGL construction
https://bugs.webkit.org/show_bug.cgi?id=168909
Reviewed by Carlos Garcia Campos.
Have the BitmapTextureGL constructor accept an rvalue reference pointer
to the GraphicsContext3D object. A static create() method is also added
to help with constructing these objects. Construction sites are updated
appropriately.
The BitmapTextureGL constructor is further cleaned up by moving default
member initializations together with the member declarations.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
- platform/graphics/texmap/BitmapTextureGL.cpp:
(WebCore::BitmapTextureGL::BitmapTextureGL):
- platform/graphics/texmap/BitmapTextureGL.h:
- platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::createTexture):
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::createTexture):
- 2:10 AM Changeset in webkit [213146] by
-
- 4 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213043 - [TextureMapper] Remove InterpolationQuality, TextDrawingModeFlags member variables
https://bugs.webkit.org/show_bug.cgi?id=168906
Reviewed by Carlos Garcia Campos.
Remove the InterpolationQuality and TextDrawingModeFlags member variables from the
TextureMapper class. These weren't modified anywhere in the code.
BitmapTexture::updateContents() still sets the image interpolation quality and
drawing mode on the ImageBuffer's GraphicsContext, but now uses the default
InterpolationDefault and TextModeFill values.
- platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::updateContents):
- platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::TextureMapper): Deleted.
(WebCore::TextureMapper::~TextureMapper): Deleted.
- platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::setImageInterpolationQuality): Deleted.
(WebCore::TextureMapper::setTextDrawingMode): Deleted.
(WebCore::TextureMapper::imageInterpolationQuality): Deleted.
(WebCore::TextureMapper::textDrawingMode): Deleted.
- 1:58 AM Changeset in webkit [213145] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16/Source
Merge r213035 - [CoordinatedGraphics] Remove CoordinatedGraphicsScene::paintToGraphicsContext()
https://bugs.webkit.org/show_bug.cgi?id=168903
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Remove the GraphicsContext pointer member from the TextureMapper class
since the getter and setter methods are not used anywhere.
- platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::TextureMapper):
- platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::setGraphicsContext): Deleted.
(WebCore::TextureMapper::graphicsContext): Deleted.
Source/WebKit2:
Remove the CoordinatedGraphicsScene::paintToGraphicsContext() method as it
is not used anywhere. Also enables removing the GraphicsContext pointer
member from the TextureMapper class.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::paintToGraphicsContext): Deleted.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
- 1:53 AM Changeset in webkit [213144] by
-
- 6 edits2 adds in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213009 - Simple line layout: Move coverage functions out of SimpleLineLayout.cpp
https://bugs.webkit.org/show_bug.cgi?id=168872
Reviewed by Simon Fraser.
SimpleLineLayout.cpp is for core functions only.
No change in functionality.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderingAllInOne.cpp:
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
(WebCore::SimpleLineLayout::printReason): Deleted.
(WebCore::SimpleLineLayout::printReasons): Deleted.
(WebCore::SimpleLineLayout::printTextForSubtree): Deleted.
(WebCore::SimpleLineLayout::textLengthForSubtree): Deleted.
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlows): Deleted.
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlowsForCurrentPage): Deleted.
(WebCore::SimpleLineLayout::toggleSimpleLineLayout): Deleted.
(WebCore::SimpleLineLayout::printSimpleLineLayoutBlockList): Deleted.
(WebCore::SimpleLineLayout::printSimpleLineLayoutCoverage): Deleted.
- rendering/SimpleLineLayout.h:
- rendering/SimpleLineLayoutCoverage.cpp: Added.
(WebCore::SimpleLineLayout::printReason):
(WebCore::SimpleLineLayout::printReasons):
(WebCore::SimpleLineLayout::printTextForSubtree):
(WebCore::SimpleLineLayout::textLengthForSubtree):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlows):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlowsForCurrentPage):
(WebCore::SimpleLineLayout::toggleSimpleLineLayout):
(WebCore::SimpleLineLayout::printSimpleLineLayoutBlockList):
(WebCore::SimpleLineLayout::printSimpleLineLayoutCoverage):
- rendering/SimpleLineLayoutCoverage.h: Added.
- 1:48 AM Changeset in webkit [213143] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213008 - Text might wrap when its preferred logical width is used for sizing the containing block.
https://bugs.webkit.org/show_bug.cgi?id=168864
<rdar://problem/30690734>
Reviewed by Antti Koivisto.
Source/WebCore:
In certain cases we end up measuring a text run in 2 different ways.
- preferred width computation -> slow path FontCascade::width()
- line breaking logic -> fast path FontCascade::widthForSimpleText()
FontCascade::width() and ::widthForSimpleText() might return different results for the same run even when
the individual glyph widths are measured to be the same. It's because they run diffrent set of
arithmetics on the float values and for certain values these arithmetics produce different results due to the floating point
precision.
Since RenderText::computePreferredLogicalWidths() currently forces us to use the slow path
(to retrieve fontfallback and glyph overflow information) the only alternative solution is to turn off the fast path
for all runs that have been already measured using the slow path (which would be just wasteful).
Test: fast/text/fast-run-width-vs-slow-run-width.html
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthForSimpleText): Mimics WidthIterator::applyFontTransforms. Use the same set of arithmetics here.
LayoutTests:
- fast/text/fast-run-width-vs-slow-run-width-expected.html: Added.
- fast/text/fast-run-width-vs-slow-run-width.html: Added.
- 1:47 AM Changeset in webkit [213142] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r213005 - [GTK] Unreviewed, document deficiency in webkit_website_data_manager_clear() API
Document that this function cannot currently delete cookie data for a particular period of
time.
- UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
- 1:46 AM Changeset in webkit [213141] by
-
- 7 edits2 adds in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212986 - Simple line layout: Re-adjust paginated lines when block height changes.
https://bugs.webkit.org/show_bug.cgi?id=168838
<rdar://problem/30701233>
Reviewed by Antti Koivisto.
When the estimated block height is wrong, we issue an additional layout on the inline children
so that we get the pagination right (this layout is setChildNeedsLayout(MarkOnlyThis) only).
Since the height change only affects the struts and page breaks (and again, the relayoutChildren flag is false)
we don't need to re-layout the content, but instead we just need to re-adjust the pagination for the simple lines.
This patch also moves the pagination logic to SimpleLineLayoutPagination.cpp.
Not enabled yet.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutSimpleLines):
- rendering/RenderingAllInOne.cpp:
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::Layout::create):
(WebCore::SimpleLineLayout::Layout::Layout):
(WebCore::SimpleLineLayout::computeLineTopAndBottomWithOverflow): Deleted.
(WebCore::SimpleLineLayout::computeLineBreakIndex): Deleted.
(WebCore::SimpleLineLayout::computeOffsetAfterLineBreak): Deleted.
(WebCore::SimpleLineLayout::setPageBreakForLine): Deleted.
(WebCore::SimpleLineLayout::updateMinimumPageHeight): Deleted.
(WebCore::SimpleLineLayout::adjustLinePositionsForPagination): Deleted.
- rendering/SimpleLineLayout.h:
(WebCore::SimpleLineLayout::Layout::setIsPaginated):
(WebCore::SimpleLineLayout::Layout::setLineStruts):
- rendering/SimpleLineLayoutPagination.cpp: Added.
(WebCore::SimpleLineLayout::computeLineTopAndBottomWithOverflow):
(WebCore::SimpleLineLayout::computeLineBreakIndex):
(WebCore::SimpleLineLayout::computeOffsetAfterLineBreak):
(WebCore::SimpleLineLayout::setPageBreakForLine):
(WebCore::SimpleLineLayout::updateMinimumPageHeight):
(WebCore::SimpleLineLayout::adjustLinePositionsForPagination):
- rendering/SimpleLineLayoutPagination.h: Added.
- 1:42 AM Changeset in webkit [213140] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16
Merge r212977 - Non-special relative URLs should not ignore extra slashes
https://bugs.webkit.org/show_bug.cgi?id=168834
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
Special authority ignore slashes state should, as its name implies,
only be reached by special URLs. See https://url.spec.whatwg.org/#relative-slash-state
Covered by newly passing web platform tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
- 1:39 AM Changeset in webkit [213139] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212976 - Build fix for newer clang
https://bugs.webkit.org/show_bug.cgi?id=168849
rdar://problem/30638741
Reviewed by Ryosuke Niwa.
- dom/Range.cpp: (WebCore::Range::toString): std::max(0, <unsigned>) is not meaningful,
and now triggers a warning.
- 1:31 AM Changeset in webkit [213138] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212968 - [GTK] WebkitWebProcess crashes on exit on nvidia if threaded compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=165522
Reviewed by Carlos Garcia Campos.
Before destrying a GLContextGLX we need to set the default framebufer to avoid a bug
in some nvidia drivers. Ensure that we set the context as current before performing
that operation, and set the appropriate current context after doing so.
No new tests.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::~GLContextGLX):
- 1:29 AM Changeset in webkit [213137] by
-
- 11 edits in releases/WebKitGTK/webkit-2.16
Merge r212953 - .. should not remove windows drive letters in paths of file URLs
https://bugs.webkit.org/show_bug.cgi?id=168824
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
It's specified in https://url.spec.whatwg.org/#shorten-a-urls-path and helps behavior for browsers on Windows.
It can't hurt to pass a few more web platform tests, though.
- platform/URLParser.cpp:
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::shouldPopPath):
(WebCore::URLParser::popPath):
(WebCore::URLParser::parse):
- platform/URLParser.h:
LayoutTests:
- fast/url/file-expected.txt:
- fast/url/file-http-base-expected.txt:
- fast/url/relative-win-expected.txt:
- 1:14 AM Changeset in webkit [213136] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212912 - Simple line layout: Adjust RunResolver::lineIndexForHeight with line struts.
https://bugs.webkit.org/show_bug.cgi?id=168783
<rdar://problem/30676449>
Reviewed by Antti Koivisto.
When there's a pagination gap between lines the simple lineIndex = y / lineHeight formula does not work anymore.
This patch takes the line gaps into account by offsetting the y position accordingly.
Not enabled yet.
- rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
- 1:13 AM Changeset in webkit [213135] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r212909 - SpeculativeJIT::compilePutByValForIntTypedArray should only do the constant-folding optimization when the constant passes the type check
https://bugs.webkit.org/show_bug.cgi?id=168787
Reviewed by Michael Saboff and Mark Lam.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
- 1:12 AM Changeset in webkit [213134] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r212908 - Ensure that the end of the last invalidation point does not extend beyond the end of the buffer.
https://bugs.webkit.org/show_bug.cgi?id=168786
Reviewed by Filip Pizlo.
In practice, we will always have multiple instructions after invalidation points,
and have enough room in the JIT buffer for the invalidation point to work with.
However, as a precaution, we can guarantee that there's enough room by always
emitting a label just before we link the buffer. The label will emit nop padding
if needed.
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::linkCode):
- 1:11 AM Changeset in webkit [213133] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r212900 - Unreviewed, fix the cloop build. Needed a #if.
- jit/ExecutableAllocator.cpp:
- 1:10 AM Changeset in webkit [213132] by
-
- 5 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r212891 - [GTK] Crash attempting to load Flash plugin in Wayland
https://bugs.webkit.org/show_bug.cgi?id=163159
Reviewed by Michael Catanzaro.
The problem is that we check if the current diplay is X11 or Wayland also in the plugin process, but with GTK2
plugins the display is always X11. We should early reject plugins requiring GTK2 in the UI process when the
current display is Wayland.
- UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
(WebKit::PluginInfoStore::getPluginInfo):
- UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::createPluginContainer): Add an assert to ensure this message is never received on a
non-X11 display.
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::createPluginContainer): Never send CreatePluginContainer message to the UI process if the
display is not X11.
- 1:09 AM Changeset in webkit [213131] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212889 - [GStreamer] Several layout tests trigger GStreamer-CRITICAL : gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)' failed
https://bugs.webkit.org/show_bug.cgi?id=167016
Reviewed by Xabier Rodriguez-Calvar.
This is because we create AudioSourceProviderGStreamer objects that are never loaded. In the destructor the
AudioSourceProviderGStreamer calls gst_bin_get_by_name() on its m_audioSinkBin that is nullptr. We could simply
check m_audioSinkBin in the destructor, but I think it's better to simply not create
AudioSourceProviderGStreamer for nothing. MediaPlayerPrivateGStreamer should create the AudioSourceProvider on demand.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Do not create the AudioSourceProvider.
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink): Call ensureAudioSourceProvider() before using m_audioSourceProvider.
(WebCore::MediaPlayerPrivateGStreamer::ensureAudioSourceProvider): Create the AudioSourceProvider if needed.
(WebCore::MediaPlayerPrivateGStreamer::audioSourceProvider): Ensure and return the m_audioSourceProvider.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 1:08 AM Changeset in webkit [213130] by
-
- 9 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r212881 - [GTK] Drag and drop is always moving the content even if copy is requested
https://bugs.webkit.org/show_bug.cgi?id=168424
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Drag and drop is always moving the content around even if the copy is
requested (i.e. by pressing the Control key).
Test: editing/pasteboard/drag-drop-copy-content.html
- page/gtk/DragControllerGtk.cpp:
(WebCore::DragController::isCopyKeyDown):
Source/WebKit2:
Drag and drop is always moving the content around even if the copy is
requested (i.e. by pressing the Control key).
- UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::drop):
LayoutTests:
Mark the editing/pasteboard/drag-drop-copy-content.html as failing
as WTR doesn't know how to perform drag and drop in WK2. Also the
test does not pass on the mac WK1, created a bug for it.
- platform/efl/TestExpectations:
- platform/gtk-wayland/TestExpectations:
- platform/gtk/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 1:07 AM Changeset in webkit [213129] by
-
- 15 edits in releases/WebKitGTK/webkit-2.16
Merge r212878 - Better handle Thread and RunLoop initialization
https://bugs.webkit.org/show_bug.cgi?id=167828
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- runtime/InitializeThreading.cpp:
(JSC::initializeThreading): Do not initialize double_conversion, that is already initialized by WTF, and GC
threads that will be initialized by WTF main thread when needed.
Source/WebKit/win:
Remove unnecessary call to WTF::initializeMainThread().
- WebView.cpp:
(WebView::WebView):
Source/WebKit2:
Remove unnecessary call to WTF::initializeMainThread().
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):
Source/WTF:
Make initialization functions more independent so that they can run in different
order. WTF::initializeMainThread initializes WTF threading, so that neither WTF nor JSC theading need to be
initialized before. RunLoop::initializeMainRunLoop() requires main thread to be initialized in some
ports, so it initializes main thread too. WebKit1 always calls WTF::initializeMainThreadToProcessMainThread()
before RunLoop::initializeMainRunLoop() so there's no problem there. GC threads are initialized alwayas by the
main thread. The rules should be simpler now:
- JSC::initializeThreading: should always be called when JSC is used.
- WTF::initializeThreading: only needs to be explicitly called when JSC is not used and process doesn't initialize a main thread or main run loop.
- WTF::initializeMainThread: only needs to be explicitly called if process initializes a main thread but not a main run loop.
- WTF::initializeMainThreadToProcessMainThread(): should always be called in WebKit1 before RunLoop::initializeMainRunLoop().
- RunLoop::initializeMainRunLoop(): to initialize the main run loop. The only requirement is JSC::initializeThreading() to be called before if JSC is used.
- wtf/MainThread.cpp:
(WTF::initializeMainThreadOnce): Use pthread_once to initialize the main thread also in GTK+ port.
(WTF::initializeMainThreadToProcessMainThreadOnce): Call initializeThreading() before the platform
initialization and initializeGCThreads() after it.
(WTF::initializeMainThread): Ditto.
- wtf/RunLoop.cpp:
(WTF::RunLoop::initializeMainRunLoop): Call initializeMainThread().
- wtf/glib/MainThreadGLib.cpp:
(WTF::initializeMainThreadPlatform):
(WTF::isMainThread):
- wtf/mac/MainThreadMac.mm:
(WTF::initializeMainThreadPlatform): Remove call to initializeGCThreads().
(WTF::initializeMainThreadToProcessMainThreadPlatform): Ditto.
Tools:
Remove unnecessary calls to WTF::initializeMainThread().
- TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
- 1:05 AM Changeset in webkit [213128] by
-
- 8 edits1 delete in releases/WebKitGTK/webkit-2.16/Source
Merge r212867 - Remove the demand executable allocator
https://bugs.webkit.org/show_bug.cgi?id=168754
Reviewed by Saam Barati.
Source/JavaScriptCore:
We currently only use the demand executable allocator for non-iOS 32-bit platforms.
Benchmark results on a MBP indicate there is no appreciable performance difference
between a the fixed and demand allocators. In a future patch I will go back through
this code and remove more of the abstractions.
- JavaScriptCore.xcodeproj/project.pbxproj:
- jit/ExecutableAllocator.cpp:
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
(JSC::FixedVMPoolExecutableAllocator::initializeSeparatedWXHeaps):
(JSC::FixedVMPoolExecutableAllocator::jitWriteThunkGenerator):
(JSC::FixedVMPoolExecutableAllocator::genericWriteToJITRegion):
(JSC::ExecutableAllocator::initializeAllocator):
(JSC::ExecutableAllocator::ExecutableAllocator):
(JSC::FixedVMPoolExecutableAllocator::~FixedVMPoolExecutableAllocator):
(JSC::ExecutableAllocator::isValid):
(JSC::ExecutableAllocator::underMemoryPressure):
(JSC::ExecutableAllocator::memoryPressureMultiplier):
(JSC::ExecutableAllocator::allocate):
(JSC::ExecutableAllocator::isValidExecutableMemory):
(JSC::ExecutableAllocator::getLock):
(JSC::ExecutableAllocator::committedByteCount):
(JSC::ExecutableAllocator::dumpProfile):
(JSC::DemandExecutableAllocator::DemandExecutableAllocator): Deleted.
(JSC::DemandExecutableAllocator::~DemandExecutableAllocator): Deleted.
(JSC::DemandExecutableAllocator::bytesAllocatedByAllAllocators): Deleted.
(JSC::DemandExecutableAllocator::bytesCommittedByAllocactors): Deleted.
(JSC::DemandExecutableAllocator::dumpProfileFromAllAllocators): Deleted.
(JSC::DemandExecutableAllocator::allocateNewSpace): Deleted.
(JSC::DemandExecutableAllocator::notifyNeedPage): Deleted.
(JSC::DemandExecutableAllocator::notifyPageIsFree): Deleted.
(JSC::DemandExecutableAllocator::allocators): Deleted.
(JSC::DemandExecutableAllocator::allocatorsMutex): Deleted.
- jit/ExecutableAllocator.h:
- jit/ExecutableAllocatorFixedVMPool.cpp: Removed.
- jit/JITStubRoutine.h:
(JSC::JITStubRoutine::canPerformRangeFilter):
(JSC::JITStubRoutine::filteringStartAddress):
(JSC::JITStubRoutine::filteringExtentSize):
Source/WTF:
- wtf/Platform.h:
- 1:01 AM Changeset in webkit [213127] by
-
- 2 edits in trunk/Source/WebKit2
Remove EFL leftover from WebPageProxy.messages.in
https://bugs.webkit.org/show_bug.cgi?id=168828
Reviewed by Gyuyoung Kim.
- UIProcess/WebPageProxy.messages.in:
- 12:30 AM Changeset in webkit [213126] by
-
- 8 edits3 adds in trunk
Main resource requests need cachePartition
https://bugs.webkit.org/show_bug.cgi?id=168806
Source/WebCore:
<rdar://30639764>
Reviewed by Brady Eidson.
Test: http/tests/security/credentials-main-resource.html
r211751 caused an unintended regression on pages whose main resource is protected
by basic authentication. We were not setting the cache partition for main resource
requests, and we use the cache partition now for credentials, so the credentials for
the main resource were not being put into a partition in the CredentialStorage that
would not be used for subresources of the page, whose requests had the correct partition
for the domain of the page. This caused users to have to enter their credentials twice,
once for the main resource and once for any subresources. This is fixed by using the
domain from the main resource request as the cache partition. Elsewhere the Document is
used to get the cache partition, but there is no Document yet when requesting the main resource.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
Set the cache partition for the main resource loads based on the SecurityOrigin of the
initial request if we are loading the main resource for a new top document. If the main resource
request is redirected, then we will still use the partition of the initial request because that is
what the user requested and that is where the user entered the credentials.
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::setDomainForCachePartition):
- loader/cache/CachedResourceRequest.h:
Source/WebKit2:
Reviewed by Brady Eidson.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueWillSendRequest):
LayoutTests:
Reviewed by Brady Eidson.
- http/tests/security/credentials-main-resource-expected.txt: Added.
- http/tests/security/credentials-main-resource.html: Added.
- http/tests/security/resources/credentials-main-resource.php: Added.
- 12:28 AM Changeset in webkit [213125] by
-
- 7 edits in trunk
REGRESSION: LayoutTest http/tests/security/credentials-iframes.html is failing on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=167967
Reviewed by Brady Eidson.
Source/WebCore:
XHR credentials have a persistence of CredentialPersistenceNone because we keep
them in the WebCore::CredentialStorage. We were storing them to CFNetwork's NSURLCredentialStorage
on iOS and then they were being given as the proposedCredential in
NetworkDataTaskCocoa::tryPasswordBasedAuthentication even though we set CredentialPersistenceNone.
This fixes http/tests/security/credentials-iframes.html
- platform/network/CredentialStorage.cpp:
(WebCore::CredentialStorage::set):
- platform/network/CredentialStorage.h:
- platform/network/cf/CredentialStorageCFNet.cpp:
(WebCore::CredentialStorage::saveToPersistentStorage): Deleted.
- platform/network/mac/CredentialStorageMac.mm:
(WebCore::CredentialStorage::saveToPersistentStorage): Deleted.
LayoutTests:
- platform/ios-simulator/TestExpectations:
Feb 27, 2017:
- 11:39 PM Changeset in webkit [213124] by
-
- 2 edits in trunk/Source/WebCore
Fix WinCairo build.
- PlatformWinCairo.cmake:
- 11:11 PM Changeset in webkit [213123] by
-
- 13 edits in trunk
Begin enabling WebRTC on 64-bit
https://bugs.webkit.org/show_bug.cgi?id=168915
Reviewed by Eric Carlson.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Tools:
- Scripts/build-webkit:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 9:01 PM Changeset in webkit [213122] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Fix tests after r213119 and r213120.
- browser-tests/time-series-chart-tests.js:
(return.ChartTest.importChartScripts.context.then):
(string_appeared_here.then): Deleted.
- 9:00 PM Changeset in webkit [213121] by
-
- 1 edit1 add in trunk/Websites/webkit.org
Add css-status page on webkit.org
https://bugs.webkit.org/show_bug.cgi?id=168921
Reviewed by Sam Weinig.
Add a page that shows the status of CSS properties and values, scraped from Source/WebCore/css/CSSProperties.json.
This is modeled after the feature status page. Properties can be filtered by status
and the spec they belong to.
- wp-content/themes/webkit/css-status.php: Added.
- 8:52 PM Changeset in webkit [213120] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Removed the unused code that was supposed to be removed in the previous commit.
- browser-tests/time-series-chart-tests.js:
- 8:48 PM Changeset in webkit [213119] by
-
- 4 edits1 add in trunk/Websites/perf.webkit.org
Split tests for InteractiveTimeSeriesChart into a separate test file.
https://bugs.webkit.org/show_bug.cgi?id=168960
Reviewed by Joseph Pecoraro.
Extracted the test cases for InteractiveTimeSeriesChart charts from time-series-chart-tests.js
into interactive-time-series-chart-tests.js now that the former file has gotten really big over time.
Also extracted a bunch of helper functions time-series-chart-tests.js as ChartTest in index.html.
Any test which instantiates a time series chart can use this helper class.
- browser-tests/index.html:
(ChartTest.importChartScripts): Ditto.
(ChartTest.posixTime): Moved from time-series-chart-tests.js.
(ChartTest.sampleCluster): Ditto.
(ChartTest.createChartWithSampleCluster): Ditto.
(ChartTest.createInteractiveChartWithSampleCluster): Ditto.
(ChartTest.respondWithSampleCluster):
- browser-tests/interactive-time-series-chart-tests.js: Extracted from time-series-chart-tests.js.
- browser-tests/time-series-chart-tests.js:
(posixTime): Moved.
(dayInMilliseconds): Moved.
(sampleCluster): Moved.
(createChartWithSampleCluster): Moved.
(createInteractiveChartWithSampleCluster): Moved.
(respondWithSampleCluster): Moved.
- unit-tests/analysis-task-tests.js: Fixed a typo. s/adopter/adapter/.
- 8:47 PM Changeset in webkit [213118] by
-
- 2 edits1 delete in trunk/Source/WebKit2
Remove _WKWebsiteDataRecord.h
https://bugs.webkit.org/show_bug.cgi?id=168954
Reviewed by Dan Bernstein.
This doesn't seem to have ever been used, so better to remove it than to add an
implementation.
- UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: Removed.
- WebKit2.xcodeproj/project.pbxproj:
- 8:07 PM Changeset in webkit [213117] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Calling build() on a baseline point results in an exception
https://bugs.webkit.org/show_bug.cgi?id=168959
Reviewed by Joseph Pecoraro.
Some baseline points may lack the build information. e.g. A custom data point made by an user.
Only instantiate Build object in a point object returned by MeasurementAdaptor when the builder id
is available so that we don't hit an assertion inside Build's constructor.
- public/v3/models/measurement-adaptor.js:
(MeasurementAdaptor.prototype.applyTo..build): Only instantiate Build when builderId is set.
- unit-tests/measurement-adaptor-tests.js: Added a test case.
- 7:30 PM Changeset in webkit [213116] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Arrow key shouldn't move the indicator beyond the visible points
https://bugs.webkit.org/show_bug.cgi?id=168956
Reviewed by Joseph Pecoraro.
The bug was caused by moveLockedIndicatorWithNotification using the full sampled time series view
instead of the one constrained by the domain. Since the time series chart expands the visible domain
to include at least one point before the start time and one point after the end tiem to draw lines
extending beyond the visible region (otherwise it looks as though the graph ends there), we need to
use a view constrained by the start time and the end time before looking for a next/previous point.
- browser-tests/time-series-chart-tests.js: Added test cases for moveLockedIndicatorWithNotification.
- public/v3/components/interactive-time-series-chart.js:
(InteractiveTimeSeriesChart.prototype.moveLockedIndicatorWithNotification): Fixed the bug. Also
enqueue itself to render instead of relying on a parent component to do it.
- 7:24 PM Changeset in webkit [213115] by
-
- 15 edits8 deletes in trunk
[Modern Media Controls] Use compact mode by default on macOS
https://bugs.webkit.org/show_bug.cgi?id=168958
<rdar://problem/30748638>
Reviewed by Jon Lee.
Source/WebCore:
We now use the compact layout mode by default on macOS.
- Modules/modern-media-controls/controls/layout-item.js: Remove the ReducedPadding trait.
- Modules/modern-media-controls/controls/macos-compact-inline-media-controls.css:
(.media-controls.mac.inline.compact .time-label,): Vertically align the time label with
the scrubber in compact mode.
(.media-controls.mac.inline.compact .scrubber.slider): Correctly position the scrubber in
compact mode so that it's vertically aligned.
- Modules/modern-media-controls/controls/macos-inline-media-controls.js:
(MacOSInlineMediaControls.prototype.layoutTraitsDidChange): Remove handling of tight and
reduced padding traits since these do not apply to macOS anymore. We also notify the
scrubber of a layout trait change so that it may adjust its height.
- Modules/modern-media-controls/controls/scrubber.js:
(Scrubber):
(Scrubber.prototype.layoutTraitsDidChange): Adjust the height of the scrubber to match
compact layout traits.
- Modules/modern-media-controls/controls/time-control.js:
(TimeControl.prototype.get isSufficientlyWide): Adjust the minimum scrubber width for
TimeControl visibility to match compact layout traits.
- Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype.get layoutTraits): Use the compact layout trait by default
on macOS and make the tight padding specific to iOS.
LayoutTests:
Rebaseline tests to account for compact mode being the default mode for macOS
and remove tests that would check dynamically applying compact mode at some
threshold and the reduced padding mode.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact-expected.txt:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact.html:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-reduced-padding-expected.txt: Removed.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-reduced-padding.html: Removed.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-tight-padding-expected.txt: Removed.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-tight-padding.html: Removed.
- media/modern-media-controls/media-controller/media-controller-compact.html:
- media/modern-media-controls/media-controller/media-controller-fullscreen-change-expected.txt:
- media/modern-media-controls/media-controller/media-controller-fullscreen-change.html:
- media/modern-media-controls/media-controller/media-controller-reduced-padding-expected.txt: Removed.
- media/modern-media-controls/media-controller/media-controller-reduced-padding.html: Removed.
- media/modern-media-controls/media-controller/media-controller-toggle-compact-mode-expected.txt: Removed.
- media/modern-media-controls/media-controller/media-controller-toggle-compact-mode.html: Removed.
- platform/mac/TestExpectations:
- 6:24 PM Changeset in webkit [213114] by
-
- 3 edits in trunk/Tools
Windows regression: webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_jsc[_debug]
https://bugs.webkit.org/show_bug.cgi?id=168628
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2017-02-27
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/tool/steps/runtests.py:
(RunTests._run_javascriptcore_tests): Pass options to the Base instance.
- Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest._step_options): Add a new 'root' option that's passed through to the Base instance.
(test_runtests_jsc): Not running webkit-build-directory anymore, and changed json output directory.
(test_runtests_jsc_debug): Ditto
- 6:18 PM Changeset in webkit [213113] by
-
- 5 edits2 adds in trunk
[Modern Media Controls] Adhere to tight padding on iOS
https://bugs.webkit.org/show_bug.cgi?id=168949
<rdar://problem/30746164>
Reviewed by Jon Lee.
Source/WebCore:
We used to only support custom margins on macOS, to support this on iOS as
well, we promote the notification when the layoutTraits property is set to
MediaControls and expose a new protected method layoutTraitsDidChange() for
subclasses to implement. IOSInlineMediaControls now implements that method
and will use tighter margins for the TightPadding layout trait.
Test: media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding.html
- Modules/modern-media-controls/controls/ios-inline-media-controls.js:
(IOSInlineMediaControls.prototype.layoutTraitsDidChange):
(IOSInlineMediaControls):
- Modules/modern-media-controls/controls/macos-inline-media-controls.js:
(MacOSInlineMediaControls.prototype.get layoutTraits): Deleted.
(MacOSInlineMediaControls.prototype.set layoutTraits): Deleted.
(MacOSInlineMediaControls.prototype._matchLayoutTraits): Deleted.
- Modules/modern-media-controls/controls/media-controls.js:
(MediaControls.prototype.get layoutTraits):
(MediaControls.prototype.set layoutTraits):
(MediaControls.prototype.layoutTraitsDidChange):
LayoutTests:
Adding a new test for the TightPadding layout trait on iOS.
- media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding-expected.txt: Added.
- media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding.html: Added.
- 6:08 PM Changeset in webkit [213112] by
-
- 2 edits in trunk/Source/WebKit2
WKPageIsPlayingVideoInEnhancedFullscreen availability mismatch
https://bugs.webkit.org/show_bug.cgi?id=168952
Reviewed by Dan Bernstein.
- UIProcess/API/C/mac/WKPagePrivateMac.h: TARGET_OS_MAC is not the right thing to
check, as it's true on both macOS and iOS.
- 6:06 PM Changeset in webkit [213111] by
-
- 2 edits in trunk/Source/WebKit2
Export WKPluginInformationBundleShortVersionKey
https://bugs.webkit.org/show_bug.cgi?id=168951
Reviewed by Dan Bernstein.
- Shared/API/c/WKPluginInformation.h: It was accidentally not exported when added.
- 5:42 PM Changeset in webkit [213110] by
-
- 1 copy in tags/Safari-603.1.30.0.31
Tag Safari-603.1.30.0.31.
- 5:36 PM Changeset in webkit [213109] by
-
- 2 edits in trunk/LayoutTests
Mark compositing/video/video-poster.html as flaky on macOS release.
https://bugs.webkit.org/show_bug.cgi?id=168953
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 5:34 PM Changeset in webkit [213108] by
-
- 17 edits11 adds1 delete in trunk/Source
[WebRTC] Support modern RTCStatsReport
https://bugs.webkit.org/show_bug.cgi?id=166916
<rdar://problem/30293780>
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-27
Reviewed by Alex Christensen.
Updating binding generator and IDL parser to handle maplike.
Covered by binding tests.
Added support for maplike binding from JS wrapper to DOM class.
The principle is to have the JSXX wrapper having a @backingMap slot containing a Map.
All maplike methods are forwarded to the corresponding Map methods.
The XX object is responsible to add key/value pairs using a helper routine.
The creation of the Map is done at creation of the JSXX wrapper.
DOM class is interacting with the map through DOMMapLike.
Extracted DOMGuarded from DOM promise implementation.
This allows reusing this code for DOMMapLike.
Covered by binding tests and manual tests.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/mediastream/RTCStatsReport.h:
(WebCore::RTCStatsReport::InboundRTPStreamStats::InboundRTPStreamStats):
(WebCore::RTCStatsReport::OutboundRTPStreamStats::OutboundRTPStreamStats):
(WebCore::RTCStatsReport::create):
(WebCore::RTCStatsReport::synchronizeBackingMap):
(WebCore::RTCStatsReport::backingMap):
(WebCore::RTCStatsReport::addStats):
- Modules/mediastream/RTCStatsReport.idl:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::fromStdString):
(WebCore::fillRTCStats):
(WebCore::fillRTCRTPStreamStats):
(WebCore::fillInboundRTPStreamStats):
(WebCore::fillOutboundRTPStreamStats):
(WebCore::LibWebRTCMediaEndpoint::StatsCollector::OnStatsDelivered):
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMBindingInternals.js: Added.
(mapLikeForEach):
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildren):
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMGuardedObject.cpp: Added.
(WebCore::DOMGuardedObject::DOMGuardedObject):
(WebCore::DOMGuardedObject::~DOMGuardedObject):
(WebCore::DOMGuardedObject::clear):
(WebCore::DOMGuardedObject::contextDestroyed):
- bindings/js/JSDOMGuardedObject.h: Added.
(WebCore::DOMGuardedObject::isSuspended):
(WebCore::DOMGuardedObject::visitAggregate):
(WebCore::DOMGuardedObject::guardedObject):
(WebCore::DOMGuardedObject::globalObject):
(WebCore::DOMGuardedObject::isEmpty):
(WebCore::DOMGuarded::DOMGuarded):
(WebCore::DOMGuarded::guarded):
- bindings/js/JSDOMMapLike.cpp: Added.
(WebCore::getBackingMap):
(WebCore::initializeBackingMap):
(WebCore::createBackingMap):
(WebCore::forwardAttributeGetterToBackingMap):
(WebCore::forwardFunctionCallToBackingMap):
(WebCore::forwardForEachCallToBackingMap):
- bindings/js/JSDOMMapLike.h: Added.
(WebCore::DOMMapLike::set):
(WebCore::synchronizeBackingMap):
(WebCore::forwardSizeToMapLike):
(WebCore::forwardEntriesToMapLike):
(WebCore::forwardKeysToMapLike):
(WebCore::forwardValuesToMapLike):
(WebCore::forwardClearToMapLike):
(WebCore::forwardForEachToMapLike):
(WebCore::forwardHasToMapLike):
(WebCore::forwardAddToMapLike):
(WebCore::forwardDeleteToMapLike):
- bindings/js/JSDOMPromise.cpp:
(WebCore::DeferredPromise::promise):
(WebCore::DeferredPromise::reject):
- bindings/js/JSDOMPromise.h:
(WebCore::DeferredPromise::resolve):
(WebCore::DeferredPromise::resolveWithNewlyCreated):
(WebCore::DeferredPromise::reject):
(WebCore::DeferredPromise::resolveWithCallback):
(WebCore::DeferredPromise::rejectWithCallback):
(WebCore::DeferredPromise::DeferredPromise):
(WebCore::DeferredPromise::deferred):
- bindings/js/WebCoreBuiltinNames.h:
- bindings/scripts/CodeGeneratorJS.pm:
(PrototypeFunctionCount):
(GeneratePropertiesHashTable):
(InterfaceNeedsIterator):
(GenerateImplementation):
(GenerateParametersCheck):
- bindings/scripts/IDLParser.pm:
(assert):
(parseAttributeOrOperationOrIterator):
(parseSerializer):
(parseAttributeOrOperationRest):
(parseAttribute):
(parseAttributeRest):
(parseOperationOrIterator):
(parseOptionalIterableInterface):
(parseMapLikeRest):
(parseMapLikeProperties):
(parseOperationRest):
(applyMemberList):
- bindings/scripts/test/JS/JSMapLike.cpp: Added.
- bindings/scripts/test/JS/JSMapLike.h: Added.
- bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: Added.
- bindings/scripts/test/JS/JSReadOnlyMapLike.h: Added.
- bindings/scripts/test/TestMapLike.idl: Added.
- bindings/scripts/test/TestReadOnlyMapLike.idl: Added.
- 5:20 PM Changeset in webkit [213107] by
-
- 41 edits2 copies in trunk/Source
Introduce a VM Traps mechanism and refactor Watchdog to use it.
https://bugs.webkit.org/show_bug.cgi?id=168842
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Currently, the traps mechanism is only used for the JSC watchdog, and for
asynchronous termination requests (which is currently only used for worker
threads termination).
This first cut of the traps mechanism still relies on polling from DFG and FTL
code. This is done to keep the patch as small as possible. The work to do
a non-polling version of the traps mechanism for DFG and FTL code is deferred to
another patch.
In this patch, worker threads still need to set the VM::m_needAsynchronousTerminationSupport
flag to enable the traps polling in the DFG and FTL code. When we have the
non-polling version of the DFG and FTL traps mechanism, we can remove the use of
the VM::m_needAsynchronousTerminationSupport flag.
Note: this patch also separates asynchronous termination support from the JSC
watchdog. This separation allows us to significantly simplify the locking
requirements in the watchdog code, and make it easier to reason about its
correctness.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitLoopHint):
(JSC::BytecodeGenerator::emitCheckTraps):
(JSC::BytecodeGenerator::emitWatchdog): Deleted.
- bytecompiler/BytecodeGenerator.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCheckTraps):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckWatchdogTimer): Deleted.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_check_traps):
(JSC::JIT::emitSlow_op_check_traps):
(JSC::JIT::emit_op_watchdog): Deleted.
(JSC::JIT::emitSlow_op_watchdog): Deleted.
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/VM.cpp:
(JSC::VM::~VM):
(JSC::VM::ensureWatchdog):
(JSC::VM::handleTraps):
- runtime/VM.h:
(JSC::VM::ownerThread):
(JSC::VM::needTrapHandling):
(JSC::VM::needTrapHandlingAddress):
(JSC::VM::notifyNeedTermination):
(JSC::VM::notifyNeedWatchdogCheck):
(JSC::VM::needAsynchronousTerminationSupport):
(JSC::VM::setNeedAsynchronousTerminationSupport):
- runtime/VMInlines.h:
(JSC::VM::shouldTriggerTermination): Deleted.
- runtime/VMTraps.cpp: Added.
(JSC::VMTraps::fireTrap):
(JSC::VMTraps::takeTrap):
- runtime/VMTraps.h: Added.
(JSC::VMTraps::needTrapHandling):
(JSC::VMTraps::needTrapHandlingAddress):
(JSC::VMTraps::hasTrapForEvent):
(JSC::VMTraps::setTrapForEvent):
(JSC::VMTraps::clearTrapForEvent):
- runtime/Watchdog.cpp:
(JSC::Watchdog::Watchdog):
(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::shouldTerminate):
(JSC::Watchdog::enteredVM):
(JSC::Watchdog::exitedVM):
(JSC::Watchdog::startTimer):
(JSC::Watchdog::stopTimer):
(JSC::Watchdog::willDestroyVM):
(JSC::Watchdog::terminateSoon): Deleted.
(JSC::Watchdog::shouldTerminateSlow): Deleted.
- runtime/Watchdog.h:
(JSC::Watchdog::shouldTerminate): Deleted.
(JSC::Watchdog::timerDidFireAddress): Deleted.
Source/WebCore:
No new tests needed because this is a re-implementation of existing functionality.
- bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::WorkerScriptController):
(WebCore::WorkerScriptController::scheduleExecutionTermination):
- 5:20 PM Changeset in webkit [213106] by
-
- 2 edits in trunk/LayoutTests
[Modern Media Controls] Use a solid background for <audio> controls on macOS
https://bugs.webkit.org/show_bug.cgi?id=168941
<rdar://problem/30744316>
Unreviewed test gardening.
Skipping a macOS-specific test on iOS.
Patch by Antoine Quint <Antoine Quint> on 2017-02-27
- platform/ios-simulator/TestExpectations:
- 5:13 PM Changeset in webkit [213105] by
-
- 3 edits1 move in trunk/Source/WebCore
[Cocoa] Rename FileMac.mm to FileCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=168947
Reviewed by Zalan Bujtas.
- PlatformMac.cmake:
- WebCore.xcodeproj/project.pbxproj:
- fileapi/FileCocoa.mm: Renamed from Source/WebCore/fileapi/FileMac.mm.
- 5:10 PM Changeset in webkit [213104] by
-
- 16 edits1 add in trunk
[WebRTC] Add support for libwebrtc TCP incoming connections
https://bugs.webkit.org/show_bug.cgi?id=168748
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-27
Reviewed by Alex Christensen.
Source/WebKit2:
Covered by added layout tests.
When a libwebrtc server socket is signalling a new connnection through SignalNewConnection, we do:
- Wrap the incoming socket into a LibWebRTCSocketClient
- Store it into a pending socket map with an identifier
- Send a message to the web process of a new connection with the server socket identifier and new connection socket identifier.
The Web process then creates a WebRTCSocket wrapper around it by sendinig a WrapNewTCPConnection message.
It then propagates the SignalNewConnection to libwebrtc code path.
- NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:
(WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient):
(WebKit::LibWebRTCSocketClient::signalReadPacket):
(WebKit::LibWebRTCSocketClient::signalSentPacket):
(WebKit::LibWebRTCSocketClient::signalNewConnection):
(WebKit::LibWebRTCSocketClient::signalAddressReady):
(WebKit::LibWebRTCSocketClient::signalConnect):
(WebKit::LibWebRTCSocketClient::signalClose):
- NetworkProcess/webrtc/LibWebRTCSocketClient.h:
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::wrapNewTCPConnection):
(WebKit::NetworkRTCProvider::newConnection):
- NetworkProcess/webrtc/NetworkRTCProvider.h:
- NetworkProcess/webrtc/NetworkRTCProvider.messages.in:
- WebProcess/Network/webrtc/LibWebRTCSocket.cpp:
(WebKit::LibWebRTCSocket::signalNewConnection):
- WebProcess/Network/webrtc/LibWebRTCSocket.h:
- WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:
(WebKit::LibWebRTCSocketFactory::createNewConnectionSocket):
- WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:
- WebProcess/Network/webrtc/WebRTCSocket.cpp:
(WebKit::WebRTCSocket::signalNewConnection):
- WebProcess/Network/webrtc/WebRTCSocket.h:
- WebProcess/Network/webrtc/WebRTCSocket.messages.in:
LayoutTests:
- webrtc/datachannel/basic-expected.txt: Added.
- webrtc/datachannel/basic.html:
- webrtc/routines.js:
(createConnections):
(iceCallback1):
(iceCallback2):
- 5:03 PM Changeset in webkit [213103] by
-
- 2 edits in trunk/LayoutTests
Mark fast/dom/timer-throttling-hidden-page.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168927
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:59 PM Changeset in webkit [213102] by
-
- 2 edits in trunk/LayoutTests
Mark media/modern-media-controls/rewind-button/rewind-button.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167352
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:37 PM Changeset in webkit [213101] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] Don't use undefined sandbox rule on macOS 10.11 or earlier
https://bugs.webkit.org/show_bug.cgi?id=168942
<rdar://problem/30743376>
Reviewed by Ryosuke Niwa.
- WebProcess/com.apple.WebProcess.sb.in:
- 4:13 PM Changeset in webkit [213100] by
-
- 6 edits in trunk
[iOS] Enable file replacement
https://bugs.webkit.org/show_bug.cgi?id=168907
<rdar://problem/22258242>
Reviewed by David Kilzer.
Source/WebCore:
Covered by existing tests.
- fileapi/FileMac.mm:
(WebCore::File::shouldReplaceFile): Stop using Carbon and AppKit API for determining if a
file path is a file package. Use NSURL and CoreServices instead, which exist on Mac and iOS.
Source/WTF:
- wtf/FeatureDefines.h: Set ENABLE_FILE_REPLACEMENT to 1 on all Cocoa platforms.
LayoutTests:
- platform/ios-simulator/TestExpectations: Un-skipped file replacement tests on iOS.
- 4:01 PM Changeset in webkit [213099] by
-
- 3 edits2 adds in trunk
[Modern Media Controls] Use a solid background for <audio> controls on macOS
https://bugs.webkit.org/show_bug.cgi?id=168941
<rdar://problem/30744316>
Patch by Antoine Quint <Antoine Quint> on 2017-02-27
Reviewed by Dean Jackson.
Source/WebCore:
Use a solid background for <audio> elements on macOS, the same way we do on iOS.
Test: media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-audio-background.html
- Modules/modern-media-controls/controls/macos-media-controls.css:
(:host(audio) .media-controls.mac.inline > .controls-bar):
(:host(audio) .media-controls.mac.inline > .controls-bar > .background-tint):
LayoutTests:
Add a new test that checks that we use a solid background fill for <audio> on macOS.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-audio-background-expected.txt: Added.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-audio-background.html: Added.
- 3:33 PM Changeset in webkit [213098] by
-
- 7 edits4 adds in trunk
[Modern Media Controls] StatusLabel should use similar properties to TimeLabel
https://bugs.webkit.org/show_bug.cgi?id=168938
<rdar://problem/30743185>
Patch by Antoine Quint <Antoine Quint> on 2017-02-27
Reviewed by Dean Jackson.
Source/WebCore:
Ensure we use the same styling properties for StatusLabel and TimeLabel.
Tests: media/modern-media-controls/status-label/status-label-ios.html
media/modern-media-controls/status-label/status-label-macos.html
- Modules/modern-media-controls/controls/ios-inline-media-controls.css:
(.media-controls.ios.inline .time-label,):
(.media-controls.ios.inline .time-label): Deleted.
- Modules/modern-media-controls/controls/macos-media-controls.css:
(.media-controls.mac > .controls-bar .time-label,):
(.media-controls.mac > .controls-bar .time-label): Deleted.
- Modules/modern-media-controls/controls/status-label.css:
(.status-label):
LayoutTests:
We add new tests to ensure we test all the various styles that can be applied
to a StatusLabel.
- media/modern-media-controls/status-label/status-label-expected.txt:
- media/modern-media-controls/status-label/status-label-ios-expected.txt: Added.
- media/modern-media-controls/status-label/status-label-ios.html: Added.
- media/modern-media-controls/status-label/status-label-macos-expected.txt: Added.
- media/modern-media-controls/status-label/status-label-macos.html: Added.
- media/modern-media-controls/status-label/status-label.html:
- 3:07 PM Changeset in webkit [213097] by
-
- 3 edits in trunk/Tools
Add machine-readable results for bindings tests
https://bugs.webkit.org/show_bug.cgi?id=168626
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2017-02-27
Reviewed by Alexey Proskuryakov.
- Scripts/run-bindings-tests:
(main): Add optional --json-output command-line parameter.
- Scripts/webkitpy/bindings/main.py:
(BindingsTests.init): Add variables to store machine-readable results.
(BindingsTests.detect_changes): Store results in machine-readable form if applicable.
(BindingsTests.main): Write data to JSON file if applicable.
- 2:54 PM Changeset in webkit [213096] by
-
- 5 edits in trunk/Source/WebKit
Enable SUPPORTS_TEXT_BASED_API in WebKitLegacy for iOS
https://bugs.webkit.org/show_bug.cgi?id=168919
Reviewed by Tim Horton.
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj: Run scripts which are run for installhdrs phase for installapi phase as well.
Source/WebKit/mac:
- Configurations/WebKitLegacy.xcconfig: Enable SUPPORTS_TEXT_BASED_API.
- migrate-headers.sh: Run the migrate-headers script for installapi phase.
- 2:44 PM Changeset in webkit [213095] by
-
- 9 edits in trunk/Source
Rename ICU cursor iterator to caret iterator
https://bugs.webkit.org/show_bug.cgi?id=168206
Reviewed by Simon Fraser.
Source/WebCore:
Mechanical find/replace.
No new tests because there is no behavior change.
- platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::offsetForPosition):
- rendering/RenderText.cpp:
(WebCore::RenderText::previousOffset):
(WebCore::RenderText::nextOffset):
Source/WTF:
- wtf/text/TextBreakIterator.cpp:
(WTF::mapModeToBackingIterator):
- wtf/text/TextBreakIterator.h:
- wtf/text/cf/TextBreakIteratorCF.h:
(WTF::TextBreakIteratorCF::TextBreakIteratorCF):
- wtf/text/icu/TextBreakIteratorICU.h:
(WTF::caretRules):
(WTF::TextBreakIteratorICU::TextBreakIteratorICU):
(WTF::cursorRules): Deleted.
- wtf/text/mac/TextBreakIteratorInternalICUMac.mm:
(WTF::mapModeToBackingIterator):
- 2:41 PM Changeset in webkit [213094] by
-
- 10 edits2 adds in trunk
Unprefix -webkit-line-break
https://bugs.webkit.org/show_bug.cgi?id=168213
Reviewed by Darin Adler.
Source/WebCore:
We support the property as specced.
Test: fast/text/line-break-unprefixed.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSProperties.json:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
- editing/Editor.cpp:
(WebCore::Editor::applyEditingStyleToElement):
- html/HTMLElement.cpp:
(WebCore::HTMLElement::collectStyleForPresentationAttribute):
LayoutTests:
Updating expected results.
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- fast/text/line-break-unprefixed.html: Added.
- fast/text/line-break-unprefixed-expected.html: Added.
- svg/css/getComputedStyle-basic-expected.txt:
- 2:39 PM Changeset in webkit [213093] by
-
- 5 edits in trunk/Source
Use RAII for ICU breaking iterators
https://bugs.webkit.org/show_bug.cgi?id=168203
Reviewed by Simon Fraser.
Source/WebCore:
No new tests because there is no behavior change.
- platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::offsetForPosition):
- rendering/RenderText.cpp:
(WebCore::RenderText::previousOffset):
(WebCore::RenderText::nextOffset):
Source/WTF:
- wtf/text/TextBreakIterator.h:
(WTF::CachedTextBreakIterator::CachedTextBreakIterator):
(WTF::CachedTextBreakIterator::~CachedTextBreakIterator):
(WTF::CachedTextBreakIterator::preceding):
(WTF::CachedTextBreakIterator::following):
(WTF::CachedTextBreakIterator::isBoundary):
- 2:36 PM Changeset in webkit [213092] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168936
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:32 PM Changeset in webkit [213091] by
-
- 6 edits in trunk
Unreviewed, roll out r213065.
Source/WebKit2:
- UIProcess/ios/WKContentViewInteraction.h:
Tools:
We need these temporary fixes to keep the perf bots running.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
- TestWebKitAPI/ios/DataInteractionSimulator.h:
- TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _advanceProgress]):
- 1:26 PM Changeset in webkit [213090] by
-
- 2 edits in trunk/LayoutTests
Mark inspector/controller/runtime-controller-import.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168926
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:22 PM Changeset in webkit [213089] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/media-source/SourceBuffer-abort.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168094
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:08 PM Changeset in webkit [213088] by
-
- 29 edits4 deletes in trunk
Unreviewed, rolling out r213019.
https://bugs.webkit.org/show_bug.cgi?id=168925
"It broke 32-bit jsc tests in debug builds" (Requested by
saamyjoon on #webkit).
Reverted changeset:
"op_get_by_id_with_this should use inline caching"
https://bugs.webkit.org/show_bug.cgi?id=162124
http://trac.webkit.org/changeset/213019
- 12:51 PM Changeset in webkit [213087] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo][MiniBrowser] Add ca-bundle to display secure pages
https://bugs.webkit.org/show_bug.cgi?id=168486
Patch by Basuke Suzuki <Basuke.Suzuki@am.sony.com> on 2017-02-27
Reviewed by Alex Christensen.
change the order of path location search to make it possible to
configure with environment variable because bundled ca-bundle is
always available now.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::certificatePath):
- 12:46 PM Changeset in webkit [213086] by
-
- 3 edits in trunk/Source/WebKit2
Remove some deprecated WKPage plug-in information functions
https://bugs.webkit.org/show_bug.cgi?id=168897
Reviewed by Tim Horton.
- UIProcess/API/C/WKPage.cpp:
(WKPageGetProcessIdentifier):
(WKPageGetPluginInformationBundleIdentifierKey): Deleted.
(WKPageGetPluginInformationBundleVersionKey): Deleted.
(WKPageGetPluginInformationDisplayNameKey): Deleted.
(WKPageGetPluginInformationFrameURLKey): Deleted.
(WKPageGetPluginInformationMIMETypeKey): Deleted.
(WKPageGetPluginInformationPageURLKey): Deleted.
(WKPageGetPluginInformationPluginspageAttributeURLKey): Deleted.
(WKPageGetPluginInformationPluginURLKey): Deleted.
- UIProcess/API/C/WKPage.h:
- 12:01 PM Changeset in webkit [213085] by
-
- 2 edits in trunk/LayoutTests
LayoutTest fast/events/currentTarget-gc-crash.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168917
Reviewed by Alex Christensen.
Make sure we never call finishJSTest() more than once.
- fast/events/currentTarget-gc-crash.html:
- 11:55 AM Changeset in webkit [213084] by
-
- 5 edits3 adds in trunk
[Modern Media Controls] Status text does not appear on iOS
https://bugs.webkit.org/show_bug.cgi?id=168918
<rdar://problem/30737644>
Patch by Antoine Quint <Antoine Quint> on 2017-02-27
Reviewed by Dean Jackson.
Source/WebCore:
We refactor the layout code out of MacOSInlineMediaControls and into a new
InlineLayoutSupport class which IOSInlineMediaControls uses as well. Now
both the macOS and iOS inline media controls run the same layout logic to
control whether the status label or scrubber should be displayed, and which
controls should be dropped due to space constraints.
Test: media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label.html
- Modules/modern-media-controls/controls/inline-layout-support.js: Added.
(InlineLayoutSupport):
(InlineLayoutSupport.prototype.childrenAfterPerformingLayout):
- Modules/modern-media-controls/controls/ios-inline-media-controls.js:
(IOSInlineMediaControls.prototype.layout):
(IOSInlineMediaControls):
- Modules/modern-media-controls/controls/macos-inline-media-controls.js:
(MacOSInlineMediaControls.prototype.layout):
- Modules/modern-media-controls/js-files:
LayoutTests:
Add a new test checking that we correctly display the status label on iOS.
- media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-expected.txt: Added.
- media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label.html: Added.
- 11:16 AM Changeset in webkit [213083] by
-
- 2 edits in trunk/Source/WebKit2
Stop exporting C++ member variables from class extensions in WKDOMInternals.h
https://bugs.webkit.org/show_bug.cgi?id=168886
Reviewed by Tim Horton.
- WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: These are @package variables.
- 11:02 AM Changeset in webkit [213082] by
-
- 4 edits in trunk
Add specification and status metadata to CSSProperties.json, and validate it
https://bugs.webkit.org/show_bug.cgi?id=168901
Reviewed by Darin Adler.
Source/WebCore:
Annotate CSS properties with data about the WebKit development status, and
where they are specified. A property has a canonical specification reference,
but individual values may have a reference to a more recent spec.
Add a list of specifications to the JSON that properties reference by key.
Enhance check-webkit-style to validate the status and spec data.
- css/CSSProperties.json:
Tools:
Enhance check-webkit-style to validate the status and spec data in CSSProperties.json.
Current validation is basic type validation and some cross-referencing, but could be
enhanced.
- Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check):
(JSONCSSPropertiesChecker.check_category):
(JSONCSSPropertiesChecker):
(JSONCSSPropertiesChecker.check_categories):
(JSONCSSPropertiesChecker.validate_url):
(JSONCSSPropertiesChecker.validate_status_type):
(JSONCSSPropertiesChecker.validate_comment):
(JSONCSSPropertiesChecker.validate_status):
(JSONCSSPropertiesChecker.validate_property_category):
(JSONCSSPropertiesChecker.validate_property_specification):
(JSONCSSPropertiesChecker.check_property):
- 11:01 AM Changeset in webkit [213081] by
-
- 9 edits1 move18 adds in trunk
[CredentialManagement] Add IDL definitions for Credential, SiteBoundCredential, and PasswordCredential
https://bugs.webkit.org/show_bug.cgi?id=168616
<rdar://problem/30167149>
Reviewed by Daniel Bates.
Source/WebCore:
This patch adds IDL definitions for:
- Credential(https://w3c.github.io/webappsec-credential-management/#interfaces-credential-types-credential),
- SiteBoundCredential(https://w3c.github.io/webappsec-credential-management/#interfaces-credential-types-siteboundcredential), and
- PasswordCredential(https://w3c.github.io/webappsec-credential-management/#interfaces-credential-types-passwordcredential).
Test: credentials/idlharness.html
- CMakeLists.txt:
- DerivedSources.make:
- Modules/credentials/BasicCredential.cpp: Added.
(WebCore::BasicCredential::BasicCredential):
(WebCore::BasicCredential::~BasicCredential):
(WebCore::BasicCredential::type):
- Modules/credentials/BasicCredential.h: Added.
(WebCore::BasicCredential::id):
- Modules/credentials/BasicCredential.idl: Added.
- Modules/credentials/CredentialData.h: Added.
- Modules/credentials/CredentialData.idl: Added.
- Modules/credentials/PasswordCredential.cpp: Added.
(WebCore::PasswordCredential::PasswordCredential):
(WebCore::PasswordCredential::PasswordCredential):
Dummy constructors for now.
- Modules/credentials/PasswordCredential.h: Added.
(WebCore::PasswordCredential::create):
(WebCore::PasswordCredential::create):
(WebCore::PasswordCredential::setIdName):
(WebCore::PasswordCredential::idName):
(WebCore::PasswordCredential::setPasswordName):
(WebCore::PasswordCredential::passwordName):
(WebCore::PasswordCredential::setAdditionalData):
(WebCore::PasswordCredential::additionalData):
- Modules/credentials/PasswordCredential.idl: Added.
- Modules/credentials/SiteBoundCredential.cpp: Added.
(WebCore::SiteBoundCredential::SiteBoundCredential):
(WebCore::SiteBoundCredential::~SiteBoundCredential):
- Modules/credentials/SiteBoundCredential.h: Added.
(WebCore::SiteBoundCredential::name):
(WebCore::SiteBoundCredential::iconURL):
(WebCore::SiteBoundCredential::setOrigin):
(WebCore::SiteBoundCredential::origin):
- Modules/credentials/SiteBoundCredential.idl: Added.
- Modules/credentials/SiteBoundCredentialData.h: Added.
- Modules/credentials/SiteBoundCredentialData.idl: Added.
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
- credentials/idlharness-expected.txt: Added.
- credentials/idlharness.html: Added.
- platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- resources/WebIDLParser.js: Added.
- resources/idlharness.js: Renamed from LayoutTests/imported/w3c/resources/idlharness.js.
Removed LayoutTests/imported/w3c/resources/idlharness.js since it is not needed any more.
Added resources/idlharness.js for idl harness.
- 10:22 AM Changeset in webkit [213080] by
-
- 18 edits2 adds in trunk
[WebRTC] Fix remote audio rendering
https://bugs.webkit.org/show_bug.cgi?id=168898
Reviewed by Eric Carlson.
Source/WebCore:
Test: webrtc/audio-peer-connection-webaudio.html
Fix MediaStreamAudioSourceNode by not bailing out early if the input sample rate doesn't match
the AudioContext's sample rate; there's code in setFormat() to do the sample rate conversion
correctly.
- Modules/webaudio/MediaStreamAudioSourceNode.cpp:
(WebCore::MediaStreamAudioSourceNode::setFormat):
Fix AudioSampleBufferList by making the AudioConverter input proc a free function, and passing
its refCon a struct containing only the information it needs to perform its task. Because the
conversion may result in a different number of output samples than input ones, just ask to
generate the entire capacity of the scratch buffer, and signal that the input buffer was fully
converted with a special return value.
- platform/audio/mac/AudioSampleBufferList.cpp:
(WebCore::audioConverterFromABLCallback):
(WebCore::AudioSampleBufferList::copyFrom):
(WebCore::AudioSampleBufferList::convertInput): Deleted.
(WebCore::AudioSampleBufferList::audioConverterCallback): Deleted.
- platform/audio/mac/AudioSampleBufferList.h:
Fix AudioSampleDataSource by updating both the sampleCount and the sampleTime after doing
a sample rate conversion to take into account that both the number of samples may have changed,
as well as the timeScale of the sampleTime. This may result in small off-by-one rounding errors
due to the sample rate conversion of sampleTime, so remember what the next expected sampleTime
should be, and correct sampleTime if it is indeed off-by-one. If the pull operation has gotten
ahead of the push operation, delay the next pull by the empty amount by rolling back the
m_outputSampleOffset. Introduce the same offset behavior during pull operations.
- platform/audio/mac/AudioSampleDataSource.h:
- platform/audio/mac/AudioSampleDataSource.mm:
(WebCore::AudioSampleDataSource::pushSamplesInternal):
(WebCore::AudioSampleDataSource::pullSamplesInternal):
(WebCore::AudioSampleDataSource::pullAvalaibleSamplesAsChunks):
Fix MediaPlayerPrivateMediaStreamAVFObjC by obeying the m_muted property.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVolume):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted):
Fix LibWebRTCAudioModule by sleeping for the correct amount after emitting frames. Previously,
LibWebRTCAudioModule would sleep for a fixed amount of time, which meant it would get slowly out
of sync when emitting frames took a non-zero amount of time. Now, the amount of time before the
next cycle starts is correctly calculated, and then LibWebRTCAudioModule sleeps for a dynamic amount
of time in order to wake up correctly at the beginning of the next cycle.
- platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:
(WebCore::LibWebRTCAudioModule::StartPlayoutOnAudioThread):
Fix AudioTrackPrivateMediaStreamCocoa by just using the output unit's preferred format
description (with the current system sample rate), rather than whatever is the current
input description.
- platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
(WebCore::AudioTrackPrivateMediaStreamCocoa::createAudioUnit):
(WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):
- platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:
Fix RealtimeIncomingAudioSource by actually creating an AudioSourceProvider when asked.
- platform/mediastream/mac/RealtimeIncomingAudioSource.cpp:
(WebCore::RealtimeIncomingAudioSource::OnData):
(WebCore::RealtimeIncomingAudioSource::audioSourceProvider):
- platform/mediastream/mac/RealtimeIncomingAudioSource.h:
Fix RealtimeOutgoingAudioSource by using the outgoing format description rather than the
incoming one to determine the sample rate, channel count, sample byte size, etc., to use
when delivering data upstream to libWebRTC.
- platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:
(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable):
(WebCore::RealtimeOutgoingAudioSource::pullAudioData):
- platform/mediastream/mac/RealtimeOutgoingAudioSource.h:
Fix WebAudioSourceProviderAVFObjC by using a AudioSampleDataSource to do format and sample
rate conversion rather than trying to duplicate all that code and use a CARingBuffer and
AudioConverter directly.
- platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h:
- platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:
(WebCore::WebAudioSourceProviderAVFObjC::~WebAudioSourceProviderAVFObjC):
(WebCore::WebAudioSourceProviderAVFObjC::provideInput):
(WebCore::WebAudioSourceProviderAVFObjC::prepare):
(WebCore::WebAudioSourceProviderAVFObjC::unprepare):
(WebCore::WebAudioSourceProviderAVFObjC::audioSamplesAvailable):
Fix the MockLibWebRTCAudioTrack by passing along the AddSink() sink to its AudioSourceInterface,
allowing the RealtimeOutgoingAudioSource to push data into the libWebRTC network stack. Also,
make sure m_enabled is initialized to a good value.
- testing/MockLibWebRTCPeerConnection.h:
LayoutTests:
- webrtc/audio-peer-connection-webaudio-expected.txt: Added.
- webrtc/audio-peer-connection-webaudio.html: Added.
- 9:51 AM Changeset in webkit [213079] by
-
- 5 edits in branches/safari-603.1.30.0-branch/Source
Versioning.
- 9:39 AM Changeset in webkit [213078] by
-
- 9 edits1 add in branches/safari-603.1.30.0-branch
Merge r213010. rdar://problem/30704432
- 9:39 AM Changeset in webkit [213077] by
-
- 2 edits in branches/safari-603.1.30.0-branch/Source/WebCore
Merge r212987. rdar://problem/30704432
- 9:39 AM Changeset in webkit [213076] by
-
- 9 edits6 adds in branches/safari-603.1.30.0-branch
Merge r212972. rdar://problem/30704432
- 9:36 AM Changeset in webkit [213075] by
-
- 3 edits in trunk/Tools
Unreviewed. Fix two GTK+ unit tests failing after r213062.
We were building wrong Content-Disposition headers that libsoup doesn't parse correctly.
- TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
(addContentDispositionHTTPHeaderToResponse):
- TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
(serverCallback):
- 9:21 AM Changeset in webkit [213074] by
-
- 2 edits in trunk/Source/WebKit2
Optimize checkWebRTCAvailability
https://bugs.webkit.org/show_bug.cgi?id=168913
Reviewed by Darin Adler.
We can optimize startup time by using RTLD_LAZY instead of RTLD_NOW because we don't need to load all the symbols.
We just need to check whether libwebrtc.dylib can be found and is a valid dylib for the current architecture.
Also, initialize a static bool so it only needs to be checked once. Right now it's only used when initializing settings,
but if we use it for other things in the future there will be no need to reopen the dylib.
- UIProcess/WebPreferences.cpp:
(WebKit::checkWebRTCAvailability):
- 9:20 AM Changeset in webkit [213073] by
-
- 3 edits in trunk/LayoutTests
compositing/transitions/transform-on-large-layer.html : ImageDiff produced stderr output
https://bugs.webkit.org/show_bug.cgi?id=168217
Patch by Fujii Hironori <Fujii Hironori> on 2017-02-27
Reviewed by Simon Fraser.
ImageDiff reports an error for image size mismatch of expected and
actual images. But, Nwtr ignores the errors for ref tests at the moment
(Bug 168033). They should have same window size before fixing the
bug.
- compositing/transitions/transform-on-large-layer-expected.html:
Do not resize the window to match the actual.
- fast/css/sticky/sticky-left-percentage-expected.html: Resize the
window to match the actual.
- 9:04 AM Changeset in webkit [213072] by
-
- 3 edits in trunk/Source/WebCore
AudioSampleDataSource should not exclusively lock its read and write threads.
https://bugs.webkit.org/show_bug.cgi?id=168646
Reviewed by Eric Carlson.
Locking the write thread causes the read thread to drop audio samples and generates audible
glitches, and the realtime audio thread backing the read thread should never block. There's
no real reason to lock these threads against one another here; they both rely on the
CARingBuffer to safely and simultaneously read and write data.
- platform/audio/mac/AudioSampleDataSource.cpp:
(WebCore::AudioSampleDataSource::setPaused):
(WebCore::AudioSampleDataSource::pushSamplesInternal):
(WebCore::AudioSampleDataSource::pushSamples):
(WebCore::AudioSampleDataSource::pullSamplesInternal):
(WebCore::AudioSampleDataSource::pullAvalaibleSamplesAsChunks):
(WebCore::AudioSampleDataSource::pullSamples):
- platform/audio/mac/AudioSampleDataSource.h:
- 9:03 AM Changeset in webkit [213071] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r213060 - [GTK] Flickering when leaving accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=168911
Reviewed by Žan Doberšek.
It doesn't always happen, and it's too fast, more noticeable in websites with a dark background, because we are
drawing a single white frame. This happens when we leave AC mode during the layer flush that schedules an update
on the compositor, which at that point only clears the area and renders nothing. However,
CoordinatedGraphicsScene::paintToCurrentGLContext() always renders a white background when no web view color has
been set. And that's the white frame we get. We could prevent that last update from happening by checking if we
still have a graphics root layer after syncDisplayState() in the layer flush, the same way we check the layer
tree host is still valid.
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
- 9:03 AM Changeset in webkit [213070] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r213061 - [GTK] Rendering artifacts when resizing the window in X11 with AC mode enabled
https://bugs.webkit.org/show_bug.cgi?id=168728
Reviewed by Žan Doberšek.
This happens because the pixmap we create from the redirected window is uninitialized until the threaded
compositor renders into it. We should always initialize the pixmap right after it's created.
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp:
(WebKit::defaultVisual): Helper static method to get the default GdkVisual.
(WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11): Use createPixmap().
(WebKit::AcceleratedSurfaceX11::createPixmap): Create and initialize the pixmap.
(WebKit::AcceleratedSurfaceX11::resize): Use createPixmap().
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h:
- 8:59 AM Changeset in webkit [213069] by
-
- 4 edits in trunk/Source/WebCore
AudioTrackPrivateMediaStreamCocoa should not exclusively lock its read and write threads.
https://bugs.webkit.org/show_bug.cgi?id=168643
Reviewed by Eric Carlson.
Locking the write thread causes the read thread to drop audio samples and generates audible
glitches, and the realtime audio thread backing the read thread should never block. There's
no real reason to lock these threads against one another here; they both rely on the
AudioSampleDataSource and it's CARingBuffer to safely and simultaneously read and write
data.
The one piece which locks previously protected against unsafe access was during creation of
the audio unit. Without a lock, the audio unit could begin playback after the unit was
created and assigned to m_remoteIOUnit but before the ring buffer was created. To protect
against this possibility, create the unit, set the input and output descriptions, but only
assign the new audio unit to m_remoteIOUnit after the ring buffer has been created and
initialized.
- platform/audio/mac/CAAudioStreamDescription.h:
- platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
(WebCore::AudioTrackPrivateMediaStreamCocoa::~AudioTrackPrivateMediaStreamCocoa):
(WebCore::AudioTrackPrivateMediaStreamCocoa::playInternal):
(WebCore::AudioTrackPrivateMediaStreamCocoa::play):
(WebCore::AudioTrackPrivateMediaStreamCocoa::pause):
(WebCore::AudioTrackPrivateMediaStreamCocoa::setVolume):
(WebCore::AudioTrackPrivateMediaStreamCocoa::createAudioUnit):
(WebCore::AudioTrackPrivateMediaStreamCocoa::setupAudioUnit): Renamed to createAudioUnit()
(WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):
- platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:
- 8:53 AM Changeset in webkit [213068] by
-
- 5 edits in trunk
Add public method to MediaTime for doing timeScale conversion.
https://bugs.webkit.org/show_bug.cgi?id=168860
Reviewed by Eric Carlson.
Source/WTF:
The newly public method, modeled on CMTimeConvertScale, allows callers to specify what rounding technique
will be used when converting to a new time scale.
- wtf/MediaTime.cpp:
(WTF::MediaTime::toTimeScale):
(WTF::MediaTime::setTimeScale):
- wtf/MediaTime.h:
Tools:
- TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):
- 8:52 AM Changeset in webkit [213067] by
-
- 8 edits in trunk
WebAssembly: miscellaneous spec fixes part deux
https://bugs.webkit.org/show_bug.cgi?id=168861
Reviewed by Keith Miller.
JSTests:
- wasm.yaml: more passing tests
- wasm/Builder.js: use a Map instead of an Object for the function
index space, because Number entries such as 0 were colliding with
string entries such as "0". This in turn requires some hashing of
objects which are inserted, because Map uses Object's insertion
order when comparing.
(export.default.Builder):
(export.default.Builder.prototype._functionIndexSpaceKeyHash):
(export.default.Builder.prototype._registerFunctionToIndexSpace):
(export.default.Builder.prototype._getFunctionFromIndexSpace):
- wasm/js-api/test_Instance.js: add a FIXME test
- wasm/spec-tests/memory.wast.js:
(assert_unlinkable):
- wasm/spec-tests/names.wast.js:
Source/JavaScriptCore:
- wasm/WasmFunctionParser.h: add some FIXME
- 8:29 AM Changeset in webkit [213066] by
-
- 10 edits in trunk/Source
[WebRTC] RealtimOutgoingVideoSource should not need to do image conversion
https://bugs.webkit.org/show_bug.cgi?id=168802
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-27
Reviewed by Jon Lee.
Source/ThirdParty/libwebrtc:
Exporting new symbols.
Including headers in the project file.
- Source/webrtc/common_video/include/corevideo_frame_buffer.h:
- Source/webrtc/common_video/include/i420_buffer_pool.h:
- Source/webrtc/common_video/include/video_frame_buffer.h:
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
Covered by manual testing as mock sources do not hit the same code path.
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::currentFrameCGImage):
- platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::sendFrame):
(WebCore::RealtimeOutgoingVideoSource::videoSampleAvailable):
- platform/mediastream/mac/RealtimeOutgoingVideoSource.h:
- 8:02 AM Changeset in webkit [213065] by
-
- 6 edits in trunk
Unreviewed, revert all temporary build fixes for data interaction
Rolls out r212990, r212988 and r212984.
Source/WebKit2:
- UIProcess/ios/WKContentViewInteraction.h:
Tools:
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
- TestWebKitAPI/ios/DataInteractionSimulator.h:
- TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _advanceProgress]):
- 7:27 AM Changeset in webkit [213064] by
-
- 1 edit5 adds in trunk/LayoutTests
Add a test verifying cache deduplication is not sensitive to SHA1 collision attack
https://bugs.webkit.org/show_bug.cgi?id=168774
Reviewed by Alex Christensen.
We use SHA1 for deduplicating disk cache resources. Since a real world SHA1 collision was demonstrated
recently (http://shattered.io/) we can add a test that shows it can't be used for cache poisoning.
There are two protections in the cache code that both individually stop this type of attack:
- When deduplicating the data is verified to be equal by a bytewise comparison.
- SHA1 computations include random salt unique to cache instance.
Commenting out both protections is needed to make this test fail.
- http/tests/cache/disk-cache/resources/make-sha1-collision.php: Added.
This script turns the nocolliding pdfs into colliding ones on the fly, in memory. This way we don't need
to land the colliding versions and risk blowing up the infrastructure.
- http/tests/cache/disk-cache/resources/shattered-nocollision-1.pdf: Added.
- http/tests/cache/disk-cache/resources/shattered-nocollision-2.pdf: Added.
shasum shattered-nocollision-*
5439274cf677fe3b7c51264f88a5ecee97319ee9 shattered-nocollision-1.pdf
7fdd163dc21064b7f26e1199fc560ee6e0307498 shattered-nocollision-2.pdf
- http/tests/cache/disk-cache/shattered-deduplication-expected.html: Added.
- http/tests/cache/disk-cache/shattered-deduplication.html: Added.
- 7:20 AM Changeset in webkit [213063] by
-
- 2 edits in trunk/Source/WebKit/win
[Win] Http preload tests are failing.
https://bugs.webkit.org/show_bug.cgi?id=168910
Reviewed by Alex Christensen.
The feature is not enabled.
- WebView.cpp:
(WebView::notifyPreferencesChanged):
- 6:48 AM Changeset in webkit [213062] by
-
- 4 edits2 adds in trunk
[GTK] Downloads attributes tests are failing
https://bugs.webkit.org/show_bug.cgi?id=168871
Reviewed by Michael Catanzaro.
Source/WebCore:
Use libsoup to get the suggested filename from the Content-Disposition header instead of buggy
filenameFromHTTPContentDisposition().
Fixes: fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-doublequote.html
fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-unicode.html
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::platformSuggestedFilename):
LayoutTests:
Remove passing tests and add new baseline for
fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes.html because libsoup handles slashes
differently but download succeeds.
- platform/gtk/TestExpectations:
- platform/gtk/fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-slashes-expected.txt: Added.
- 6:42 AM Changeset in webkit [213061] by
-
- 3 edits in trunk/Source/WebKit2
[GTK] Rendering artifacts when resizing the window in X11 with AC mode enabled
https://bugs.webkit.org/show_bug.cgi?id=168728
Reviewed by Žan Doberšek.
This happens because the pixmap we create from the redirected window is uninitialized until the threaded
compositor renders into it. We should always initialize the pixmap right after it's created.
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp:
(WebKit::defaultVisual): Helper static method to get the default GdkVisual.
(WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11): Use createPixmap().
(WebKit::AcceleratedSurfaceX11::createPixmap): Create and initialize the pixmap.
(WebKit::AcceleratedSurfaceX11::resize): Use createPixmap().
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h:
- 6:38 AM Changeset in webkit [213060] by
-
- 3 edits in trunk/Source/WebKit2
[GTK] Flickering when leaving accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=168911
Reviewed by Žan Doberšek.
It doesn't always happen, and it's too fast, more noticeable in websites with a dark background, because we are
drawing a single white frame. This happens when we leave AC mode during the layer flush that schedules an update
on the compositor, which at that point only clears the area and renders nothing. However,
CoordinatedGraphicsScene::paintToCurrentGLContext() always renders a white background when no web view color has
been set. And that's the white frame we get. We could prevent that last update from happening by checking if we
still have a graphics root layer after syncDisplayState() in the layer flush, the same way we check the layer
tree host is still valid.
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
- 6:34 AM Changeset in webkit [213059] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212860 - Replace SimpleLineLayout::Range by WTF::IteratorRange
https://bugs.webkit.org/show_bug.cgi?id=168742
Reviewed by Zalan Bujtas.
Kill a redundant custom type.
- rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::rangeForRect):
(WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):
(WebCore::SimpleLineLayout::RunResolver::rangeForRendererWithOffsets):
- rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::LineResolver::rangeForRect):
(WebCore::SimpleLineLayout::Range::Range): Deleted.
(WebCore::SimpleLineLayout::Range::begin): Deleted.
(WebCore::SimpleLineLayout::Range::end): Deleted.
- 6:34 AM Changeset in webkit [213058] by
-
- 5 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212854 - Simple line layout: Set the pagination strut on the flow when the first line does not fit the page.
https://bugs.webkit.org/show_bug.cgi?id=168738
<rdar://problem/30659469>
Reviewed by Antti Koivisto.
The pagination strut for the first line is tracked by the parent RenderBlockFlow and not by
the line itself (see RenderBlockFlow::adjustLinePositionForPagination()). Also renamed *PaginationStrut* to
*LineStrut* to make sure we don't confuse it with the block level strut.
Not enabled yet.
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::computeLineTopAndBottomWithOverflow):
(WebCore::SimpleLineLayout::computeLineBreakIndex):
(WebCore::SimpleLineLayout::setPageBreakForLine):
(WebCore::SimpleLineLayout::adjustLinePositionsForPagination):
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::Layout::create):
(WebCore::SimpleLineLayout::Layout::Layout):
- rendering/SimpleLineLayout.h:
(WebCore::SimpleLineLayout::Layout::hasLineStruts):
(WebCore::SimpleLineLayout::Layout::struts):
(WebCore::SimpleLineLayout::Layout::hasPaginationStruts): Deleted.
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):
- rendering/SimpleLineLayoutFunctions.h:
(WebCore::SimpleLineLayout::computeFlowHeight):
- rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::Run::computeBaselinePosition):
- 6:29 AM Changeset in webkit [213057] by
-
- 8 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212843 - Simple line layout: ensureLineBoxes for paginated content.
https://bugs.webkit.org/show_bug.cgi?id=168729
<rdar://problem/30654400>
Reviewed by Antti Koivisto.
This patch sets the layout state bits for paginated subtree layout, when we are switching
over from simple line runs to inline tree.
Not enabled yet.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::ensureLineBoxes):
- rendering/RenderView.cpp:
(WebCore::RenderView::pushLayoutStateForPagination): LayoutUnit(1) is not the real height, it's just
an indicator that we've got paginated content.
- rendering/RenderView.h:
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::Layout::create):
(WebCore::SimpleLineLayout::Layout::Layout):
- rendering/SimpleLineLayout.h:
(WebCore::SimpleLineLayout::Layout::isPaginated):
(WebCore::SimpleLineLayout::Layout::hasPaginationStruts):
- rendering/SimpleLineLayoutFunctions.h:
(WebCore::SimpleLineLayout::computeFlowHeight):
- rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::Run::computeBaselinePosition):
- 6:24 AM Changeset in webkit [213056] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Tools
Merge r212839 - [GTK] Do not use g_return_if_fail in EventSenderProxy::continuousMouseScrollBy
https://bugs.webkit.org/show_bug.cgi?id=168721
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-02-22
Reviewed by Michael Catanzaro.
Use WTFLogAlways instead. It's still shown in stderr, but it won't crash if we ever run tests with fatal
criticals.
- WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::continuousMouseScrollBy):
- 6:21 AM Changeset in webkit [213055] by
-
- 5 edits1 copy1 add in trunk
[Modern Media Controls] Dragging controls in fullscreen on macOS prevents scrubbing or interacting with controls
https://bugs.webkit.org/show_bug.cgi?id=168820
<rdar://problem/30690281>
Reviewed by Jon Lee.
Source/WebCore:
We broke this in https://bugs.webkit.org/show_bug.cgi?id=168755. We restore the check that the
event target when initiating a drag is the controls bar itself and not some of its content.
Since this wasn't caught by our existing tests, we add a test that attemps to initiate a drag
starting over one of the controls and notice that no dragging occurs.
We also fix an issue where we wouldn't update the layout of the left container as its icon
buttons would load, which would cause the layout width of the left container to be incorrect
and the related tests to time out.
Test: media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
(MacOSFullscreenMediaControls.prototype.layout):
(MacOSFullscreenMediaControls.prototype._handleMousedown):
LayoutTests:
Making the existing test more robust and adding a new test that checks what happens
when we initiate a drag over some controls.
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button-expected.txt: Added.
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html: Added.
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html:
- 6:09 AM Changeset in webkit [213054] by
-
- 12 edits in trunk
[libwebrtc] Enable WebRTC in some Production Builds
https://bugs.webkit.org/show_bug.cgi?id=168858
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 5:59 AM Changeset in webkit [213053] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212830 - [GStreamer][EME] Fix issue with allowed systems extraction
https://bugs.webkit.org/show_bug.cgi?id=168717
Reviewed by Carlos Garcia Campos.
The allowed systems were not being extracted from the need-context
message because the loop was not stopping on the right condition.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::extractEventsAndSystemsFromMessage): Fix wrong
condition.
(WebCore::MediaPlayerPrivateGStreamerBase::handleProtectionEvent):
Add better debug category.
- 5:58 AM Changeset in webkit [213052] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16
Merge r212829 - [GTK] [2.15.90] Disable RESOURCE_USAGE on non-Linux systems
https://bugs.webkit.org/show_bug.cgi?id=168714
Reviewed by Carlos Garcia Campos.
- Source/cmake/OptionsGTK.cmake:
- 5:57 AM Changeset in webkit [213051] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r212828 - REGRESSION(r207669): Crash after mutating selector text
https://bugs.webkit.org/show_bug.cgi?id=168655
<rdar://problem/30632111>
Reviewed by Andreas Kling.
Source/WebCore:
Test: fast/css/selector-text-mutation-crash.html
- style/StyleScope.cpp:
(WebCore::Style::Scope::resolver):
(WebCore::Style::Scope::updateStyleResolver):
Protect against entering scheduleUpdate and wiping style resolver while updating it.
Extension stylesheets can trigger this.
(WebCore::Style::Scope::scheduleUpdate):
Clear the style resolver immediately if style sheet content changes. The resolver may
have data structures that point to the old sheet contents.
The resolver would get wiped anyway when the scheduled update actually occurs.
- style/StyleScope.h:
LayoutTests:
- fast/css/selector-text-mutation-crash-expected.txt: Added.
- fast/css/selector-text-mutation-crash.html: Added.
- 5:45 AM Changeset in webkit [213050] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212823 - [css-grid] Move the track sizing algorithm to its own class
https://bugs.webkit.org/show_bug.cgi?id=167988
Reviewed by Manuel Rego Casasnovas.
This is about moving the track sizing algorithm code out of RenderGrid to a new class
GridTrackSizingAlgorithm, making RenderGrid more compact and easy to maintain. A nice side
effect of this patch is the removal of the GridSizingData structure as it is no longer
needed. All the data structures in that class were transferred to GridTrackSizingAlgorithm
as private attribute members. The GridTrack class was also moved to the new file.
The algorithm execution starts with the call to run(). It's mandatory to call setup() before
any call to run() in order to properly configure the behaviour of the algorithm. You can
call setup() & run() multiple times for a single layout operation (normally twice, one for
columns and another one for rows). The algorithm uses a state machine to verify that the
client issues the calls in the proper order (i.e. first columns and then rows). After
finishing the layout, the client should call reset() to allow the algorithm to perform
cleanups and to prepare itself for another round of calls.
In order to implement the different behaviours of the algorithm depending on whether the
available size is definite or not, a strategy pattern was implemented in the
GridTrackSizingAlgorithmStrategy class. It has two subclasses, one for definite sizes and
another one for indefinite ones.
We took advantage of this change to perform some renames of the track sizing algorithm
methods that were still using the names from the first versions of the specs. Not only that,
the original track sizing algorithm method (computeUsedBreadthOfGridTracks) was split in 4
different parts representing the 4 steps of the algorithm.
No new tests as this is about moving code and refactoring.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/GridTrackSizingAlgorithm.cpp: Added.
(WebCore::GridTrack::baseSize):
(WebCore::GridTrack::growthLimit):
(WebCore::GridTrack::setBaseSize):
(WebCore::GridTrack::setGrowthLimit):
(WebCore::GridTrack::growthLimitIfNotInfinite):
(WebCore::GridTrack::setTempSize):
(WebCore::GridTrack::growTempSize):
(WebCore::GridTrack::setGrowthLimitCap):
(WebCore::GridTrack::ensureGrowthLimitIsBiggerThanBaseSize):
(WebCore::shouldClearOverrideContainingBlockContentSizeForChild):
(WebCore::hasOverrideContainingBlockContentSizeForChild):
(WebCore::setOverrideContainingBlockContentSizeForChild):
(WebCore::flowAwareDirectionForChild):
(WebCore::overrideContainingBlockContentSizeForChild):
(WebCore::computeMarginLogicalSizeForChild):
(WebCore::marginIntrinsicLogicalWidthForChild):
(WebCore::GridTrackSizingAlgorithm::setFreeSpace):
(WebCore::GridTrackSizingAlgorithm::rawGridTrackSize):
(WebCore::GridTrackSizingAlgorithm::computeTrackBasedSize):
(WebCore::GridTrackSizingAlgorithm::initialBaseSize):
(WebCore::GridTrackSizingAlgorithm::initialGrowthLimit):
(WebCore::GridTrackSizingAlgorithm::sizeTrackToFitNonSpanningItem):
(WebCore::GridTrackSizingAlgorithm::spanningItemCrossesFlexibleSizedTracks):
(WebCore::GridItemWithSpan::GridItemWithSpan):
(WebCore::GridItemWithSpan::gridItem):
(WebCore::GridItemWithSpan::span):
(WebCore::GridItemWithSpan::operator<):
(WebCore::GridTrackSizingAlgorithm::itemSizeForTrackSizeComputationPhase):
(WebCore::shouldProcessTrackForTrackSizeComputationPhase):
(WebCore::trackSizeForTrackSizeComputationPhase):
(WebCore::updateTrackSizeForTrackSizeComputationPhase):
(WebCore::trackShouldGrowBeyondGrowthLimitsForTrackSizeComputationPhase):
(WebCore::markAsInfinitelyGrowableForTrackSizeComputationPhase):
(WebCore::GridTrackSizingAlgorithm::increaseSizesToAccommodateSpanningItems):
(WebCore::sortByGridTrackGrowthPotential):
(WebCore::clampGrowthShareIfNeeded):
(WebCore::GridTrackSizingAlgorithm::distributeSpaceToTracks):
(WebCore::GridTrackSizingAlgorithm::assumedRowsSizeForOrthogonalChild):
(WebCore::GridTrackSizingAlgorithm::gridAreaBreadthForChild):
(WebCore::GridTrackSizingAlgorithm::gridTrackSize):
(WebCore::GridTrackSizingAlgorithm::computeFlexFactorUnitSize):
(WebCore::GridTrackSizingAlgorithm::computeFlexSizedTracksGrowth):
(WebCore::GridTrackSizingAlgorithm::findFrUnitSize):
(WebCore::GridTrackSizingAlgorithm::computeGridContainerIntrinsicSizes):
(WebCore::GridTrackSizingAlgorithmStrategy::logicalHeightForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::minContentForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::maxContentForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::updateOverrideContainingBlockContentSizeForChild):
(WebCore::IndefiniteSizeStrategy::minLogicalWidthForChild):
(WebCore::IndefiniteSizeStrategy::layoutGridItemForMinSizeComputation):
(WebCore::IndefiniteSizeStrategy::maximizeTracks):
(WebCore::normalizedFlexFraction):
(WebCore::IndefiniteSizeStrategy::findUsedFlexFraction):
(WebCore::IndefiniteSizeStrategy::recomputeUsedFlexFractionIfNeeded):
(WebCore::DefiniteSizeStrategy::minLogicalWidthForChild):
(WebCore::DefiniteSizeStrategy::maximizeTracks):
(WebCore::DefiniteSizeStrategy::layoutGridItemForMinSizeComputation):
(WebCore::DefiniteSizeStrategy::findUsedFlexFraction):
(WebCore::DefiniteSizeStrategy::recomputeUsedFlexFractionIfNeeded):
(WebCore::GridTrackSizingAlgorithm::initializeTrackSizes):
(WebCore::GridTrackSizingAlgorithm::resolveIntrinsicTrackSizes):
(WebCore::GridTrackSizingAlgorithm::stretchFlexibleTracks):
(WebCore::GridTrackSizingAlgorithm::advanceNextState):
(WebCore::GridTrackSizingAlgorithm::isValidTransition):
(WebCore::GridTrackSizingAlgorithm::setup):
(WebCore::GridTrackSizingAlgorithm::run):
(WebCore::GridTrackSizingAlgorithm::reset):
(WebCore::GridTrackSizingAlgorithm::tracksAreWiderThanMinTrackBreadth):
(WebCore::GridTrackSizingAlgorithm::StateMachine::StateMachine):
(WebCore::GridTrackSizingAlgorithm::StateMachine::~StateMachine):
- rendering/GridTrackSizingAlgorithm.h: Added.
(WebCore::GridTrack::GridTrack):
(WebCore::GridTrack::infiniteGrowthPotential):
(WebCore::GridTrack::plannedSize):
(WebCore::GridTrack::setPlannedSize):
(WebCore::GridTrack::tempSize):
(WebCore::GridTrack::infinitelyGrowable):
(WebCore::GridTrack::setInfinitelyGrowable):
(WebCore::GridTrack::growthLimitCap):
(WebCore::GridTrack::growthLimitIsInfinite):
(WebCore::GridTrack::isGrowthLimitBiggerThanBaseSize):
(WebCore::GridTrackSizingAlgorithmStrategy::GridTrackSizingAlgorithmStrategy):
(WebCore::GridTrackSizingAlgorithmStrategy::computeTrackBasedSize):
(WebCore::GridTrackSizingAlgorithmStrategy::direction):
(WebCore::GridTrackSizingAlgorithmStrategy::findFrUnitSize):
(WebCore::GridTrackSizingAlgorithmStrategy::distributeSpaceToTracks):
(WebCore::GridTrackSizingAlgorithmStrategy::renderGrid):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
(WebCore::RenderGrid::computeTrackBasedLogicalHeight):
(WebCore::RenderGrid::computeTrackSizesForDefiniteSize):
(WebCore::RenderGrid::repeatTracksSizingIfNeeded):
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeTrackSizesForIndefiniteSize):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::gridAreaBreadthForChildIncludingAlignmentOffsets):
(WebCore::RenderGrid::populateGridPositionsForDirection):
(WebCore::RenderGrid::columnAxisOffsetForChild):
(WebCore::RenderGrid::rowAxisOffsetForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::GridTrack::GridTrack): Deleted.
(WebCore::GridTrack::baseSize): Deleted.
(WebCore::GridTrack::growthLimit): Deleted.
(WebCore::GridTrack::setBaseSize): Deleted.
(WebCore::GridTrack::setGrowthLimit): Deleted.
(WebCore::GridTrack::infiniteGrowthPotential): Deleted.
(WebCore::GridTrack::growthLimitIfNotInfinite): Deleted.
(WebCore::GridTrack::plannedSize): Deleted.
(WebCore::GridTrack::setPlannedSize): Deleted.
(WebCore::GridTrack::tempSize): Deleted.
(WebCore::GridTrack::setTempSize): Deleted.
(WebCore::GridTrack::growTempSize): Deleted.
(WebCore::GridTrack::infinitelyGrowable): Deleted.
(WebCore::GridTrack::setInfinitelyGrowable): Deleted.
(WebCore::GridTrack::setGrowthLimitCap): Deleted.
(WebCore::GridTrack::growthLimitCap): Deleted.
(WebCore::GridTrack::growthLimitIsInfinite): Deleted.
(WebCore::GridTrack::isGrowthLimitBiggerThanBaseSize): Deleted.
(WebCore::GridTrack::ensureGrowthLimitIsBiggerThanBaseSize): Deleted.
(WebCore::RenderGrid::GridSizingData::GridSizingData): Deleted.
(WebCore::RenderGrid::GridSizingData::freeSpace): Deleted.
(WebCore::RenderGrid::GridSizingData::availableSpace): Deleted.
(WebCore::RenderGrid::GridSizingData::setAvailableSpace): Deleted.
(WebCore::RenderGrid::GridSizingData::advanceNextState): Deleted.
(WebCore::RenderGrid::GridSizingData::isValidTransition): Deleted.
(WebCore::RenderGrid::GridSizingData::grid): Deleted.
(WebCore::RenderGrid::GridSizingData::setFreeSpace): Deleted.
(WebCore::RenderGrid::computeTrackSizesForDirection): Deleted.
(WebCore::RenderGrid::computeIntrinsicLogicalHeight): Deleted.
(WebCore::normalizedFlexFraction): Deleted.
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks): Deleted.
(WebCore::RenderGrid::computeFlexSizedTracksGrowth): Deleted.
(WebCore::RenderGrid::computeUsedBreadthOfMinLength): Deleted.
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength): Deleted.
(WebCore::RenderGrid::computeFlexFactorUnitSize): Deleted.
(WebCore::RenderGrid::findFlexFactorUnitSize): Deleted.
(WebCore::hasOverrideContainingBlockContentSizeForChild): Deleted.
(WebCore::setOverrideContainingBlockContentSizeForChild): Deleted.
(WebCore::shouldClearOverrideContainingBlockContentSizeForChild): Deleted.
(WebCore::RenderGrid::rawGridTrackSize): Deleted.
(WebCore::RenderGrid::gridTrackSize): Deleted.
(WebCore::RenderGrid::logicalHeightForChild): Deleted.
(WebCore::RenderGrid::minSizeForChild): Deleted.
(WebCore::RenderGrid::updateOverrideContainingBlockContentSizeForChild): Deleted.
(WebCore::RenderGrid::minContentForChild): Deleted.
(WebCore::RenderGrid::maxContentForChild): Deleted.
(WebCore::GridItemWithSpan::GridItemWithSpan): Deleted.
(WebCore::GridItemWithSpan::gridItem): Deleted.
(WebCore::GridItemWithSpan::span): Deleted.
(WebCore::GridItemWithSpan::operator<): Deleted.
(WebCore::RenderGrid::spanningItemCrossesFlexibleSizedTracks): Deleted.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): Deleted.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems): Deleted.
(WebCore::trackSizeForTrackSizeComputationPhase): Deleted.
(WebCore::RenderGrid::shouldProcessTrackForTrackSizeComputationPhase): Deleted.
(WebCore::RenderGrid::trackShouldGrowBeyondGrowthLimitsForTrackSizeComputationPhase): Deleted.
(WebCore::RenderGrid::markAsInfinitelyGrowableForTrackSizeComputationPhase): Deleted.
(WebCore::RenderGrid::updateTrackSizeForTrackSizeComputationPhase): Deleted.
(WebCore::RenderGrid::currentItemSizeForTrackSizeComputationPhase): Deleted.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems): Deleted.
(WebCore::sortByGridTrackGrowthPotential): Deleted.
(WebCore::clampGrowthShareIfNeeded): Deleted.
(WebCore::RenderGrid::distributeSpaceToTracks): Deleted.
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth): Deleted.
(WebCore::RenderGrid::assumedRowsSizeForOrthogonalChild): Deleted.
(WebCore::RenderGrid::gridAreaBreadthForChild): Deleted.
- rendering/RenderGrid.h:
- 5:44 AM Changeset in webkit [213049] by
-
- 17 edits13 adds in releases/WebKitGTK/webkit-2.16
Merge r212818 - JSModuleNamespace object should have IC
https://bugs.webkit.org/show_bug.cgi?id=160590
Reviewed by Saam Barati.
JSTests:
- modules/module-assert-access-binding.js: Added.
- modules/module-assert-access-namespace.js: Added.
- modules/namespace-empty.js: Added.
(from.string_appeared_here.access):
(i.shouldThrow):
- stress/module-namespace-access-change.js: Added.
(shouldBe):
(access):
(import.string_appeared_here.then):
- stress/module-namespace-access-non-constant.js: Added.
(shouldBe):
(import.string_appeared_here.then):
- stress/module-namespace-access-poly.js: Added.
(shouldBe):
(access):
(import.string_appeared_here.then):
- stress/module-namespace-access-transitive-exports.js: Added.
(shouldBe):
(import.string_appeared_here.then):
- stress/module-namespace-access.js: Added.
(shouldBe):
(import.string_appeared_here.then):
- stress/resources/module-namespace-access-transitive-exports-2.js: Added.
(export.cocoa):
(export.change):
- stress/resources/module-namespace-access-transitive-exports.js: Added.
- stress/resources/module-namespace-access.js: Added.
(export.cocoa):
(export.change):
Source/JavaScriptCore:
This patch optimizes accesses to module namespace objects.
- Cache the resolutions for module namespace objects.
When constructing the module namespace object, we already resolves all the exports.
The module namespace object caches this result and leverage it in the later access in
getOwnPropertySlot. This avoids resolving bindings through resolveExport.
- Introduce ModuleNamespaceLoad IC.
This patch adds new IC for module namespace objects. The mechanism is simple, getOwnPropertySlot
tells us about module namespace object resolution. The IC first checks whether the given object
is an expected module namespace object. If this check succeeds, we load the value from the module
environment.
- Introduce DFG/FTL optimization.
After exploiting module namespace object accesses in (2), DFG can recognize this in ByteCodeParser.
DFG will convert it to CheckCell with the namespace object and GetClosureVar from the cached environment.
At that time, we have a chance to fold it to the constant.
This optimization improves the performance of accessing to module namespace objects.
Before
$ time ../../WebKitBuild/module-ic-tot/Release/bin/jsc -m module-assert-access-namespace.js
../../WebKitBuild/module-ic-tot/Release/bin/jsc -m 0.43s user 0.03s system 101% cpu 0.451 total
$ time ../../WebKitBuild/module-ic-tot/Release/bin/jsc -m module-assert-access-binding.js
../../WebKitBuild/module-ic-tot/Release/bin/jsc -m 0.08s user 0.02s system 103% cpu 0.104 total
After
$ time ../../WebKitBuild/module-ic/Release/bin/jsc -m module-assert-access-namespace.js
../../WebKitBuild/module-ic/Release/bin/jsc -m 0.11s user 0.01s system 106% cpu 0.109 total
$ time ../../WebKitBuild/module-ic/Release/bin/jsc -m module-assert-access-binding.js
../../WebKitBuild/module-ic/Release/bin/jsc -m module-assert-access-binding.j 0.08s user 0.02s system 102% cpu 0.105 total
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/AccessCase.cpp:
(JSC::AccessCase::create):
(JSC::AccessCase::guardedByStructureCheck):
(JSC::AccessCase::canReplace):
(JSC::AccessCase::visitWeak):
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):
- bytecode/AccessCase.h:
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::GetByIdStatus):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
(JSC::GetByIdStatus::makesCalls):
(JSC::GetByIdStatus::dump):
- bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::isModuleNamespace):
(JSC::GetByIdStatus::takesSlowPath):
(JSC::GetByIdStatus::moduleNamespaceObject):
(JSC::GetByIdStatus::moduleEnvironment):
(JSC::GetByIdStatus::scopeOffset):
- bytecode/ModuleNamespaceAccessCase.cpp: Added.
(JSC::ModuleNamespaceAccessCase::ModuleNamespaceAccessCase):
(JSC::ModuleNamespaceAccessCase::create):
(JSC::ModuleNamespaceAccessCase::~ModuleNamespaceAccessCase):
(JSC::ModuleNamespaceAccessCase::clone):
(JSC::ModuleNamespaceAccessCase::emit):
- bytecode/ModuleNamespaceAccessCase.h: Added.
(JSC::ModuleNamespaceAccessCase::moduleNamespaceObject):
(JSC::ModuleNamespaceAccessCase::moduleEnvironment):
(JSC::ModuleNamespaceAccessCase::scopeOffset):
- bytecode/PolymorphicAccess.cpp:
(WTF::printInternal):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleModuleNamespaceLoad):
(JSC::DFG::ByteCodeParser::handleGetById):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::loadValue):
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
- runtime/AbstractModuleRecord.cpp:
(JSC::AbstractModuleRecord::getModuleNamespace):
- runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::visitChildren):
(JSC::getValue):
(JSC::JSModuleNamespaceObject::getOwnPropertySlot):
(JSC::JSModuleNamespaceObject::getOwnPropertyNames):
- runtime/JSModuleNamespaceObject.h:
(JSC::isJSModuleNamespaceObject):
(JSC::JSModuleNamespaceObject::create): Deleted.
(JSC::JSModuleNamespaceObject::createStructure): Deleted.
(JSC::JSModuleNamespaceObject::moduleRecord): Deleted.
- runtime/JSModuleRecord.h:
(JSC::JSModuleRecord::moduleEnvironment): Deleted.
- runtime/PropertySlot.h:
(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::domJIT):
(JSC::PropertySlot::moduleNamespaceSlot):
(JSC::PropertySlot::setValueModuleNamespace):
(JSC::PropertySlot::setCacheableCustom):
- 5:25 AM Changeset in webkit [213048] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r212816 - NetworkProcess: Stop disabling buffering when NETWORK_CACHE is disabled in build
https://bugs.webkit.org/show_bug.cgi?id=168637
Reviewed by Alex Christensen.
It was added in r193752 as part of bug #137692 to fix an infinite loop in network process that happened in EFL
because they didn't enable the network cache at that time. I think that was actually a workaround, and it was
added without any comment so it has stayed there even when EFL enabled disk cache, and now that is gone. Looking
at current code I see no reason why buffering can't work with the disk cache disabled, so I think it's time to
remove that workaround.
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime):
- 5:24 AM Changeset in webkit [213047] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212815 - [GStreamer] Crash in MediaPlayerPrivateGStreamerMSE::buffered() when MEDIA_STREAM is disabled
https://bugs.webkit.org/show_bug.cgi?id=168662
Reviewed by Michael Catanzaro.
When MEDIA_STREAM is disabled, if MediaPlayer::loadWithNextMediaEngine is called with a current engine and
there's no type specified, the next media engine that is used is the MSE one. Since there's no actually a media
stream, the engine is created but never loaded. When buffered is called it tries to use its media source that is
nullptr. It doesn't happen when MEDIA_STREAM is enabled, because the next media engine returned is Owr that
doesn't implement buffered and always returns an empty PlatformTimeRanges.
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::buffered): Return an empty PlatformTimeRanges if m_mediaSource is nullptr.
- 5:23 AM Changeset in webkit [213046] by
-
- 4 edits in releases/WebKitGTK/webkit-2.16
Merge r212814 - [GTK] Test fast/events/message-port-postMessage-recursive.html times out
https://bugs.webkit.org/show_bug.cgi?id=168570
Reviewed by Michael Catanzaro.
Source/WTF:
This has recently been added and the patch is good. It's just revealing a problem with our timers. The test is
posting a message recursively, and also starts a timeout timer to finish the test. The timeout timer is never
fired for us, because WebCore timers have lower priority than the one used by postMessage. ScriptExecutionContext
uses Document::postTask, that uses scheduleOnMainThread, that uses RunLoop::dispatch(). We are not setting any
priority for the timer used by RunLoop::dispatch, so it's using the default.
Use a RunLoop::Timer to schedule tasks to the main thread instead of using RunLoop::dispatch(). This allows us
to use a different priority, that is now set to G_PRIORITY_HIGH_IDLE + 20 to match WebCore timers. But it also
avoids the double queue we had with RunLoop::dispatch(), because scheduleOnMainThread() also queues the tasks.
- wtf/glib/MainThreadGLib.cpp:
(WTF::MainThreadDispatcher::MainThreadDispatcher):
(WTF::MainThreadDispatcher::schedule):
(WTF::MainThreadDispatcher::fired):
(WTF::scheduleDispatchFunctionsOnMainThread):
LayoutTests:
- platform/gtk/TestExpectations:
- 5:21 AM Changeset in webkit [213045] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r212791 - Add more missing exception checks detected by running marathon.js.
https://bugs.webkit.org/show_bug.cgi?id=168697
Reviewed by Saam Barati.
- runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
(JSC::replaceUsingStringSearch):
- 3:29 AM Changeset in webkit [213044] by
-
- 6 edits in trunk/Source/WebCore
[TextureMapper] Clean up BitmapTextureGL construction
https://bugs.webkit.org/show_bug.cgi?id=168909
Reviewed by Carlos Garcia Campos.
Have the BitmapTextureGL constructor accept an rvalue reference pointer
to the GraphicsContext3D object. A static create() method is also added
to help with constructing these objects. Construction sites are updated
appropriately.
The BitmapTextureGL constructor is further cleaned up by moving default
member initializations together with the member declarations.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
- platform/graphics/texmap/BitmapTextureGL.cpp:
(WebCore::BitmapTextureGL::BitmapTextureGL):
- platform/graphics/texmap/BitmapTextureGL.h:
- platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::createTexture):
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::createTexture):
- 2:06 AM Changeset in webkit [213043] by
-
- 4 edits in trunk/Source/WebCore
[TextureMapper] Remove InterpolationQuality, TextDrawingModeFlags member variables
https://bugs.webkit.org/show_bug.cgi?id=168906
Reviewed by Carlos Garcia Campos.
Remove the InterpolationQuality and TextDrawingModeFlags member variables from the
TextureMapper class. These weren't modified anywhere in the code.
BitmapTexture::updateContents() still sets the image interpolation quality and
drawing mode on the ImageBuffer's GraphicsContext, but now uses the default
InterpolationDefault and TextModeFill values.
- platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::updateContents):
- platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::TextureMapper): Deleted.
(WebCore::TextureMapper::~TextureMapper): Deleted.
- platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::setImageInterpolationQuality): Deleted.
(WebCore::TextureMapper::setTextDrawingMode): Deleted.
(WebCore::TextureMapper::imageInterpolationQuality): Deleted.
(WebCore::TextureMapper::textDrawingMode): Deleted.
- 1:49 AM Changeset in webkit [213042] by
-
- 18 edits1 copy42 adds2 deletes in trunk
Add a way to test file input without relying on drag and drop
https://bugs.webkit.org/show_bug.cgi?id=168848
<rdar://problem/22258242>
Reviewed by Tim Horton.
Tools:
Existing layout tests relied on drag and drop support in EventSender to configure a file
input element for testing. This had several problems:
- WebKitTestRunner has no support for beginDragWithFiles(), and DumpRenderTree doesn't support it on iOS.
- We have no test coverage for selecting files via the runOpenPanel UI delegate, leading to bugs like webkit.org/b/159686.
Even if we fixed (1), we'd still have a test coverage gap due to (2), so this patch
introduces a way for a test to specify the list of files that should be selected by the
runOpenPanel UI delegate: TestRunner.setOpenPanelFiles(). It also creates versions of a
number of existing file input tests using TestRunner.setOpenPanelFiles() instead of
EventSender.beginDragWithFiles().
- DumpRenderTree/ios/DumpRenderTreeBrowserView.mm:
(-[DumpRenderTreeBrowserView webView:runOpenPanelForFileButtonWithResultListener:configuration:]):
Overrode to call the corresponding method on UIDelegate.
- DumpRenderTree/TestRunner.cpp:
(setOpenPanelFilesCallback): Added to call TestRunner::setOpenPanelFiles().
(TestRunner::staticFunctions): Registered setOpenPanelFiles.
(TestRunner::setOpenPanelFiles): Added. Converts the JavaScript array of file paths to a
std::vector of std::strings.
- DumpRenderTree/TestRunner.h:
(TestRunner::openPanelFiles):
- DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
Added. Converts the array of file paths to an NSArray of NSURLs, resolving the file paths
relative to the current test URL. Returns either the first item or all items depending on
the value of allowMultipleFiles.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Defined setOpenPanelFiles.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setOpenPanelFiles): Added. Converts the JavaScript array of file paths to
a WKArray of WKURLs, resolving the file paths relative to the current test URL, and sends
the WKArray to the UI process with the "SetOpenPanelFileURLs" message.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::runOpenPanel): Calls the WKOpenPanelResultListener with either the first item or all
items, depending on the value of WKOpenPanelParametersGetAllowsMultipleFiles().
(WTR::TestController::resetStateToConsistentValues): Clear m_openPanelFileURLs.
- WebKitTestRunner/TestController.h:
(WTR::TestController::openPanelFileURLs):
(WTR::TestController::setOpenPanelFileURLs):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Added code to handle the
"SetOpenPanelFileURLs" message.
LayoutTests:
Added versions of existing file input tests that use TestRunner.setOpenPanelFiles() instead
of EventSender.beginDragWithFiles().
- fast/dom/FileList-iterator-using-open-panel-expected.txt: Added.
- fast/dom/FileList-iterator-using-open-panel.html: Added.
- fast/files/apply-blob-url-to-img-using-open-panel-expected.txt: Added.
- fast/files/apply-blob-url-to-img-using-open-panel.html: Added.
- fast/files/apply-blob-url-to-xhr-using-open-panel-expected.txt: Added.
- fast/files/apply-blob-url-to-xhr-using-open-panel.html: Added.
- fast/files/file-list-test-using-open-panel-expected.txt: Added.
- fast/files/file-list-test-using-open-panel.html: Added.
- fast/files/file-reader-abort-using-open-panel-expected.txt: Added.
- fast/files/file-reader-abort-using-open-panel.html: Added.
- fast/files/file-reader-directory-crash-using-open-panel-expected.txt: Added.
- fast/files/file-reader-directory-crash-using-open-panel.html: Added.
- fast/files/filereader-zip-bundle-using-open-panel-expected.txt: Added.
- fast/files/filereader-zip-bundle-using-open-panel.html: Added.
- fast/forms/file/file-input-reset-using-open-panel-expected.html: Added.
- fast/forms/file/file-input-reset-using-open-panel.html: Added.
- fast/forms/file/file-reset-in-change-using-open-panel-expected.html: Added.
- fast/forms/file/file-reset-in-change-using-open-panel.html: Added.
- fast/forms/file/get-file-upload-using-open-panel-expected.txt: Added.
- fast/forms/file/get-file-upload-using-open-panel.html: Added.
- fast/forms/file/input-file-value-using-open-panel-expected.txt: Added.
- fast/forms/file/input-file-value-using-open-panel.html: Added.
- fast/forms/file/input-file-write-files-using-open-panel-expected.txt: Added.
- fast/forms/file/input-file-write-files-using-open-panel.html: Added.
- fast/history/page-cache-createObjectURL-using-open-panel-expected.txt: Added.
- fast/history/page-cache-createObjectURL-using-open-panel.html: Added.
- http/tests/local/blob/resources/hybrid-blob-util.js:
(this.setupForTests):
(this.runTestsWithDrag):
(this.runTestsWithOpenPanel):
(this.runTests):
- http/tests/local/blob/script-tests/send-hybrid-blob-using-open-panel.js: Added.
(runHybridBlobTest):
(runTests.F):
(runTests.D):
(runTests):
- http/tests/local/blob/send-hybrid-blob-using-open-panel-expected.txt: Added.
- http/tests/local/blob/send-hybrid-blob-using-open-panel.html: Added.
- http/tests/local/fileapi/file-last-modified-after-delete-using-open-panel-expected.txt: Added.
- http/tests/local/fileapi/file-last-modified-after-delete-using-open-panel.html: Added.
- http/tests/local/fileapi/file-last-modified-using-open-panel-expected.txt: Added.
- http/tests/local/fileapi/file-last-modified-using-open-panel.html: Added.
- http/tests/local/fileapi/resources/setup-file-input-element-for-drag.js:
(setFileInputChangeCallback):
- http/tests/local/fileapi/script-tests/file-last-modified-after-delete-using-open-panel.js: Added.
(onFileChange):
(runTest):
- http/tests/local/fileapi/script-tests/file-last-modified-using-open-panel.js: Added.
(onFileChange):
(runTest):
- http/tests/local/fileapi/upload-zip-bundle-as-blob-using-open-panel-expected.txt: Added.
- http/tests/local/fileapi/upload-zip-bundle-as-blob-using-open-panel.html: Added.
- http/tests/local/formdata/send-form-data-constructed-from-form-using-open-panel-expected.txt: Added.
- http/tests/local/formdata/send-form-data-constructed-from-form-using-open-panel.html: Added.
- http/tests/local/formdata/send-form-data-with-empty-file-filename-using-open-panel-expected.txt: Added.
- http/tests/local/formdata/send-form-data-with-empty-file-filename-using-open-panel.html: Added.
- media/video-src-blob-using-open-panel-expected.txt: Added.
- media/video-src-blob-using-open-panel.html: Added.
- platform/ios-simulator/TestExpectations:
- 1:45 AM Changeset in webkit [213041] by
-
- 4 edits in trunk/Websites/perf.webkit.org
A Locked indicator should be visually distinct from an unlocked indicator
https://bugs.webkit.org/show_bug.cgi?id=168868
<rdar://problem/29666054>
Reviewed by Antti Koivisto.
Added the support for specifying options.lockedIndicator in addition to options.indicator to style
an locked indicator differently from an unlocked one.
- browser-tests/time-series-chart-tests.js: Added new test cases for indicators.
(createChartWithSampleCluster): Renamed and swapped the order of arguments to better match
TimeSeriesChart's constructor. Now the second argument is an array of source as is in the constructor.
(createInteractiveChartWithSampleCluster): Added.
- public/v3/components/chart-styles.js:
(ChartStyles.overviewChartOptions): Changed the color of a selection to blue.
(ChartStyles.mainChartOptions): Ditto. Also use a different style for a locked indicator.
- public/v3/components/interactive-time-series-chart.js:
(InteractiveTimeSeriesChart.prototype._layout): Removed the unused variable.
(InteractiveTimeSeriesChart.prototype._renderChartContent): Use options.lockedIndicator when rendering
a locked indicator. Also stroke the circle in addition to filling it so that we can use a blue circle
with a white hole for a locked indicator to make it even more visually distinctive from an unlocked one.
- 1:06 AM Changeset in webkit [213040] by
-
- 4 edits8 adds in releases/WebKitGTK/webkit-2.16
Merge r212784 - REGRESSION (r207720): /more/conformance/conformance/quickCheckAPI-S_V.html test fails
https://bugs.webkit.org/show_bug.cgi?id=168632
<rdar://problem/30620129>
Reviewed by Darin Adler.
Source/WebCore:
After r207720, the following WebGL conformance tests started failing:
- /more/conformance/conformance/quickCheckAPI-S_V.html
- /context/context-lost.html
We started throwing security errors in case where we did not before.
Chrome and Firefox are both passing these tests so our new behavior was not interoperable.
This patch reverts part of r207720 to restore our previous behavior.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texSubImage2D):
(WebCore::WebGLRenderingContextBase::texImage2D):
(WebCore::WebGLRenderingContextBase::validateHTMLImageElement):
(WebCore::WebGLRenderingContextBase::validateHTMLCanvasElement):
(WebCore::WebGLRenderingContextBase::validateHTMLVideoElement):
- html/canvas/WebGLRenderingContextBase.h:
LayoutTests:
Import layout test coverage.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/context/context-lost-expected.txt: Added.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/context/context-lost.html: Added.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/conformance/argGenerators-S_V.js: Added.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/conformance/quickCheckAPI-S_V-expected.txt: Added.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/conformance/quickCheckAPI-S_V.html: Added.
- http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/conformance/quickCheckAPI.js: Added.
- 1:03 AM Changeset in webkit [213039] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r212780 - Unreviewed, fix cloop. I managed to have my local patch for relanding be the one without the cloop
fix. I keep forgetting about cloop!
- heap/Heap.cpp:
(JSC::Heap::stopThePeriphery):
- runtime/JSLock.cpp:
- 1:03 AM Changeset in webkit [213038] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r212779 - Add missing exception checks detected by running marathon.js.
https://bugs.webkit.org/show_bug.cgi?id=168687
Reviewed by Saam Barati.
When running the marathon.js test from https://bugs.webkit.org/show_bug.cgi?id=168580,
we get some crashes due to missing exception checks. This patch adds those
missing exception checks.
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::toPropertyKey):
- runtime/JSObject.cpp:
(JSC::JSObject::getPrimitiveNumber):
- 12:24 AM Changeset in webkit [213037] by
-
- 41 edits4 copies2 moves8 adds1 delete in releases/WebKitGTK/webkit-2.16
The collector thread should only start when the mutator doesn't have heap access
https://bugs.webkit.org/show_bug.cgi?id=167737
Reviewed by Keith Miller.
JSTests:
Add versions of splay that flash heap access, to simulate what might happen if a third-party app
was running concurrent GC. In this case, we might actually start the collector thread.
- stress/splay-flash-access-1ms.js: Added.
(performance.now):
(this.Setup.setup.setup):
(this.TearDown.tearDown.tearDown):
(Benchmark):
(BenchmarkResult):
(BenchmarkResult.prototype.valueOf):
(BenchmarkSuite):
(alert):
(Math.random):
(BenchmarkSuite.ResetRNG):
(RunStep):
(BenchmarkSuite.RunSuites):
(BenchmarkSuite.CountBenchmarks):
(BenchmarkSuite.GeometricMean):
(BenchmarkSuite.GeometricMeanTime):
(BenchmarkSuite.AverageAbovePercentile):
(BenchmarkSuite.GeometricMeanLatency):
(BenchmarkSuite.FormatScore):
(BenchmarkSuite.prototype.NotifyStep):
(BenchmarkSuite.prototype.NotifyResult):
(BenchmarkSuite.prototype.NotifyError):
(BenchmarkSuite.prototype.RunSingleBenchmark):
(RunNextSetup):
(RunNextBenchmark):
(RunNextTearDown):
(BenchmarkSuite.prototype.RunStep):
(GeneratePayloadTree):
(GenerateKey):
(SplayUpdateStats):
(InsertNewNode):
(SplaySetup):
(SplayTearDown):
(SplayRun):
(SplayTree):
(SplayTree.prototype.isEmpty):
(SplayTree.prototype.insert):
(SplayTree.prototype.remove):
(SplayTree.prototype.find):
(SplayTree.prototype.findMax):
(SplayTree.prototype.findGreatestLessThan):
(SplayTree.prototype.exportKeys):
(SplayTree.prototype.splay_):
(SplayTree.Node):
(SplayTree.Node.prototype.traverse_):
(jscSetUp):
(jscTearDown):
(jscRun):
(averageAbovePercentile):
(printPercentile):
- stress/splay-flash-access.js: Added.
(performance.now):
(this.Setup.setup.setup):
(this.TearDown.tearDown.tearDown):
(Benchmark):
(BenchmarkResult):
(BenchmarkResult.prototype.valueOf):
(BenchmarkSuite):
(alert):
(Math.random):
(BenchmarkSuite.ResetRNG):
(RunStep):
(BenchmarkSuite.RunSuites):
(BenchmarkSuite.CountBenchmarks):
(BenchmarkSuite.GeometricMean):
(BenchmarkSuite.GeometricMeanTime):
(BenchmarkSuite.AverageAbovePercentile):
(BenchmarkSuite.GeometricMeanLatency):
(BenchmarkSuite.FormatScore):
(BenchmarkSuite.prototype.NotifyStep):
(BenchmarkSuite.prototype.NotifyResult):
(BenchmarkSuite.prototype.NotifyError):
(BenchmarkSuite.prototype.RunSingleBenchmark):
(RunNextSetup):
(RunNextBenchmark):
(RunNextTearDown):
(BenchmarkSuite.prototype.RunStep):
(GeneratePayloadTree):
(GenerateKey):
(SplayUpdateStats):
(InsertNewNode):
(SplaySetup):
(SplayTearDown):
(SplayRun):
(SplayTree):
(SplayTree.prototype.isEmpty):
(SplayTree.prototype.insert):
(SplayTree.prototype.remove):
(SplayTree.prototype.find):
(SplayTree.prototype.findMax):
(SplayTree.prototype.findGreatestLessThan):
(SplayTree.prototype.exportKeys):
(SplayTree.prototype.splay_):
(SplayTree.Node):
(SplayTree.Node.prototype.traverse_):
(jscSetUp):
(jscTearDown):
(jscRun):
(averageAbovePercentile):
(printPercentile):
Source/JavaScriptCore:
This turns the collector thread's workflow into a state machine, so that the mutator thread can
run it directly. This reduces the amount of synchronization we do with the collector thread, and
means that most apps will never start the collector thread. The collector thread will still start
when we need to finish collecting and we don't have heap access.
In this new world, "stopping the world" means relinquishing control of collection to the mutator.
This means tracking who is conducting collection. I use the GCConductor enum to say who is
conducting. It's either GCConductor::Mutator or GCConductor::Collector. I use the term "conn" to
refer to the concept of conducting (having the conn, relinquishing the conn, taking the conn).
So, stopping the world means giving the mutator the conn. Releasing heap access means giving the
collector the conn.
This meant bringing back the conservative scan of the calling thread. It turns out that this
scan was too slow to be called on each GC increment because apparently setjmp() now does system
calls. So, I wrote our own callee save register saving for the GC. Then I had doubts about
whether or not it was correct, so I also made it so that the GC only rarely asks for the register
state. I think we still want to use my register saving code instead of setjmp because setjmp
seems to save things we don't need, and that could make us overly conservative.
It turns out that this new scheduling discipline makes the old space-time scheduler perform
better than the new stochastic space-time scheduler on systems with fewer than 4 cores. This is
because the mutator having the conn enables us to time the mutator<->collector context switches
by polling. The OS is never involved. So, we can use super precise timing. This allows the old
space-time schduler to shine like it hadn't before.
The splay results imply that this is all a good thing. On 2-core systems, this reduces pause
times by 40% and it increases throughput about 5%. On 1-core systems, this reduces pause times by
half and reduces throughput by 8%. On 4-or-more-core systems, this doesn't seem to have much
effect.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitChildren):
- dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::ThreadBody::ThreadBody):
(JSC::DFG::Worklist::dump):
(JSC::DFG::numberOfWorklists):
(JSC::DFG::ensureWorklistForIndex):
(JSC::DFG::existingWorklistForIndexOrNull):
(JSC::DFG::existingWorklistForIndex):
- dfg/DFGWorklist.h:
(JSC::DFG::numberOfWorklists): Deleted.
(JSC::DFG::ensureWorklistForIndex): Deleted.
(JSC::DFG::existingWorklistForIndexOrNull): Deleted.
(JSC::DFG::existingWorklistForIndex): Deleted.
- heap/CollectingScope.h: Added.
(JSC::CollectingScope::CollectingScope):
(JSC::CollectingScope::~CollectingScope):
- heap/CollectorPhase.cpp: Added.
(JSC::worldShouldBeSuspended):
(WTF::printInternal):
- heap/CollectorPhase.h: Added.
- heap/EdenGCActivityCallback.cpp:
(JSC::EdenGCActivityCallback::lastGCLength):
- heap/FullGCActivityCallback.cpp:
(JSC::FullGCActivityCallback::doCollection):
(JSC::FullGCActivityCallback::lastGCLength):
- heap/GCConductor.cpp: Added.
(JSC::gcConductorShortName):
(WTF::printInternal):
- heap/GCConductor.h: Added.
- heap/GCFinalizationCallback.cpp: Added.
(JSC::GCFinalizationCallback::GCFinalizationCallback):
(JSC::GCFinalizationCallback::~GCFinalizationCallback):
- heap/GCFinalizationCallback.h: Added.
(JSC::GCFinalizationCallbackFuncAdaptor::GCFinalizationCallbackFuncAdaptor):
(JSC::createGCFinalizationCallback):
- heap/Heap.cpp:
(JSC::Heap::Thread::Thread):
(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::gatherStackRoots):
(JSC::Heap::updateObjectCounts):
(JSC::Heap::sweepSynchronously):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collectAsync):
(JSC::Heap::collectSync):
(JSC::Heap::shouldCollectInCollectorThread):
(JSC::Heap::collectInCollectorThread):
(JSC::Heap::checkConn):
(JSC::Heap::runNotRunningPhase):
(JSC::Heap::runBeginPhase):
(JSC::Heap::runFixpointPhase):
(JSC::Heap::runConcurrentPhase):
(JSC::Heap::runReloopPhase):
(JSC::Heap::runEndPhase):
(JSC::Heap::changePhase):
(JSC::Heap::finishChangingPhase):
(JSC::Heap::stopThePeriphery):
(JSC::Heap::resumeThePeriphery):
(JSC::Heap::stopTheMutator):
(JSC::Heap::resumeTheMutator):
(JSC::Heap::stopIfNecessarySlow):
(JSC::Heap::collectInMutatorThread):
(JSC::Heap::waitForCollector):
(JSC::Heap::acquireAccessSlow):
(JSC::Heap::releaseAccessSlow):
(JSC::Heap::relinquishConn):
(JSC::Heap::finishRelinquishingConn):
(JSC::Heap::handleNeedFinalize):
(JSC::Heap::notifyThreadStopping):
(JSC::Heap::finalize):
(JSC::Heap::addFinalizationCallback):
(JSC::Heap::requestCollection):
(JSC::Heap::waitForCollection):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::collectIfNecessaryOrDefer):
(JSC::Heap::notifyIsSafeToCollect):
(JSC::Heap::preventCollection):
(JSC::Heap::performIncrement):
(JSC::Heap::markToFixpoint): Deleted.
(JSC::Heap::shouldCollectInThread): Deleted.
(JSC::Heap::collectInThread): Deleted.
(JSC::Heap::stopTheWorld): Deleted.
(JSC::Heap::resumeTheWorld): Deleted.
- heap/Heap.h:
(JSC::Heap::machineThreads):
(JSC::Heap::lastFullGCLength):
(JSC::Heap::lastEdenGCLength):
(JSC::Heap::increaseLastFullGCLength):
- heap/HeapInlines.h:
(JSC::Heap::mutatorIsStopped): Deleted.
- heap/HeapStatistics.cpp: Removed.
- heap/HeapStatistics.h: Removed.
- heap/HelpingGCScope.h: Removed.
- heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::stopSweeping):
(JSC::IncrementalSweeper::willFinishSweeping): Deleted.
- heap/IncrementalSweeper.h:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherConservativeRoots):
(JSC::callWithCurrentThreadState):
- heap/MachineStackMarker.h:
- heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::allocateSlowCaseImpl):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::sweep):
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::sweep):
- heap/MutatorState.cpp:
(WTF::printInternal):
- heap/MutatorState.h:
- heap/RegisterState.h: Added.
- heap/RunningScope.h: Added.
(JSC::RunningScope::RunningScope):
(JSC::RunningScope::~RunningScope):
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::SlotVisitor):
(JSC::SlotVisitor::drain):
(JSC::SlotVisitor::drainFromShared):
(JSC::SlotVisitor::drainInParallelPassively):
(JSC::SlotVisitor::donateAll):
(JSC::SlotVisitor::donate):
- heap/SlotVisitor.h:
(JSC::SlotVisitor::codeName):
- heap/StochasticSpaceTimeMutatorScheduler.cpp:
(JSC::StochasticSpaceTimeMutatorScheduler::beginCollection):
(JSC::StochasticSpaceTimeMutatorScheduler::synchronousDrainingDidStall):
(JSC::StochasticSpaceTimeMutatorScheduler::timeToStop):
- heap/SweepingScope.h: Added.
(JSC::SweepingScope::SweepingScope):
(JSC::SweepingScope::~SweepingScope):
- jit/JITWorklist.cpp:
(JSC::JITWorklist::Thread::Thread):
- jsc.cpp:
(GlobalObject::finishCreation):
(functionFlashHeapAccess):
- runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
- runtime/JSCellInlines.h:
(JSC::JSCell::classInfo):
- runtime/Options.cpp:
(JSC::overrideDefaults):
- runtime/Options.h:
- runtime/TestRunnerUtils.cpp:
(JSC::finalizeStatsAtEndOfTesting):
Source/WebCore:
Added new tests in JSTests.
The WebCore changes involve:
- Refactoring around new header discipline.
- Adding crazy GC APIs to window.internals to enable us to test the GC's runloop discipline.
- ForwardingHeaders/heap/GCFinalizationCallback.h: Added.
- ForwardingHeaders/heap/IncrementalSweeper.h: Added.
- ForwardingHeaders/heap/MachineStackMarker.h: Added.
- ForwardingHeaders/heap/RunningScope.h: Added.
- bindings/js/CommonVM.cpp:
- testing/Internals.cpp:
(WebCore::Internals::parserMetaData):
(WebCore::Internals::isReadableStreamDisturbed):
(WebCore::Internals::isGCRunning):
(WebCore::Internals::addGCFinalizationCallback):
(WebCore::Internals::stopSweeping):
(WebCore::Internals::startSweeping):
- testing/Internals.h:
- testing/Internals.idl:
Source/WTF:
Extend the use of AbstractLocker so that we can use more locking idioms.
- wtf/AutomaticThread.cpp:
(WTF::AutomaticThreadCondition::notifyOne):
(WTF::AutomaticThreadCondition::notifyAll):
(WTF::AutomaticThreadCondition::add):
(WTF::AutomaticThreadCondition::remove):
(WTF::AutomaticThreadCondition::contains):
(WTF::AutomaticThread::AutomaticThread):
(WTF::AutomaticThread::tryStop):
(WTF::AutomaticThread::isWaiting):
(WTF::AutomaticThread::notify):
(WTF::AutomaticThread::start):
(WTF::AutomaticThread::threadIsStopping):
- wtf/AutomaticThread.h:
- wtf/NumberOfCores.cpp:
(WTF::numberOfProcessorCores):
- wtf/ParallelHelperPool.cpp:
(WTF::ParallelHelperClient::finish):
(WTF::ParallelHelperClient::claimTask):
(WTF::ParallelHelperPool::Thread::Thread):
(WTF::ParallelHelperPool::didMakeWorkAvailable):
(WTF::ParallelHelperPool::hasClientWithTask):
(WTF::ParallelHelperPool::getClientWithTask):
- wtf/ParallelHelperPool.h:
Tools:
Make more tests collect continuously.
- Scripts/run-jsc-stress-tests:
- 12:07 AM Changeset in webkit [213036] by
-
- 10 edits in trunk
Links cannot be activated when running Mobile Safari with external SDK build of WebKit for iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=141906
Reviewed by Tim Horton.
Source/WebKit2:
Even if Touch Events are disabled, we still need to register a
UIWebTouchEventsGestureRecognizer to record the layer tree transaction ID when a touch
begins. Click events are only generated for touches that occur after the current frame's
load has committed, and we use the transaction ID from when the touch began to implement
this check.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleTouchEventSynchronously):
(WebKit::WebPageProxy::resetState):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.h: Declared _layerTreeTransactionIdAtLastTouchStart.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]): Register a UIWebTouchEventsGestureRecognizer even if
Touch Events are disabled.
(-[WKContentView cleanupInteraction]): Reset _layerTreeTransactionIdAtLastTouchStart to 0.
(-[WKContentView _webTouchEventsRecognized:]): Update _layerTreeTransactionIdAtLastTouchStart
when a touch begins, even if Touch Events are disabled.
(-[WKContentView _singleTapCommited:]): Passed _layerTreeTransactionIdAtLastTouchStart to
WebPageProxy::commitPotentialTap().
(-[WKContentView _attemptClickAtLocation:]): Ditto for WebPageProxy::handleTap().
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::commitPotentialTap):
(WebKit::WebPageProxy::handleTap):
LayoutTests:
Unskipped tests that now pass. Rewrote a test to use UIHelper so that it works on both
DumpRenderTree and WebKitTestRunner.
- fast/events/can-click-element-on-page-with-active-pseudo-class-and-search-field.html:
Rewrote to use UIHelper.activateAt().
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations: