Timeline
Jul 4, 2018:
- 11:54 PM Changeset in webkit [233512] by
-
- 11 edits2 adds in trunk
REGRESSION(r233325): [GTK] Broke 40 animations tests
https://bugs.webkit.org/show_bug.cgi?id=187264
Reviewed by Žan Doberšek.
Source/WebCore:
This is because DocumentAnimationScheduler uses DisplayRefreshMonitor, that is only used by GTK port when
accelerated compositing is enabled. Add a GTK display refresh monitor implementation to be used as the default.
- PlatformGTK.cmake: Add new file to compilation.
- platform/graphics/DisplayRefreshMonitor.cpp:
(WebCore::DisplayRefreshMonitor::createDefaultDisplayRefreshMonitor): Create DisplayRefreshMonitorGtk in GTK.
- platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: Added.
(WebCore::DisplayRefreshMonitorGtk::DisplayRefreshMonitorGtk):
(WebCore::DisplayRefreshMonitorGtk::~DisplayRefreshMonitorGtk):
(WebCore::onFrameClockUpdate):
(WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback):
(WebCore::DisplayRefreshMonitorGtk::displayLinkFired):
- platform/graphics/gtk/DisplayRefreshMonitorGtk.h: Added.
(WebCore::DisplayRefreshMonitorGtk::create):
Source/WebKit:
Use a different PlatformDisplayID for compositing in the GTK port. This way, when entering AC a window screen
changed is emitted and the GTK default display refresh monitor is destroyed, ensuring the one created by the
threaded compositor is used.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::create): Remove unused WebPage parameter and add PlatformDisplayID.
(WebKit::ThreadedCompositor::ThreadedCompositor): Create the display refresh monitor with the given displayID.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
(WebKit::ThreadedDisplayRefreshMonitor::ThreadedDisplayRefreshMonitor): Pass the given displayID to the parent constructor.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h:
(WebKit::ThreadedDisplayRefreshMonitor::create): Add PlatformDisplayID parameter.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): Use compositingDisplayID when
creating the threaded compositor and notify about the window screen change.
(WebKit::ThreadedCoordinatedLayerTreeHost::setIsDiscardable): Use primaryDisplayID when leaving AC and
compositingDisplayID when re-entering.
LayoutTests:
Remove expectations for tests that are passing now.
- platform/gtk/TestExpectations:
- 10:48 PM Changeset in webkit [233511] by
-
- 2 edits in trunk/Tools
Unreviewed. Fixing a call in flatpakutils.py to PortFactory.get(),
enforcing the passed platform argument to always be lowercase, as is
expected from the PortFactory code.
- flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args):
- 8:50 PM Changeset in webkit [233510] by
-
- 7 edits2 adds in trunk
Reparse user stylesheets when _useSystemAppearance changes
https://bugs.webkit.org/show_bug.cgi?id=187312
<rdar://problem/38565834>
Reviewed by Tim Horton.
Source/WebCore:
This setting may affect user stylesheet parsing. Reparse if it changes.
Test: fast/media/use-system-appearance-user-stylesheet-parsing.html
- page/Page.cpp:
(WebCore::Page::setUseSystemAppearance):
- page/Page.h:
(WebCore::Page::setUseSystemAppearance): Deleted.
- testing/Internals.cpp:
(WebCore::Internals::setUseSystemAppearance):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/media/use-system-appearance-user-stylesheet-parsing-expected.txt: Added.
- fast/media/use-system-appearance-user-stylesheet-parsing.html: Added.
- 1:12 PM Changeset in webkit [233509] by
-
- 2 edits in trunk/Source/WebCore
RealtimeIncomingVideoSources: Call stop() directly in the destructor
https://bugs.webkit.org/show_bug.cgi?id=187303
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-04
Reviewed by Youenn Fablet.
Avoiding to call stopProducingData when we are not actually producing data.
This fixes tests that will run once the WPE/GTK PeerConnection implementation is merged.
- platform/mediastream/RealtimeIncomingVideoSource.h:
(WebCore::RealtimeIncomingVideoSource::~RealtimeIncomingVideoSource):
- 1:08 PM Changeset in webkit [233508] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Stop pushing the StreamCollection as event in GStreamerMediaStreamSource
https://bugs.webkit.org/show_bug.cgi?id=187304
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-04
Reviewed by Philippe Normand.
We let parsebin build the StreamCollection for us and pass extra metadata through the
TAG_EVENTpushing the collection ourself is not bringing anything but adds extra work in the
MediaPlayerGStreamer duplicating the STREAM_COLLECTION message for no good reason.
MediaStream layout tests already test that code path.
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(WebCore::webkitMediaStreamSrcPadProbeCb):
- 11:45 AM Changeset in webkit [233507] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GTK test gardening.
https://bugs.webkit.org/show_bug.cgi?id=187328
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 8:47 AM Changeset in webkit [233506] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
[libwebrtc] Allow IP mismatch for local connections on localhost
https://bugs.webkit.org/show_bug.cgi?id=187302
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-04
Reviewed by Youenn Fablet.
The rest of the code allows it, but there was an unecessary assert
- Source/webrtc/p2p/base/tcpport.cc:
- 7:17 AM Changeset in webkit [233505] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 60
Added a tag for Safari Technology Preview release 60.
- 5:54 AM Changeset in webkit [233504] by
-
- 2 edits in trunk/Source/WTF
FunctionTraits: Make cCallArity() constant on 32-bits.
https://bugs.webkit.org/show_bug.cgi?id=187292
Reviewed by Yusuke Suzuki.
On X86, in Source/JavaScriptCore/jit/CCallHelpers.h we have a
static_assert that uses cCallArity(), so it needs to be constant to
avoid a compilation error. This is achieved by changing an ASSERT into
a static_assert.
- wtf/FunctionTraits.h:
(WTF::slotsForCCallArgument):
- 2:49 AM Changeset in webkit [233503] by
-
- 2 edits in trunk/Source/WebCore
[WebIDL] Remove custom bindings for HTMLDocument
https://bugs.webkit.org/show_bug.cgi?id=173444
Unreviewed, add missing bugzilla link for FIXME comments.
Patch by Frederic Wang <fwang@igalia.com> on 2018-07-04
- dom/Document.cpp:
(WebCore::Document::closeForBindings):
(WebCore::Document::write):
(WebCore::Document::writeln):
- 2:43 AM Changeset in webkit [233502] by
-
- 2 edits in trunk/Source/WebKit
A WKWebView in a UIViewController that is presented modally and uses a file picker will be incorrectly dismissed by the system
https://bugs.webkit.org/show_bug.cgi?id=185257
<rdar://problem/40819252>
Patch by Olivia Barnett <obarnett@apple.com> on 2018-07-04
Reviewed by Tim Horton.
Call to dismiss the presented modal was being called on the parent and not the child, which caused the file picker to be incorrectly dismissed along with the modal. A test for this bug-fix could not be completed without additional tools as TestWebKitAPI is not a UI application.
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _dismissDisplayAnimated:]):
- 2:06 AM Changeset in webkit [233501] by
-
- 67 edits in trunk
Introduce PLATFORM(IOSMAC)
https://bugs.webkit.org/show_bug.cgi?id=187315
Reviewed by Dan Bernstein.
Source/bmalloc:
- Configurations/Base.xcconfig:
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig:
Source/WebCore:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/WebCore.xcconfig:
- Modules/geolocation/ios/GeolocationPositionIOS.mm:
(WebCore::GeolocationPosition::GeolocationPosition):
- page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::platformReleaseMemory):
- platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSession::setCategory):
(WebCore::AudioSession::routingContextUID const):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldDisableSleep):
- platform/ios/PlatformPasteboardIOS.mm:
(WebCore::registerItemToPasteboard):
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderRegistrationInfoList itemProvider]):
Source/WebCore/PAL:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- pal/cf/CoreMediaSoftLink.cpp:
- pal/cf/CoreMediaSoftLink.h:
- pal/spi/mac/AVFoundationSPI.h:
Source/WebInspectorUI:
- Configurations/Base.xcconfig:
Source/WebKit:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/NetworkService.xcconfig:
- Configurations/WebContentService.xcconfig:
- Configurations/WebKit.xcconfig:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::sourceApplicationAuditData const):
- NetworkProcess/ios/NetworkProcessIOS.mm:
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeProcessName):
(WebKit::overrideSystemProxies):
- Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createForExternalHostingProcess):
- Platform/spi/ios/UIKitSPI.h:
- Shared/ios/ChildProcessIOS.mm:
(WebKit::ChildProcess::initializeSandbox):
- Shared/ios/InteractionInformationAtPosition.h:
- Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::encode const):
(WebKit::InteractionInformationAtPosition::decode):
- Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::setApplicationIsDaemon):
(WebKit::enableSandboxStyleFileQuarantine):
- Shared/mac/CodeSigning.mm:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _webViewPrintFormatter]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
(-[WKRemoteView initWithFrame:contextID:]):
- UIProcess/_WKWebViewPrintFormatter.mm:
- UIProcess/_WKWebViewPrintFormatterInternal.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _didExitStableState]):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:canBePreventedByGestureRecognizer:]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView canPerformActionForWebView:withSender:]):
(-[WKContentView _defineForWebView:]):
(-[WKContentView setSelectedTextRange:]):
(-[WKContentView closestPositionToPoint:]):
(-[WKContentView _updateChangedSelection:]):
- UIProcess/ios/WKLegacyPDFView.mm:
- UIProcess/ios/WKPDFView.mm:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::getPositionInformation):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::initializeSandbox):
- config.h:
Source/WebKitLegacy/ios:
- Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
Source/WebKitLegacy/mac:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- Configurations/Base.xcconfig:
- wtf/FeatureDefines.h:
- wtf/Platform.h:
Tools:
- TestWebKitAPI/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 12:58 AM Changeset in webkit [233500] by
-
- 7 edits in trunk
[Web Animations] Make WPT test at timing-model/timelines/timelines.html pass reliably
https://bugs.webkit.org/show_bug.cgi?id=186508
<rdar://problem/41000260>
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Record WPT test progressions.
- web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt:
- web-platform-tests/web-animations/timing-model/timelines/timelines-expected.txt:
Source/WebCore:
The remaining failing assertion in this test assumes that the ready promise for an animation is fired
prior to requestAnimationFrame callbacks being fired in the current event loop such that registering
the requestAnimationFrame() call within the ready promise has its callback fired with the same timeline
time. To ensure that is true, we perform a microtask checkpoint as soon as we're done running pending
tasks, which will resolve the ready promise for any play-pending animations.
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::updateAnimations):
LayoutTests:
We're now passing this test reliably.
- 12:43 AM Changeset in webkit [233499] by
-
- 2 edits in trunk/Source/WebKit
50 failing WebDriver tests after r233417
https://bugs.webkit.org/show_bug.cgi?id=187263
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2018-07-04
Reviewed by Frédéric Wang.
A std::optional value is used while being std::nullopt. This is because the wrong input source is used when
transitioning keyboard input states.
- UIProcess/Automation/SimulatedInputDispatcher.cpp:
(WebKit::SimulatedInputDispatcher::transitionInputSourceToState):
Jul 3, 2018:
- 8:45 PM Changeset in webkit [233498] by
-
- 2 edits in trunk/Tools
WebKit.ResponsivenessTimerCrash sometimes fails.
https://bugs.webkit.org/show_bug.cgi?id=187314
Reviewed by Tim Horton.
Actually unregister observers from objects we're about to destroy before destroying them.
- TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:
(-[ResponsivenessTimerObserver observeValueForKeyPath:ofObject:change:context:]):
- 8:32 PM Changeset in webkit [233497] by
-
- 7 edits in trunk/Source/WebKit
Remove quarantine for Webex plugin
https://bugs.webkit.org/show_bug.cgi?id=187050
rdar://problem/41478189
Reviewed by Brent Fulgham.
Update the Plugin Info.plist to not do quarantine of downloaded files by default.
Update PluginProcess implementation to reenable quarantine for all plug-ins except cisco webex plug-in.
- Platform/spi/mac/QuarantineSPI.h: Add qtn_proc_init.
- PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
- PluginProcess/PluginProcess.h:
- PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::shouldOverrideQuarantine):
- Shared/ChildProcess.h:
(WebKit::ChildProcess::shouldOverrideQuarantine):
- Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox):
- 8:31 PM Changeset in webkit [233496] by
-
- 25 edits2 adds in trunk
Nullptr crash accessing Document in GenericEventQueue::dispatchOneEvent()
https://bugs.webkit.org/show_bug.cgi?id=187284
Reviewed by Eric Carlson.
Source/WebCore:
The null pointer crash was caused by some GenericEventQueue dispatching an event in a stopped document,
which does not have a valid script execution context because some uses of GenericEventQueue in media code
was not closing the queue upon stopping of all active DOM objects.
Fixed all uses of GenericEventQueue which did not suspend or stop the queue with active DOM objects.
Made SourceBufferList and TrackListBase (along with AudioTrackList, TextTrackList, and VideoTrackList)
inherit from ActiveDOMObject instead of ContextDestructionObserver to do this.
Also fixed a bug that media elements inside a template element (and other cases where the document doesn't
have a browsing context) were scheduling events since this would hit the newly added debug assertion in
GenericEventQueue::dispatchOneEvent.
Test: media/track/video-track-addition-and-frame-removal.html
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::suspend): Assert that we never try to suspend when the document has
this object alive since canSuspendForDocumentSuspension always returns false.
(WebCore::WebKitMediaKeySession::resume): Ditto.
(WebCore::WebKitMediaKeySession::stop): Stop the event queue to avoid the crash.
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::removeSourceBuffer): Don't do any work to update tracks when the active DOM
objects are stopped since this MediaSource and the related media objects are about to be destructed.
(WebCore::MediaSource::suspend): Assert that m_asyncEventQueue is empty as canSuspendForDocumentSuspension
returns false whenever the queue is not empty.
(WebCore::MediaSource::resume): Ditto.
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::suspend): Ditto.
(WebCore::SourceBuffer::resume): Ditto.
(WebCore::SourceBuffer::stop): Stop the event queue to avoid the crash.
- Modules/mediasource/SourceBuffer.h:
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList): Made this an active DOM object.
(WebCore::SourceBufferList::SourceBufferList):
(WebCore::SourceBufferList::canSuspendForDocumentSuspension const): Added. Return false when there are
pending events to match other media code.
(WebCore::SourceBufferList::suspend): Added. Assert that the event queue is empty here.
(WebCore::SourceBufferList::resume): Ditto.
(WebCore::SourceBufferList::stop): Added. Stop the event queue to avoid the crash.
(WebCore::SourceBufferList::activeDOMObjectName const): Added.
- Modules/mediasource/SourceBufferList.h:
(WebCore::SourceBufferList): Made this an active DOM object.
- Modules/mediasource/SourceBufferList.idl:
- dom/Document.h:
(WebCore::Document::hasBrowsingContext const): Added.
- dom/GenericEventQueue.cpp:
(WebCore::GenericEventQueue::dispatchOneEvent): Added an assertion to catch when an event is dispatched
inside a stopped document, which is never correct and causes this crash down the line.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::playInternal): Exit early when the document doesn't have a browsing context;
e.g. when the media element is inside a template element.
(WebCore::HTMLMediaElement::pauseInternal): Ditto.
(WebCore::HTMLMediaElement::sourceWasAdded): Ditto.
- html/track/AudioTrackList.cpp:
(AudioTrackList::activeDOMObjectName const): Added.
- html/track/AudioTrackList.h:
- html/track/AudioTrackList.idl:
- html/track/TextTrackList.cpp::
(TextTrackList::activeDOMObjectName const): Added.
- html/track/TextTrackList.h:
- html/track/TextTrackList.idl:
- html/track/TrackListBase.cpp:
(WebCore::TrackListBase): Made this an active DOM object.
(WebCore::TrackListBase::TrackListBase):
(WebCore::TrackListBase::canSuspendForDocumentSuspension const): Added. Return false when there are pending events
to match other media code.
(WebCore::TrackListBase::suspend): Added. Assert that the event queue is empty here.
(WebCore::TrackListBase::resume): Ditto.
(WebCore::TrackListBase::stop): Added. Stop the event queue to avoid the crash.
- html/track/TrackListBase.h:
- html/track/VideoTrackList.cpp:
(VideoTrackList::activeDOMObjectName const): Added.
- html/track/VideoTrackList.h:
- html/track/VideoTrackList.idl:
LayoutTests:
Added a regression test which reliably hits the newly added debug assertion.
- media/track/video-track-addition-and-frame-removal-expected.txt: Added.
- media/track/video-track-addition-and-frame-removal.html: Added.
- 8:18 PM Changeset in webkit [233495] by
-
- 4 edits in trunk
[cairo] Doesn't paint box-shadow with zero blur-radius
https://bugs.webkit.org/show_bug.cgi?id=187244
Reviewed by Žan Doberšek.
Source/WebCore:
Cairo::ShadowState::isRequired() returned false if blur-radius is
zero.
No new tests (Covered by existing tests).
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::ShadowState::isRequired const): Do not check blur
is zero.
LayoutTests:
- platform/gtk/fast/box-shadow/inset-expected.png: Updated.
- 8:14 PM Changeset in webkit [233494] by
-
- 2 edits in trunk/Tools
update-webkitgtk-flatpak fails if running with python2
https://bugs.webkit.org/show_bug.cgi?id=187240
Reviewed by Michael Catanzaro.
urllib.urlretrieve of Python2 sends invalid requests. Use
urllib2.urlopen instead.
- flatpak/flatpakutils.py: Import urllib2.urlopen for Python2,
urllib.request.urlopen for Python3.
(FlatpakRepo.repo_file): Copy the content of urlopen result to the
temporary file.
- 7:33 PM Changeset in webkit [233493] by
-
- 3 edits in trunk/Source/WebCore
Add a release assert to diagnose infinite recursions in removeAllEventListeners()
https://bugs.webkit.org/show_bug.cgi?id=187287
Reviewed by Keith Miller.
Assert that we never re-enter removeAllEventListeners per thread.
- dom/EventTarget.cpp:
(WebCore::EventTarget::removeAllEventListeners):
- platform/ThreadGlobalData.h:
(WebCore::ThreadGlobalData::ThreadGlobalData::isInRemoveAllEventListeners const):
(WebCore::ThreadGlobalData::ThreadGlobalData::setIsInRemoveAllEventListeners):
- 6:56 PM Changeset in webkit [233492] by
-
- 4 edits in trunk
Crash in WebKit::CacheStorage::Cache::toRecordInformation when running http/tests/cache-storage/cache-persistency.https.html
https://bugs.webkit.org/show_bug.cgi?id=187243
Reviewed by Chris Dumez.
Source/WebKit:
In case a caches object has an engine, it uses the engine to get the salt.
In case engine/caches are non persistent, no salt was set for the engine, hence the crashes.
Add an empty salt whenever initializing a non-persistent engine to remove the crash.
Covered by updated expectations for two tests.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::initialize):
LayoutTests:
- 5:24 PM Changeset in webkit [233491] by
-
- 2 edits in trunk/Source/WebKit
Fix regression introduced in r233335
https://bugs.webkit.org/show_bug.cgi?id=187282
Reviewed by Chris Dumez.
When checking for navigation loads, we need to return whether the request URL matches the service worker URL.
Before this patch, if the request URL was not matching the service worker URL, we were using the origin/referrer
which should only be used for subresource loads.
Covered by imported/w3c/web-platform-tests/service-workers/service-worker/claim-with-redirect.https.html
being no longer flaky.
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::isValidFetch):
- 5:11 PM Changeset in webkit [233490] by
-
- 8 edits in trunk
performance-api/performance-observer-no-document-leak.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=186938
<rdar://problem/41379336>
Reviewed by Simon Fraser.
Source/WebCore:
Add internals API to get the identifier of a document and to ask if the document with
a given identifier is still alive. This is helpful to write tests for document leaking
fixes.
- testing/Internals.cpp:
(WebCore::Internals::documentIdentifier const):
(WebCore::Internals::isDocumentAlive const):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Update test to stop relying on internals.numberOfLiveDocuments() and instead rely on the new
internals.documentIdentifier() / internals.isDocumentAlive(documentIdentifier) API in order
to address the flakiness. Relying on the number of live documents to check if a particular
document was destroyed is unreliable and flaky given that WebKit constructs documents for
various reasons.
- TestExpectations:
- performance-api/performance-observer-no-document-leak-expected.txt:
- performance-api/performance-observer-no-document-leak.html:
- 5:06 PM Changeset in webkit [233489] by
-
- 6 edits10 adds in trunk
Improve window.event compliance: Should not be set when target is in shadow tree
https://bugs.webkit.org/show_bug.cgi?id=186266
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Re-sync dom/events web-platform-tests from 59d4a411a8e to gain test coverage.
- web-platform-tests/dom/events/Event-returnValue-expected.txt:
- web-platform-tests/dom/events/Event-returnValue.html:
- web-platform-tests/dom/events/event-global-expected.txt: Added.
- web-platform-tests/dom/events/event-global-extra.window.js: Added.
(async_test.t.frame.onload.t.step_func_done):
- web-platform-tests/dom/events/event-global.html: Added.
- web-platform-tests/dom/events/event-global.worker-expected.txt: Added.
- web-platform-tests/dom/events/event-global.worker.html: Added.
- web-platform-tests/dom/events/event-global.worker.js: Added.
- web-platform-tests/dom/events/relatedTarget.window.js: Added.
(test):
(test.t.input.oninput.t.step_func):
- web-platform-tests/dom/events/resources/event-global-extra-frame.html: Added.
- web-platform-tests/dom/events/resources/w3c-import.log: Added.
- web-platform-tests/dom/events/w3c-import.log:
Source/WebCore:
Stop exposing window.event to Shadow DOM by not setting window.event if the event's target
is a Node inside a shadow tree. This is as per the latest DOM specification:
This aligns our behavior with Blink as well:
Tests: imported/w3c/web-platform-tests/dom/events/event-global.html
imported/w3c/web-platform-tests/dom/events/event-global.worker.html
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
- 5:05 PM Changeset in webkit [233488] by
-
- 4 edits in trunk
Make CallbackMap::invalidate() safe to re-enter
https://bugs.webkit.org/show_bug.cgi?id=187298
<rdar://problem/41057167>
Reviewed by Geoffrey Garen.
Source/WebKit:
Made it safe to re-enter CallbackMap::invalidate(), GenericCallback::performCallbackWithReturnValue(),
GenericCallback::invalidate() & invalidateCallbackMap() since those execute client blocks which may
re-enter WebKit.
- UIProcess/GenericCallback.h:
(WebKit::GenericCallback::performCallbackWithReturnValue):
(WebKit::invalidateCallbackMap):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(TEST):
- 4:54 PM Changeset in webkit [233487] by
-
- 10 edits2 adds in trunk
[Cocoa] Disable vnode guard related simulated crashes for WKTR / DRT and WebSQL
https://bugs.webkit.org/show_bug.cgi?id=187270
<rdar://problem/40674034>
Reviewed by Geoffrey Garen.
Source/WebCore:
Disable vnode guard related simulated crashes for WebSQL by setting the expected
environment variable, if not already set by WKTR / DRT.
- Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::initialize):
(WebCore::DatabaseManager::platformInitialize):
- Modules/webdatabase/DatabaseManager.h:
- Modules/webdatabase/cocoa/DatabaseManagerCocoa.mm: Added.
(WebCore::DatabaseManager::paltformInitialize):
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/FileSystem.h:
- platform/posix/FileSystemPOSIX.cpp:
(WebCore::FileSystem::realPath):
- platform/win/FileSystemWin.cpp:
(WebCore::FileSystem::realPath):
Tools:
Disable vnode guard related simulated crashes for WKTR / DRT by setting the
expected environment variable in the test driver.
- Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver):
- 3:57 PM Changeset in webkit [233486] by
-
- 2 edits in trunk/LayoutTests
Re-enabling canvas tests for canvas/philip/tests/initial.reset.gradient.html
https://bugs.webkit.org/show_bug.cgi?id=187307
Unreviewed test gardening.
Patch by Truitt Savell <Truitt Savell> on 2018-07-03
- platform/mac/TestExpectations:
- 3:57 PM Changeset in webkit [233485] by
-
- 5 edits in trunk/Source/WebCore
Don't allow autoplay when the element is suspended
https://bugs.webkit.org/show_bug.cgi?id=187299
<rdar://problem/41044691>
Reviewed by Youenn Fablet.
Block autoplay when a media element is suspended. Add more release logging to the methods
that handle autoplay attempts to help diagnose future media playback problems.
- html/HTMLMediaElement.cpp:
(WebCore::convertEnumerationToString): Convert PlaybackWithoutUserGesture to a string.
(WebCore::HTMLMediaElement::dispatchPlayPauseEventsIfNeedsQuirks): Add logging.
(WebCore::HTMLMediaElement::hardwareMutedStateDidChange): Ditto.
(WebCore::HTMLMediaElement::handleAutoplayEvent): Ditto.
(WebCore::HTMLMediaElement::userDidInterfereWithAutoplay): Ditto.
(WebCore::HTMLMediaElement::setPlaybackWithoutUserGesture): Ditto.
- html/HTMLMediaElement.h:
(WTF::LogArgument<WebCore::HTMLMediaElement::PlaybackWithoutUserGesture>::toString):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackPermitted const): Playback is not permitted when the
element is suspended.
- html/MediaElementSession.h:
- 3:44 PM Changeset in webkit [233484] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Clean up sandbox warnings found during Public Beta
https://bugs.webkit.org/show_bug.cgi?id=187308
<rdar://problem/41203914>
Reviewed by Eric Carlson.
I made our sandbox overly restrictive during our iOS 12.0 development cycle, and have found a number of missing items.
This patch adds the missing IOKit properties, and removes a duplicate call to (play-media).
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 3:41 PM Changeset in webkit [233483] by
-
- 2 edits in trunk/LayoutTests
re-enable some canvas tests that are now consistently passing
https://bugs.webkit.org/show_bug.cgi?id=187305
Unreviewed test gardening.
Patch by Truitt Savell <Truitt Savell> on 2018-07-03
- platform/mac/TestExpectations:
- 3:28 PM Changeset in webkit [233482] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Generate anonymous inline box for text content.
https://bugs.webkit.org/show_bug.cgi?id=187301
Reviewed by Antti Koivisto.
Always have a inline container for text content (and no dedicated text renderer).
- layout/layouttree/LayoutInlineBox.cpp:
(WebCore::Layout::InlineBox::InlineBox):
- layout/layouttree/LayoutInlineBox.h:
(WebCore::Layout::InlineBox::setContent):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createSubTree):
- 2:38 PM Changeset in webkit [233481] by
-
- 16 edits1 copy in trunk/Source
[Curl] Embed certificate information into ResourceResponse.
https://bugs.webkit.org/show_bug.cgi?id=187102
Reviewed by Youenn Fablet.
Source/WebCore:
No new tests but tested internally.
Collect certificate information from the communication and put them into
ResourceResponse for the sake of advanced security checking and information
providing to the user.
- platform/Curl.cmake:
- platform/network/curl/CertificateInfo.cpp: Copied from Source/WebCore/platform/network/curl/CertificateInfo.h.
(WebCore::CertificateInfo::CertificateInfo):
(WebCore::CertificateInfo::isolatedCopy const):
(WebCore::CertificateInfo::makeCertificate):
- platform/network/curl/CertificateInfo.h:
(WebCore::CertificateInfo::verificationError const):
(WebCore::CertificateInfo::certificateChain const):
(WebCore::operator==):
(WebCore::CertificateInfo::CertificateInfo): Deleted.
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::didReceiveHeader):
(WebCore::CurlRequest::didCompleteTransfer):
- platform/network/curl/CurlRequest.h:
(WebCore::CurlRequest::getCertificateInfo const):
(WebCore::CurlRequest::getNetworkLoadMetrics const):
(WebCore::CurlRequest::getNetworkLoadMetrics): Deleted.
- platform/network/curl/CurlResourceHandleDelegate.cpp:
(WebCore::CurlResourceHandleDelegate::curlDidReceiveResponse):
(WebCore::CurlResourceHandleDelegate::curlDidComplete):
- platform/network/curl/CurlSSLHandle.cpp:
(WebCore::CurlSSLHandle::setHostAllowsAnyHTTPSCertificate):
(WebCore::CurlSSLHandle::canIgnoredHTTPSCertificate):
- platform/network/curl/CurlSSLHandle.h:
- platform/network/curl/CurlSSLVerifier.cpp:
(WebCore::CurlSSLVerifier::CurlSSLVerifier):
(WebCore::CurlSSLVerifier::verifyCallback):
(WebCore::StackOfX509::StackOfX509): For RAII. Used in pemDataFromCtx().
(WebCore::StackOfX509::~StackOfX509): Ditto.
(WebCore::StackOfX509::count): Ditto.
(WebCore::StackOfX509::item): Ditto.
(WebCore::BIOHolder::BIOHolder): Ditto.
(WebCore::BIOHolder::~BIOHolder): Ditto.
(WebCore::BIOHolder::write): Ditto.
(WebCore::BIOHolder::asCertificate): Ditto.
(WebCore::pemDataFromCtx): Become simple static function.
(WebCore::convertToSSLCertificateFlags): Ditto.
(WebCore::CurlSSLVerifier::certVerifyCallback): Deleted.
(WebCore::CurlSSLVerifier::getPemDataFromCtx): Deleted.
(WebCore::CurlSSLVerifier::convertToSSLCertificateFlags): Deleted.
- platform/network/curl/CurlSSLVerifier.h:
(WebCore::CurlSSLVerifier::verificationError):
(WebCore::CurlSSLVerifier::certificateChain const):
- platform/network/curl/ResourceError.h:
- platform/network/curl/ResourceErrorCurl.cpp:
(WebCore::ResourceError::isSSLConnectError const):
(WebCore::ResourceError::isSSLCertVerificationError const):
(WebCore::ResourceError::hasSSLConnectError const): Deleted.
- platform/network/curl/ResourceResponse.h:
- platform/network/curl/ResourceResponseCurl.cpp:
(WebCore::ResourceResponse::setCertificateInfo):
(WebCore::ResourceResponse::setDeprecatedNetworkLoadMetrics):
Source/WebKit:
- NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::curlDidComplete):.
- 2:04 PM Changeset in webkit [233480] by
-
- 3 edits in trunk/Source/WebKit
[iOS WK2] We fail to make surfaces volatile when suspending, increasing memory impact
https://bugs.webkit.org/show_bug.cgi?id=187285
rdar://problem/41732391
Reviewed by Tim Horton.
The "Mach port as layer contents" code path used in iOS WK2 relies on replacing the
Mach port layer contents with the actual IOSurface on suspension (otherwise the
live Mach port will keep the surface in use). However, we were never hitting this
RemoteLayerTreeHost::mapAllIOSurfaceBackingStore() code path on iOS 11 and later
because UIKit stopped firing the notification we relied on.
To fix this, use the _UIApplicationDidFinishSuspensionSnapshotNotification notification
which is fired on UIApp.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ApplicationStateTracker.mm:
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
- 2:04 PM Changeset in webkit [233479] by
-
- 9 edits in trunk/Source
Clean up the layer volatility code and logging
https://bugs.webkit.org/show_bug.cgi?id=187286
Reviewed by Tim Horton.
Source/WebCore:
Export a function.
- platform/graphics/cocoa/IOSurface.h:
Source/WebKit:
Fix the layer volatility logging so it doesn't say "succeeded" when it actually failed
and gave up.
Use a couple of lambda functions in RemoteLayerBackingStore::setBufferVolatility() to
make the code easier to read.
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::callVolatilityCompletionHandlers):
(WebKit::WebPage::layerVolatilityTimerFired):
(WebKit::WebPage::markLayersVolatile):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::markLayersVolatile):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::actualPrepareToSuspend):
(WebKit::WebProcess::markAllLayersVolatile):
- WebProcess/WebProcess.h:
- 2:02 PM Changeset in webkit [233478] by
-
- 2 edits in trunk/Tools
Video sometimes flickers when playing to AppleTV
https://bugs.webkit.org/show_bug.cgi?id=187193
<rdar://problem/40153865>
Unreviewed, fix test broken by r233435.
- TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
(TestWebKitAPI::waitUntilAudioSessionCategoryIsEqualTo): Poll for a change in audio session
category because it doesn't necessarily happen synchronously.
(TestWebKitAPI::TEST):
- 1:53 PM Changeset in webkit [233477] by
-
- 2 edits in trunk/Tools
Unreviewed, add myself as a WebKit committer.
And canonicalize the file as suggested by
check-webkit-style
- Scripts/webkitpy/common/config/contributors.json:
- 1:50 PM Changeset in webkit [233476] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r233112.
https://bugs.webkit.org/show_bug.cgi?id=187300
this revision is causing crashes on iOS 11 simulator
(Requested by Truitt on #webkit).
Reverted changeset:
"[Fullscreen] Restore ASSERT_NOT_REACHED() checks in exit
fullscreen handler after r231924"
https://bugs.webkit.org/show_bug.cgi?id=186945
https://trac.webkit.org/changeset/233112
- 1:46 PM Changeset in webkit [233475] by
-
- 7 edits in trunk
Implement support for Element.toggleAttribute
https://bugs.webkit.org/show_bug.cgi?id=186883
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Import WPT test coverage from:
https://github.com/web-platform-tests/wpt/commit/c3db018b96681af3c73ec331ecc01d38e48b8b10
- web-platform-tests/dom/nodes/attributes-expected.txt:
- web-platform-tests/dom/nodes/attributes.html:
Source/WebCore:
Implement support for Element.toggleAttribute as per:
This was already implemented in Blink:
Edge expressed public support:
Gecko is working on it:
- dom/Element.cpp:
(WebCore::Element::toggleAttribute):
- dom/Element.h:
- dom/Element.idl:
- 1:44 PM Changeset in webkit [233474] by
-
- 2 edits in trunk/Tools
check-webkit-style: Run the tool without SVN client.
https://bugs.webkit.org/show_bug.cgi?id=187294
Reviewed by Daniel Bates.
When invoking check-webkit-style without SVN client, the exception was raised and terminated.
Using Git repository is acceptable workflow according to the wording on:
<https://webkit.org/getting-the-code/#checking-out-with-git>
and using Subversion is considered optional by following link:
<https://webkit.org/webkit-on-windows/#installing-developer-tools>.
This patch makes it so that people with only a Git checkout of WebKit that commit using
the commit-queue (or another machine with an SVN checkout) can run check-webkit-style.
- Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.in_working_directory):
- 12:25 PM Changeset in webkit [233473] by
-
- 2 edits in trunk/Source/JavaScriptCore
[32-bit JSC tests] ASSERTION FAILED: !getDirect(offset) !JSValue::encode(getDirect(offset)). https://bugs.webkit.org/show_bug.cgi?id=187255
<rdar://problem/41785257>
Reviewed by Saam Barati.
The 32-bit JIT::emit_op_create_this() needs to initialize uninitialized properties
too: basically, do what the 64-bit code is doing. At present, this change only
serves to pacify an assertion. It is not needed for correctness because the
concurrent GC is not used on 32-bit builds.
This issue is already covered by the slowMicrobenchmarks/rest-parameter-allocation-elimination.js
test.
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_create_this):
- 12:12 PM Changeset in webkit [233472] by
-
- 2 edits in trunk/Tools
Remove old JSCTestsFactory
Follow-up fix to r233471.
- 11:59 AM Changeset in webkit [233471] by
-
- 5 edits in trunk/Tools
[ews-build] Add support for JSC-Tests-EWS
https://bugs.webkit.org/show_bug.cgi?id=187201
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/factories.py:
(JSCTestsFactory): Added JSCTestsFactory.
- BuildSlaveSupport/ews-build/steps.py:
(CompileJSCOnly): Command to compile JSC.
- BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
- BuildSlaveSupport/ews-build/config.json: Changed platform to jsc-only. This matches with build.webkit.org configuration.
- 11:51 AM Changeset in webkit [233470] by
-
- 1 edit1 add in trunk/Tools
[LFC] Add test-list file for regression testing
https://bugs.webkit.org/show_bug.cgi?id=187296
Reviewed by Antti Koivisto.
run-webkit-tests --test-list=./Tools/LayoutReloaded/misc/LFC-passing-tests.txt
- LayoutReloaded/misc/LFC-passing-tests.txt: Added.
- 11:29 AM Changeset in webkit [233469] by
-
- 19 edits in trunk/Source/WebCore
[LFC] Implement minimum/maximum content width logic.
https://bugs.webkit.org/show_bug.cgi?id=187241
Reviewed by Antti Koivisto.
Compute the minimum/maximum content width if needed and cache the values on the formatting state.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeFloatingWidthAndMargin const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
- layout/FormattingContext.h:
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::shrinkToFitWidth):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::shrinkToFitWidth): Deleted.
- layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::FormattingState):
- layout/FormattingState.h:
(WebCore::Layout::FormattingState::setMinimumMaximumContentWidth):
(WebCore::Layout::FormattingState::clearMinimumMaximumContentWidth):
(WebCore::Layout::FormattingState::minimumMaximumContentWidth const):
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::establishedFormattingState):
- layout/LayoutContext.h:
- layout/Verification.cpp:
(WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::createFormattingState const):
(WebCore::Layout::BlockFormattingContext::minimumMaximumContentWidth const):
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::minimumMaximumContentWidthNeedsChildrenWidth):
(WebCore::Layout::BlockFormattingContext::Geometry::minimumMaximumContentWidth):
- layout/blockformatting/BlockFormattingState.cpp:
(WebCore::Layout::BlockFormattingState::BlockFormattingState):
- layout/blockformatting/BlockFormattingState.h:
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::createFormattingState const):
(WebCore::Layout::InlineFormattingContext::minimumMaximumContentWidth const):
- layout/inlineformatting/InlineFormattingContext.h:
- layout/inlineformatting/InlineFormattingState.cpp:
(WebCore::Layout::InlineFormattingState::InlineFormattingState):
- layout/inlineformatting/InlineFormattingState.h:
- page/FrameViewLayoutContext.cpp:
- 11:25 AM Changeset in webkit [233468] by
-
- 7 edits in trunk
Resource Load Statistics: Make WebsiteDataStore::getAllStorageAccessEntries() call the right network process instead of iterating over the process pools
https://bugs.webkit.org/show_bug.cgi?id=187277
<rdar://problem/41745510>
Reviewed by Chris Dumez.
Source/WebKit:
Existing tests use this code. The change is for correctness.
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _getAllStorageAccessEntriesFor:completionHandler:]):
Now receives a WKWebView from its caller and gets the page ID from it.
(-[WKWebsiteDataStore _getAllStorageAccessEntries:]): Deleted.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::getAllStorageAccessEntries):
Now gets a page ID from its caller and gets the right network process
through it.
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::getAllStorageAccessEntries):
- 10:50 AM Changeset in webkit [233467] by
-
- 11 edits in trunk/Source/JavaScriptCore
[JSC] Move slowDownAndWasteMemory function to JSArrayBufferView
https://bugs.webkit.org/show_bug.cgi?id=187290
Reviewed by Saam Barati.
slowDownAndWasteMemory is just overridden by typed arrays. Since they are limited,
we do not need to add this function to MethodTable: just dispatching it in JSArrayBufferView
is fine. And slowDownAndWasteMemory only requires the sizeof(element), which can be
easily calculated from JSType.
This patch removes slowDownAndWasteMemory from MethodTable, and moves it to JSArrayBufferView.
- runtime/ClassInfo.h:
- runtime/JSArrayBufferView.cpp:
(JSC::elementSize):
(JSC::JSArrayBufferView::slowDownAndWasteMemory):
- runtime/JSArrayBufferView.h:
- runtime/JSArrayBufferViewInlines.h:
(JSC::JSArrayBufferView::possiblySharedBuffer):
- runtime/JSCell.cpp:
(JSC::JSCell::slowDownAndWasteMemory): Deleted.
- runtime/JSCell.h:
- runtime/JSDataView.cpp:
(JSC::JSDataView::slowDownAndWasteMemory): Deleted.
- runtime/JSDataView.h:
- runtime/JSGenericTypedArrayView.h:
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory): Deleted.
- 9:50 AM Changeset in webkit [233466] by
-
- 11 edits in trunk
Unreviewed, rolling out r233461.
Assertions triggered during iOS 11 debug layout and API tests
Reverted changeset:
"[iOS] Add assert to catch improper use of WebCore::Timer in
UI Process"
https://bugs.webkit.org/show_bug.cgi?id=185330
https://trac.webkit.org/changeset/233461
- 9:20 AM Changeset in webkit [233465] by
-
- 2 edits in trunk/Source/WebKit
Update com.cmbchina.CMBSecurity.sb to make it functional
https://bugs.webkit.org/show_bug.cgi?id=187278
Reviewed by Brent Fulgham.
- Resources/PlugInSandboxProfiles/com.cmbchina.CMBSecurity.sb:
- 9:15 AM Changeset in webkit [233464] by
-
- 4 edits in trunk/Source
Update Fullscreen anti-phishing alert text
https://bugs.webkit.org/show_bug.cgi?id=187199
<rdar://problem/41162543>
Reviewed by Brent Fulgham.
Source/WebCore:
- English.lproj/Localizable.strings:
Source/WebKit:
- UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController _showPhishingAlert]):
- 8:21 AM Changeset in webkit [233463] by
-
- 5 edits134 adds in trunk/LayoutTests
Import WPT infrastructure tests
https://bugs.webkit.org/show_bug.cgi?id=187095
Patch by Frederic Wang <fwang@igalia.com> on 2018-07-03
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/infrastructure/META.yml: Added.
- web-platform-tests/infrastructure/README.md: Added.
- web-platform-tests/infrastructure/assumptions/META.yml: Added.
- web-platform-tests/infrastructure/assumptions/ahem-expected.html: Added.
- web-platform-tests/infrastructure/assumptions/ahem-notref.html: Added.
- web-platform-tests/infrastructure/assumptions/ahem-ref-expected.html: Added.
- web-platform-tests/infrastructure/assumptions/ahem-ref.html: Added.
- web-platform-tests/infrastructure/assumptions/ahem.html: Added.
- web-platform-tests/infrastructure/assumptions/canvas-background-expected.html: Added.
- web-platform-tests/infrastructure/assumptions/canvas-background.html: Added.
- web-platform-tests/infrastructure/assumptions/html-elements-expected.txt: Added.
- web-platform-tests/infrastructure/assumptions/html-elements.html: Added.
- web-platform-tests/infrastructure/assumptions/initial-color-expected.html: Added.
- web-platform-tests/infrastructure/assumptions/initial-color.html: Added.
- web-platform-tests/infrastructure/assumptions/medium-font-size-expected.html: Added.
- web-platform-tests/infrastructure/assumptions/medium-font-size.html: Added.
- web-platform-tests/infrastructure/assumptions/min-font-size-expected.html: Added.
- web-platform-tests/infrastructure/assumptions/min-font-size.html: Added.
- web-platform-tests/infrastructure/assumptions/non-secure-context.any-expected.txt: Added.
- web-platform-tests/infrastructure/assumptions/non-secure-context.any.html: Added.
- web-platform-tests/infrastructure/assumptions/non-secure-context.any.js: Added.
(test):
- web-platform-tests/infrastructure/assumptions/non-secure-context.any.worker-expected.txt: Added.
- web-platform-tests/infrastructure/assumptions/non-secure-context.any.worker.html: Added.
- web-platform-tests/infrastructure/assumptions/tools/ahem-generate-table.py: Added.
(grouper):
(build_header):
(build_table):
- web-platform-tests/infrastructure/assumptions/tools/build.sh: Added.
- web-platform-tests/infrastructure/assumptions/tools/w3c-import.log: Added.
- web-platform-tests/infrastructure/assumptions/w3c-import.log: Added.
- web-platform-tests/infrastructure/browsers/firefox/prefs.html: Added.
- web-platform-tests/infrastructure/browsers/firefox/w3c-import.log: Added.
- web-platform-tests/infrastructure/expected-fail/failing-test.html: Added.
- web-platform-tests/infrastructure/expected-fail/timeout.html: Added.
- web-platform-tests/infrastructure/expected-fail/w3c-import.log: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/browsers/firefox/dir.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/browsers/firefox/prefs.html.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/browsers/firefox/w3c-import.log: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/expected-fail/failing-test.html.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/expected-fail/timeout.html.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/expected-fail/w3c-import.log: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_and_fail.html.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_cycle_fail.html.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_match_fail.html.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_mismatch_fail.html.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_ref_timeout.html.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_timeout.html.ini: Added.
- web-platform-tests/infrastructure/metadata/infrastructure/reftest/w3c-import.log: Added.
- web-platform-tests/infrastructure/reftest-wait-expected.html: Added.
- web-platform-tests/infrastructure/reftest-wait.html: Added.
- web-platform-tests/infrastructure/reftest/green-expected.html: Added.
- web-platform-tests/infrastructure/reftest/green-ref-expected.html: Added.
- web-platform-tests/infrastructure/reftest/green-ref.html: Added.
- web-platform-tests/infrastructure/reftest/green.html: Added.
- web-platform-tests/infrastructure/reftest/red.html: Added.
- web-platform-tests/infrastructure/reftest/reftest.https-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest.https.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_and_fail-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_and_fail.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_and_fail_0-ref-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_and_fail_0-ref.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle_0-ref-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle_0-ref.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle_1-ref-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle_1-ref.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle_fail-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle_fail.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle_fail_0-ref-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_cycle_fail_0-ref.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_match-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_match.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_match_fail-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_match_fail.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_mismatch-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_mismatch.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_mismatch_fail-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_mismatch_fail.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_or_0-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_or_0.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_ref_timeout-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_ref_timeout.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_timeout-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_timeout.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_wait_0-expected.html: Added.
- web-platform-tests/infrastructure/reftest/reftest_wait_0.html: Added.
- web-platform-tests/infrastructure/reftest/w3c-import.log: Added.
- web-platform-tests/infrastructure/server/order-of-metas.any-expected.txt: Added.
- web-platform-tests/infrastructure/server/order-of-metas.any.html: Added.
- web-platform-tests/infrastructure/server/order-of-metas.any.js: Added.
(test):
- web-platform-tests/infrastructure/server/order-of-metas.any.worker-expected.txt: Added.
- web-platform-tests/infrastructure/server/order-of-metas.any.worker.html: Added.
- web-platform-tests/infrastructure/server/order-of-metas.window.js: Added.
(test):
- web-platform-tests/infrastructure/server/resources/expect-global.js: Added.
(test):
- web-platform-tests/infrastructure/server/resources/expect-seen-testharness.js: Added.
(test):
- web-platform-tests/infrastructure/server/resources/expect-title-meta.js: Added.
(self.GLOBAL.self.GLOBAL.isWindow):
- web-platform-tests/infrastructure/server/resources/w3c-import.log: Added.
- web-platform-tests/infrastructure/server/secure-context.https.any-expected.txt: Added.
- web-platform-tests/infrastructure/server/secure-context.https.any.html: Added.
- web-platform-tests/infrastructure/server/secure-context.https.any.js: Added.
(test):
- web-platform-tests/infrastructure/server/secure-context.https.any.worker-expected.txt: Added.
- web-platform-tests/infrastructure/server/secure-context.https.any.worker.html: Added.
- web-platform-tests/infrastructure/server/title.any-expected.txt: Added.
- web-platform-tests/infrastructure/server/title.any.html: Added.
- web-platform-tests/infrastructure/server/title.any.js: Added.
(test.t.GLOBAL.isWindow):
- web-platform-tests/infrastructure/server/title.any.worker-expected.txt: Added.
- web-platform-tests/infrastructure/server/title.any.worker.html: Added.
- web-platform-tests/infrastructure/server/w3c-import.log: Added.
- web-platform-tests/infrastructure/server/wpt-server-http.sub-expected.txt: Added.
- web-platform-tests/infrastructure/server/wpt-server-http.sub.html: Added.
- web-platform-tests/infrastructure/server/wpt-server-websocket.sub.html: Added.
- web-platform-tests/infrastructure/testdriver/click.html: Added.
- web-platform-tests/infrastructure/testdriver/send_keys.html: Added.
- web-platform-tests/infrastructure/testdriver/w3c-import.log: Added.
- web-platform-tests/infrastructure/w3c-import.log: Added.
- web-platform-tests/infrastructure/webdriver/tests/conftest.py: Added.
- web-platform-tests/infrastructure/webdriver/tests/test_load_file.py: Added.
(test_load):
- web-platform-tests/infrastructure/webdriver/tests/w3c-import.log: Added.
LayoutTests:
- TestExpectations: Mark known failures.
- 8:01 AM Changeset in webkit [233462] by
-
- 3 edits2 adds in trunk
REGRESSION (r232186): Hardware-accelerated CSS animations using steps() timing function no longer work
https://bugs.webkit.org/show_bug.cgi?id=186129
Patch by Frederic Wang <fwang@igalia.com> on 2018-07-03
Reviewed by Antoine Quint.
Source/WebCore:
When the WebAnimationsCSSIntegration flag is enabled, animating the transform property with
a steps() timing function no longer works. This is because the WebAnimation code wrongly
assumes that the transform property can always be accelerated (for counterexamples, see
GraphicsLayerCA::animationCanBeAccelerated). For consistency with AnimationBase, we make
WebAnimation fallback to non-accelerated mode when RenderBoxModelObject::startAnimation
fails. This addresses the regression previously mentioned.
Test: http/wpt/css/css-animations/start-animation-001.html
- animation/KeyframeEffectReadOnly.cpp:
(WebCore::KeyframeEffectReadOnly::applyPendingAcceleratedActions): Fallback to
non-accelerated mode if startAnimation failed.
LayoutTests:
Add a test to ensure that accelerated and non-accelerated animations are properly started
when WebAnimationsCSSIntegration is enabled. In particular, consider the case of animated
transform using steps() timing function.
- http/wpt/css/css-animations/start-animation-001-expected.html: Added.
- http/wpt/css/css-animations/start-animation-001.html: Added.
- 3:41 AM Changeset in webkit [233461] by
-
- 10 edits in trunk/Source
[iOS] Add assert to catch improper use of WebCore::Timer in UI Process
<https://webkit.org/b/185330>
<rdar://problem/32816079>
Reviewed by Darin Adler.
Source/WebCore:
- platform/RuntimeApplicationChecks.cpp:
(WebCore::s_webKitProcessType): Add. Global to track process
type.
(WebCore::setWebKitProcessType): Implement new function that is
called when initializing Web, Network, and Storage processes.
(WebCore::isInNetworkProcess): Add.
(WebCore::isInStorageProcess): Add.
(WebCore::isInWebProcess): Add.
- Check value in s_webKitProcessType to determine which process is currently running.
- platform/RuntimeApplicationChecks.h:
(WebCore::isInNetworkProcess): Add.
(WebCore::isInStorageProcess): Add.
(WebCore::isInWebProcess):
- Make available for all platforms.
- platform/Timer.cpp:
(WebCore::TimerBase::TimerBase): Add assert and os_log_fault.
This catches the unwanted behavior on iOS using isAllowed().
(WebCore::TimerBase::isAllowed): Add implementation.
- platform/Timer.h:
(WebCore::TimerBase::isAllowed): Add declaration.
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::isInWebProcess): Delete. Replace with method in
RuntimeApplicationChecks.cpp.
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
- StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::StorageProcess):
- WebProcess/WebProcess.cpp:
(WebKit::m_nonVisibleProcessCleanupTimer):
- Call setWebKitProcessType() to se the global for the current process.
- 3:22 AM Changeset in webkit [233460] by
-
- 3 edits3 adds in trunk
[iOS] Animations with Bézier timing function not suspended on UI process when animation-play-state is set to "paused"
https://bugs.webkit.org/show_bug.cgi?id=170784
Source/WebKit:
Reviewed by Antoine Quint.
In order to pause a running animation, GraphicsLayerCA::pauseCAAnimationOnLayer calls
PlatformCALayer::addAnimationForKey, assuming it will replace the current animation.
This patch fixes PlatformCALayerRemote::addAnimationForKey to ensure this assumption holds.
- WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::addAnimationForKey): If the animation was already sent to
the UI process, make sure it is properly updated.
LayoutTests:
Add a reftest to visually check pausing of transform animations.
Reviewed by Antoine Quint.
- http/wpt/css/css-animations/set-animation-play-state-to-paused-001-expected.html: Added.
- http/wpt/css/css-animations/set-animation-play-state-to-paused-001.html: Added.
- 1:34 AM Changeset in webkit [233459] by
-
- 5 edits1 add in trunk/LayoutTests/imported
LayoutTests/imported/mozilla:
Unreviewed, rebaselining somes Web Animations test expectations.
- css-animations/test_animations-dynamic-changes-expected.txt:
- css-animations/test_document-get-animations-expected.txt:
- css-animations/test_keyframeeffect-getkeyframes-expected.txt: Added.
LayoutTests/imported/w3c:
Unreviewed, rebaselining a Web Animations test expectation.
- web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt:
- 1:31 AM Changeset in webkit [233458] by
-
- 2 edits in trunk/LayoutTests
Crash in WebCore::WebAnimation::timeToNextRequiredTick when running imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html
https://bugs.webkit.org/show_bug.cgi?id=187145
Unreviewed. Forgot to remove the expectation change when fixing the bug in r233430.
- 12:05 AM Changeset in webkit [233457] by
-
- 3 edits in trunk/Source/ThirdParty
[WPE][GTK] Another memory issue in xdgmime
https://bugs.webkit.org/show_bug.cgi?id=187239
Reviewed by Carlos Garcia Campos.
Sync the end of xdg_mime_get_mime_type_for_file() with _xdg_mime_cache_get_mime_type_for_file()
to avoid a memory issue.
I'm pretty sure this code is never executed by either Chromium or WebKit, but I'm not
comfortable with leaving it broken.
- xdgmime/README.webkit:
- xdgmime/src/xdgmime.c:
(xdg_mime_get_mime_type_for_file):