commit-queue@webkit.org [Fri, 8 Nov 2019 01:38:26 +0000 (01:38 +0000)]
Please support WEBGL_compressed_texture_etc1 extension (and possibly WEBGL_compressed_texture_etc too)
https://bugs.webkit.org/show_bug.cgi?id=197900
Patch by Kenneth Russell <kbr@chromium.org> on 2019-11-07
Reviewed by Dean Jackson.
Support the ETC1 and ETC2 compressed texture formats in WebKit's WebGL
implementation.
Tested by changing the code to allocate an OpenGL ES 3.0 context for WebGL,
and running in the iOS Simulator. The WebGL conformance tests
webgl-compressed-texture-etc.html and webgl-compressed-texture-etc1.html all
pass with these changes.
When an ANGLE backend is supported on iOS, these extensions will
automatically be supported, and some of the new validation code can be
removed.
* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
* html/canvas/WebGLCompressedTextureETC.cpp: Added.
(WebCore::WebGLCompressedTextureETC::WebGLCompressedTextureETC):
(WebCore::WebGLCompressedTextureETC::getName const):
(WebCore::WebGLCompressedTextureETC::supported):
* html/canvas/WebGLCompressedTextureETC.h: Added.
* html/canvas/WebGLCompressedTextureETC.idl: Added.
* html/canvas/WebGLCompressedTextureETC1.cpp: Added.
(WebCore::WebGLCompressedTextureETC1::WebGLCompressedTextureETC1):
(WebCore::WebGLCompressedTextureETC1::getName const):
(WebCore::WebGLCompressedTextureETC1::supported):
* html/canvas/WebGLCompressedTextureETC1.h: Added.
* html/canvas/WebGLCompressedTextureETC1.idl: Added.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData):
(WebCore::WebGLRenderingContextBase::validateCompressedTexDimensions):
(WebCore::WebGLRenderingContextBase::validateCompressedTexSubDimensions):
* html/canvas/WebGLRenderingContextBase.h:
* platform/graphics/Extensions3D.h:
* platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252226
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin_fan@apple.com [Fri, 8 Nov 2019 01:35:31 +0000 (01:35 +0000)]
[WebGL] Fixing WebGL tests: Add new baselines for iOS bots
https://bugs.webkit.org/show_bug.cgi?id=203938
Unreviewed test expectation gardening.
Follow-up to https://bugs.webkit.org/show_bug.cgi?id=203908.
New baselines for iOS tests generated from simulator.
* TestExpectations:
* platform/ios/TestExpectations:
* platform/ios/webgl/1.0.3/conformance/extensions/get-extension-expected.txt: Added.
* platform/ios/webgl/1.0.3/conformance/extensions/oes-texture-float-expected.txt: Added.
* platform/ios/webgl/1.0.3/conformance/extensions/webgl-compressed-texture-size-limit-expected.txt: Added.
* platform/ios/webgl/1.0.3/conformance/extensions/webgl-draw-buffers-expected.txt: Added.
* platform/ios/webgl/1.0.3/conformance/more/functions/readPixelsBadArgs-expected.txt: Added.
* platform/ios/webgl/1.0.3/conformance/more/functions/texImage2DHTML-expected.txt: Added.
* platform/ios/webgl/1.0.3/conformance/more/functions/texSubImage2DHTML-expected.txt: Added.
* platform/ios/webgl/1.0.3/conformance/renderbuffers/framebuffer-object-attachment-expected.txt: Added.
* platform/ios/webgl/1.0.3/conformance/textures/copy-tex-image-2d-formats-expected.txt: Added.
* platform/ios/webgl/1.0.3/conformance/textures/texture-npot-video-expected.txt: Added.
* platform/ios/webgl/2.0.0/conformance/extensions/angle-instanced-arrays-expected.txt: Added.
* platform/ios/webgl/2.0.0/conformance/extensions/oes-vertex-array-object-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252225
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ysuzuki@apple.com [Fri, 8 Nov 2019 01:29:07 +0000 (01:29 +0000)]
[bmalloc] Bug fix for wait time when it's in mini mode.
https://bugs.webkit.org/show_bug.cgi?id=203121
Reviewed by Saam Barati.
Basuke pointed out that we never changed m_waitTime in scavenger when we are in iOS and mini-mode.
So previously, we are always executing scavenger for each 10ms in mini-mode. After fixing it, we
found that this unintentional behavior was better policy for RAMification.
In this patch, we explicitly use the old behavior, "scavenge for each 10ms" in iOS mini-mode.
We should revisit scavenger's behavior in the future to explore further better behavior.
* bmalloc/Scavenger.cpp:
(bmalloc::Scavenger::threadRunLoop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252224
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 8 Nov 2019 01:18:14 +0000 (01:18 +0000)]
Remove an unused icon resource
https://bugs.webkit.org/show_bug.cgi?id=203983
Reviewed by Wenson Hsieh.
* Resources/mac/mediaIcon.pdf: Removed.
* WebKit.xcodeproj/project.pbxproj:
This file has not been used in years.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252223
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin_fan@apple.com [Fri, 8 Nov 2019 01:15:24 +0000 (01:15 +0000)]
webgl/1.0.3/conformance/context/context-release-upon-reload.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=203984
Unreviewed test expectation addition.
Skip context-release-upon-reload.html on High Sierra WK1 debug bots.
* platform/mac-highsierra-wk1/TestExpectations: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252222
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 8 Nov 2019 01:13:19 +0000 (01:13 +0000)]
WindowEventLoop should be shared among similar origin documents
https://bugs.webkit.org/show_bug.cgi?id=203882
Reviewed by Wenson Hsieh.
Source/WebCore:
Made WindowEventLoop shared across similar origin documents.
Also added internals.queueTask to directly test the event loop behavior
since implicitly testing it via other features has been very cumbersome.
This will help test other features that use the HTML5 event loop as well.
Tests: http/tests/eventloop/queue-task-across-cross-site-frames.html
http/tests/eventloop/queue-task-across-frames.html
* dom/Document.cpp:
(WebCore::Document::eventLoop): Use WindowEventLoop::ensureForRegistrableDomain.
* dom/WindowEventLoop.cpp:
(WebCore::WindowEventLoop::ensureForRegistrableDomain): Added. Replaces create,
and returns an existing WindowEventLoop if the RegistrableDomain matches.
(WebCore::WindowEventLoop::WindowEventLoop): Added.
(WebCore::WindowEventLoop::~WindowEventLoop): Added. Removes itself from the map.
* dom/WindowEventLoop.h:
* testing/Internals.cpp:
(WebCore::Internals::queueTask): Added.
* testing/Internals.h:
* testing/Internals.idl:
LayoutTests:
Added some tests to make sure the event loop is shared among similar origin documents.
* http/tests/eventloop: Added.
* http/tests/eventloop/queue-task-across-cross-site-frames-expected.txt: Added.
* http/tests/eventloop/queue-task-across-cross-site-frames.html: Added.
* http/tests/eventloop/queue-task-across-frames-expected.txt: Added.
* http/tests/eventloop/queue-task-across-frames.html: Added.
* http/tests/eventloop/resources: Added.
* http/tests/eventloop/resources/eventloop-helper.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252221
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 8 Nov 2019 00:57:59 +0000 (00:57 +0000)]
Drop GenericEventQueue class now that it is unused
https://bugs.webkit.org/show_bug.cgi?id=203980
Reviewed by Ryosuke Niwa.
Drop GenericEventQueue class now that it is unused. All users have been ported to the HTML
event loop. MainThreadGenericEventQueue remains for now but will get dropped in a follow-up
patch, once it is no longer used.
* dom/GenericEventQueue.cpp:
(WebCore::MainThreadGenericEventQueue::MainThreadGenericEventQueue):
(WebCore::MainThreadGenericEventQueue::enqueueEvent):
(WebCore::MainThreadGenericEventQueue::dispatchOneEvent):
(WebCore::MainThreadGenericEventQueue::close):
(WebCore::MainThreadGenericEventQueue::cancelAllEvents):
(WebCore::MainThreadGenericEventQueue::hasPendingEvents const):
(WebCore::MainThreadGenericEventQueue::hasPendingEventsOfType const):
(WebCore::MainThreadGenericEventQueue::setPaused):
(WebCore::MainThreadGenericEventQueue::suspend):
(WebCore::MainThreadGenericEventQueue::resume):
(WebCore::MainThreadGenericEventQueue::rescheduleAllEventsIfNeeded):
(WebCore::MainThreadGenericEventQueue::stop):
(WebCore::MainThreadGenericEventQueue::activeDOMObjectName const):
(WebCore::TaskQueueConstructor::construct): Deleted.
(WebCore::TaskQueueConstructor<Timer>::construct): Deleted.
(WebCore::GenericEventQueueBase<T>::GenericEventQueueBase): Deleted.
(WebCore::GenericEventQueueBase<T>::enqueueEvent): Deleted.
(WebCore::GenericEventQueueBase<T>::dispatchOneEvent): Deleted.
(WebCore::GenericEventQueueBase<T>::close): Deleted.
(WebCore::GenericEventQueueBase<T>::cancelAllEvents): Deleted.
(WebCore::GenericEventQueueBase<T>::hasPendingEvents const): Deleted.
(WebCore::GenericEventQueueBase<T>::hasPendingEventsOfType const): Deleted.
(WebCore::GenericEventQueueBase<T>::setPaused): Deleted.
(WebCore::GenericEventQueueBase<T>::suspend): Deleted.
(WebCore::GenericEventQueueBase<T>::resume): Deleted.
(WebCore::GenericEventQueueBase<T>::rescheduleAllEventsIfNeeded): Deleted.
(WebCore::GenericEventQueueBase<T>::stop): Deleted.
(WebCore::GenericEventQueueBase<T>::activeDOMObjectName const): Deleted.
(WebCore::GenericEventQueue::create): Deleted.
* dom/GenericEventQueue.h:
(WebCore::GenericEventQueueBase::isSuspended const): Deleted.
(WebCore::GenericEventQueueBase::isSuspendedOrPausedByClient const): Deleted.
(WebCore::MainThreadGenericEventQueue::MainThreadGenericEventQueue): Deleted.
(WebCore::GenericEventQueue::GenericEventQueue): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252218
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn@apple.com [Fri, 8 Nov 2019 00:52:28 +0000 (00:52 +0000)]
Layout Test http/tests/appcache/remove-cache.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=199124
<rdar://problem/
52008712>
Reviewed by Chris Dumez.
The flakiness probably comes from the use of a setTimeout that might kick in while in most runs, it never kicks in.
When the timer kicks in, the test is reloaded, which triggers a new console log line.
The current console lines do not bring more values than what the test checks with appcache events.
Removing console log lines from the expected file will fix the flakiness.
* TestExpectations:
* http/tests/appcache/remove-cache-expected.txt:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252217
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tzagallo@apple.com [Fri, 8 Nov 2019 00:37:52 +0000 (00:37 +0000)]
[WebAssembly] Inspector's DebuggerCallFrame should be aware of Wasm frames
https://bugs.webkit.org/show_bug.cgi?id=203925
Reviewed by Mark Lam.
The DebuggerCallFrame checks for CallFrame::codeBlock to determine if it the current frame is a
valid JS frame, but since the Wasm interpreter stores the Wasm::FunctionCodeBlock to this slot,
that check is not sufficient. Add an extra check for CalleeBits::isWasm.
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::sourceIDForCallFrame):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252216
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yurys@chromium.org [Thu, 7 Nov 2019 23:44:55 +0000 (23:44 +0000)]
Web Inspector: http/tests/inspector/target/target-events-for-provisional-page.html is flaky when running with other tests
https://bugs.webkit.org/show_bug.cgi?id=203965
<rdar://problem/
56988642>
Reviewed by Devin Rousso.
Enforce enableProcessSwapOnWindowOpen=true for the test so that it PSON is enabled regardless of other tests
that may run before (the test may reuse Page instance from the previous test on which
Page::openedByDOMWithOpener==true).
* http/tests/inspector/target/target-events-for-provisional-page.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252214
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 7 Nov 2019 23:39:56 +0000 (23:39 +0000)]
Web Inspector: REGRESSION(r251958): console prompt is automatically focused when page is reloaded
https://bugs.webkit.org/show_bug.cgi?id=203932
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js:
(WI._restoreCookieForOpenTabs):
Only attempt to autofocus when Web Inspector is first opened.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252213
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 7 Nov 2019 23:24:35 +0000 (23:24 +0000)]
Port Worker to the HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203919
Reviewed by Ryosuke Niwa.
* dom/ActiveDOMObject.h:
* workers/Worker.cpp:
(WebCore::Worker::Worker):
(WebCore::Worker::terminate):
(WebCore::Worker::hasPendingActivity const):
(WebCore::Worker::notifyFinished):
(WebCore::Worker::dispatchEvent):
(WebCore::Worker::enqueueEvent): Deleted.
* workers/Worker.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252212
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Thu, 7 Nov 2019 23:20:01 +0000 (23:20 +0000)]
[iOS] Add logging and telemetry to more mach lookup rules
https://bugs.webkit.org/show_bug.cgi?id=203978
Reviewed by Brent Fulgham.
Add logging and telemetry to help determine if mach lookup of these services can be denied in the WebContent process.
* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252211
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
katherine_cheney@apple.com [Thu, 7 Nov 2019 23:16:39 +0000 (23:16 +0000)]
Many resourceLoadStatistics tests and storageAccess tests using the ITP
Database redirect to the corresponding memory store test after setting
a cookie
https://bugs.webkit.org/show_bug.cgi?id=203958
<rdar://problem/
56984114>
Reviewed by John Wilander.
This patch fixes incorrect redirects in some ITP database store tests.
They should redirect back to themselves as opposed to corresponding
memory store tests to be sure they are testing the correct
functionality.
* http/tests/resourceLoadStatistics/add-blocking-to-redirect-database.html:
* http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-database.html:
* http/tests/resourceLoadStatistics/cookie-deletion-database.html:
* http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-database.html:
* http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations-database.html:
* http/tests/resourceLoadStatistics/downgraded-referrer-for-navigation-with-link-query-from-prevalent-resource-database.html:
* http/tests/resourceLoadStatistics/grandfathering-database.html:
* http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-database.html:
* http/tests/resourceLoadStatistics/ping-to-prevalent-resource-database.html:
* http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database.html:
* http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html:
* http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database.html:
* http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html:
* http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html:
* http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database.html:
* http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html:
* http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 7 Nov 2019 23:16:07 +0000 (23:16 +0000)]
Port MessagePort to the HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203960
Reviewed by Ryosuke Niwa.
* dom/MessagePort.cpp:
(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::close):
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::dispatchEvent):
* dom/MessagePort.h:
* dom/TaskSource.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 7 Nov 2019 23:01:20 +0000 (23:01 +0000)]
Factor matched declarations cache into a class
https://bugs.webkit.org/show_bug.cgi?id=203972
Reviewed by Zalan Bujtas.
Move the code out from StyleResolver and rename "matched properties cache" -> "matched declarations cache"
to better describe it.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::declarationsForOrigin):
Add a helper.
(WebCore::ElementRuleCollector::transferMatchedRules):
Reserve vector capacity before adding rules.
(WebCore::ElementRuleCollector::addMatchedProperties):
* css/ElementRuleCollector.h:
(WebCore::MatchResult::operator== const):
(WebCore::MatchResult::operator!= const):
Remove the unneeded inline capacity so we can just use MatchResult itself in the cache.
* css/RuleSet.cpp:
(WebCore::RuleSet::addChildRules):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::invalidateMatchedDeclarationsCache):
(WebCore::StyleResolver::clearCachedDeclarationsAffectedByViewportUnits):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::sweepMatchedPropertiesCache): Deleted.
(WebCore::StyleResolver::computeMatchedPropertiesHash): Deleted.
(WebCore::StyleResolver::findFromMatchedPropertiesCache): Deleted.
(WebCore::StyleResolver::addToMatchedPropertiesCache): Deleted.
(WebCore::StyleResolver::invalidateMatchedPropertiesCache): Deleted.
(WebCore::StyleResolver::clearCachedPropertiesAffectedByViewportUnits): Deleted.
(WebCore::isCacheableInMatchedPropertiesCache): Deleted.
* css/StyleResolver.h:
(WebCore::StyleResolver::MatchedPropertiesCacheItem::MatchedPropertiesCacheItem): Deleted.
* dom/Document.cpp:
(WebCore::Document::invalidateMatchedPropertiesCacheAndForceStyleRecalc):
(WebCore::Document::updateViewportUnitsOnResize):
* page/Page.cpp:
(WebCore::Page::updateStyleAfterChangeInEnvironment):
* style/MatchedDeclarationsCache.cpp: Added.
(WebCore::Style::MatchedDeclarationsCache::MatchedDeclarationsCache):
(WebCore::Style::MatchedDeclarationsCache::isCacheable):
(WebCore::Style::MatchedDeclarationsCache::computeHash):
(WebCore::Style::MatchedDeclarationsCache::find):
(WebCore::Style::MatchedDeclarationsCache::add):
(WebCore::Style::MatchedDeclarationsCache::invalidate):
(WebCore::Style::MatchedDeclarationsCache::clearEntriesAffectedByViewportUnits):
(WebCore::Style::MatchedDeclarationsCache::sweep):
* style/MatchedDeclarationsCache.h: Added.
* style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252208
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Thu, 7 Nov 2019 22:53:47 +0000 (22:53 +0000)]
UserMediaController::from(document) can return nullptr
https://bugs.webkit.org/show_bug.cgi?id=203977
<rdar://problem/
56908013>
Reviewed by Jer Noble.
* Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::stop): NULL-check the UserMediaController.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252207
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 7 Nov 2019 22:36:45 +0000 (22:36 +0000)]
Port ServiceWorkerContainer to the HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203963
Reviewed by Ryosuke Niwa.
* workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
(WebCore::ServiceWorkerContainer::startMessages):
(WebCore::ServiceWorkerContainer::postMessage):
* workers/service/ServiceWorkerContainer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252206
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 7 Nov 2019 22:18:37 +0000 (22:18 +0000)]
Integrate scroll event into HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203839
<rdar://problem/
56890922>
Reviewed by Simon Fraser.
Source/WebCore:
Dispatch scroll events on each pending scroll event targets inside the update-the-rendering step
of the event loop as specified in the HTML5 and CSSOM View Module specifications:
https://html.spec.whatwg.org/multipage/webappapis.html#update-the-rendering
https://drafts.csswg.org/cssom-view/#run-the-scroll-steps
The new behavior also matches that of Chrome and Firefox.
Like resize event, the current visual viewport specification does not specify when scroll event
is dispatched on visualViewport interface: https://github.com/WICG/visual-viewport/issues/66
For now, we always dispatch upon it after dispatching on all pending scroll event targets.
Tests: fast/events/scroll-multiple-elements-in-rendering-update.html
fast/events/scroll-subframe-in-rendering-update.html
fast/visual-viewport/visual-viewport-scroll-after-resize-in-subframe.html
* dom/Document.cpp:
(WebCore::Document::addPendingScrollEventTarget): Added.
(WebCore::Document::setNeedsVisualViewportScrollEvent): Added.
(WebCore::Document::runScrollSteps): Added. This implements run the scroll steps in CSS OM View.
* dom/Document.h:
* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent): Deleted.
(WebCore::DocumentEventQueue::enqueueScrollEvent): Deleted.
* dom/DocumentEventQueue.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::sendScrollEvent):
* page/Page.cpp:
(WebCore::Page::updateRendering): Invoke runScrollSteps on each document in the frame tree order.
* page/VisualViewport.cpp:
(WebCore::VisualViewport::update):
(WebCore::VisualViewport::enqueueScrollEvent): Deleted.
* page/VisualViewport.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::scrollTo):
LayoutTests:
Added tests to test the timing at which scroll events are fired across multiple elements and documents,
and with visualViewport, and updated the existing tests to work with the new timing.
* editing/selection/overflow-scroll-while-selecting-text.html:
* fast/events/scroll-multiple-elements-in-rendering-update-expected.txt: Added.
* fast/events/scroll-multiple-elements-in-rendering-update.html: Added.
* fast/events/scroll-subframe-in-rendering-update-expected.txt: Added.
* fast/events/scroll-subframe-in-rendering-update.html: Added.
* fast/scrolling/programmatic-scroll-to-negative-offset.html:
* fast/shadow-dom/trusted-event-scoped-flags.html:
* fast/visual-viewport/visual-viewport-scroll-after-resize-in-subframe-expected.txt: Added.
* fast/visual-viewport/visual-viewport-scroll-after-resize-in-subframe.html: Added.
* tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252205
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin_fan@apple.com [Thu, 7 Nov 2019 21:34:15 +0000 (21:34 +0000)]
REGRESSION: r252121 introduced timeout in webgl/1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html
https://bugs.webkit.org/show_bug.cgi?id=203949
Unreviewed test expectation gardening.
shader-with-non-reserved-words takes dozens of minutes to pass. Skip everywhere.
* platform/gtk/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/wpe/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252204
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 7 Nov 2019 21:07:42 +0000 (21:07 +0000)]
REGRESSION (r252161): 3 transitions/ tests time-out
https://bugs.webkit.org/show_bug.cgi?id=203966
Reviewed by Dean Jackson.
Fix the shadow parsing code to deal with non-integral values.
* legacy-animation-engine/transitions/resources/transition-test-helpers.js:
(isShadow):
* transitions/resources/transition-test-helpers.js:
(isShadow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252203
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 7 Nov 2019 20:36:51 +0000 (20:36 +0000)]
Web Inspector: REGRESSION(r250087): inspector/model/remote-object.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=202934
<rdar://problem/
56270900>
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
In r250087, the inspector injected script was changed so that remote objects actually
iterate the keys of an array and generate a property descriptor for each. While this worked
fine (and was performant) for fetching remote objects, this was not efficient when creating
object previews, as that path wouldn't be limited by any sort of `fetchCount`, meaning that
a descriptor for every index would be created even though only the first 10 would be used.
Refactor the inspector injected script code so that both the fetch and preview paths only
examine exactly the number of properties desired instead of considering all of them and then
slicing to fit.
* inspector/InjectedScriptSource.js:
(InjectedScript.prototype._getProperties):
(InjectedScript.prototype._forEachPropertyDescriptor): Added.
(InjectedScript.prototype._forEachPropertyDescriptor.createFakeValueDescriptor): Added.
(InjectedScript.prototype._forEachPropertyDescriptor.processDescriptor): Added.
(InjectedScript.prototype._forEachPropertyDescriptor.processProperty): Added.
(RemoteObject.prototype._generatePreview):
(RemoteObject.prototype._appendPropertyPreview): Added.
(RemoteObject.prototype._appendPropertyPreview.appendPreview): Added.
(InjectedScript.prototype._propertyDescriptors): Deleted.
(InjectedScript.prototype._propertyDescriptors.processProperties): Deleted.
(InjectedScript.prototype._propertyDescriptors.arrayIndexPropertyNames): Deleted.
(RemoteObject.prototype._appendPropertyPreviews): Deleted.
Source/WebInspectorUI:
* UserInterface/Views/ObjectTreeView.js:
(WI.ObjectTreeView.addShowMoreIfNeeded):
Drive-by: ensure that the indeterminate progress spinner is added after the last button.
LayoutTests:
Split inspector/model/remote-object.html into separate tests for each type of object being
tested, as well as specialized tests for extremely large values. This allows us to better
know which specific expression can cause a timeout.
* inspector/model/remote-object.html: Removed.
* inspector/model/remote-object-expected.txt: Removed.
* platform/mac-wk1/inspector/model/remote-object-expected.txt: Removed.
* inspector/model/remote-object/array.html: Added.
* inspector/model/remote-object/array-expected.txt: Added.
* inspector/model/remote-object/array-large.html: Added.
* inspector/model/remote-object/array-large-expected.txt: Added.
* inspector/model/remote-object/boolean.html: Added.
* inspector/model/remote-object/boolean-expected.txt: Added.
* inspector/model/remote-object/class.html: Added.
* inspector/model/remote-object/class-expected.txt: Added.
* inspector/model/remote-object/date.html: Added.
* inspector/model/remote-object/date-expected.txt: Added.
* inspector/model/remote-object/error.html: Added.
* inspector/model/remote-object/error-expected.txt: Added.
* inspector/model/remote-object/function.html: Added.
* inspector/model/remote-object/function-expected.txt: Added.
* inspector/model/remote-object/immutable.html: Added.
* inspector/model/remote-object/immutable-expected.txt: Added.
* inspector/model/remote-object/iterator.html: Added.
* inspector/model/remote-object/iterator-expected.txt: Added.
* inspector/model/remote-object/iterator-large.html: Added.
* inspector/model/remote-object/iterator-large-expected.txt: Added.
* inspector/model/remote-object/map.html: Added.
* inspector/model/remote-object/map-expected.txt: Added.
* inspector/model/remote-object/map-large.html: Added.
* inspector/model/remote-object/map-large-expected.txt: Added.
* inspector/model/remote-object/null.html: Added.
* inspector/model/remote-object/null-expected.txt: Added.
* inspector/model/remote-object/number.html: Added.
* inspector/model/remote-object/number-expected.txt: Added.
* platform/mac-wk1/inspector/number-expected.txt: Added.
* inspector/model/remote-object/object.html: Added.
* inspector/model/remote-object/object-expected.txt: Added.
* inspector/model/remote-object/object-large.html: Added.
* inspector/model/remote-object/object-large-expected.txt: Added.
* inspector/model/remote-object/promise.html: Added.
* inspector/model/remote-object/promise-expected.txt: Added.
* inspector/model/remote-object/regexp.html: Added.
* inspector/model/remote-object/regexp-expected.txt: Added.
* inspector/model/remote-object/set.html: Added.
* inspector/model/remote-object/set-expected.txt: Added.
* inspector/model/remote-object/set-large.html: Added.
* inspector/model/remote-object/set-large-expected.txt: Added.
* inspector/model/remote-object/string.html: Added.
* inspector/model/remote-object/string-expected.txt: Added.
* inspector/model/remote-object/string-large.html: Added.
* inspector/model/remote-object/string-large-expected.txt: Added.
* inspector/model/remote-object/undefined.html: Added.
* inspector/model/remote-object/undefined-expected.txt: Added.
* inspector/model/remote-object/dom.html: Renamed from LayoutTests/inspector/model/remote-object-dom.html.
* inspector/model/remote-object/dom-expected.txt: Renamed from LayoutTests/inspector/model/remote-object-dom-expected.txt.
* inspector/model/remote-object/iterators-mutated.html: Renamed from LayoutTests/inspector/model/remote-object-mutated-iterators.html.
* inspector/model/remote-object/iterators-mutated-expected.txt: Renamed from LayoutTests/inspector/model/remote-object-mutated-iterators-expected.txt.
* inspector/model/remote-object/resources/remote-object-utilities.js: Renamed from LayoutTests/inspector/model/resources/remote-object-utilities.js.
* inspector/runtime/getDisplayableProperties.html:
* inspector/runtime/getDisplayableProperties-expected.txt:
* inspector/runtime/getProperties.html:
* inspector/runtime/getProperties-expected.txt:
Drive-by: fix assertion for when the `__proto__` is included if `fetchStart` is 0.
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252202
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 7 Nov 2019 20:31:44 +0000 (20:31 +0000)]
Web Inspector: REGRESSION(r249451): missing "Reveal in DOM Tree" on nodes logged to the console
https://bugs.webkit.org/show_bug.cgi?id=203836
Reviewed by Timothy Hatcher.
* UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForDOMNode):
* UserInterface/Views/DOMTreeOutline.js:
(WI.DOMTreeOutline.prototype.populateContextMenu):
DOM trees in the console are marked as being non-editable, which is intended to prevent
modifications (e.g. changing an attribute) from being made in the console as the DOM tree
there is not hooked up to the associated DOM agent. In r249451 however, this guard was over
expanded to include non-editing actions, like "Reveal in DOM Tree" and DOM breakpoints.
* UserInterface/Views/LogContentView.js:
(WI.LogContentView.prototype._handleContextMenuEvent):
Drive-by: add a separator before "Copy Selected" so it doesn't end up in the same group as
any "Collapse All" from a `WI.TreeOutline`.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252201
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 7 Nov 2019 20:17:59 +0000 (20:17 +0000)]
Web Inspector: Local Resource Overrides: automatically show a file picker when attempting to create an override for non-text resources
https://bugs.webkit.org/show_bug.cgi?id=203917
Reviewed by Timothy Hatcher.
Since there's no way to edit non-text resources (e.g. images, fonts, etc.) in Web Inspector,
when creating a local override for non-text resources, default to showing a file picker and
creating a local override from the content and MIME type of whatever file is chosen.
Still provide a way (shift-click) to create a local override for non-text resources from the
resource's contents, as that can be useful if the user just wants to change some headers.
* UserInterface/Models/Resource.js:
(WI.Resource.prototype.async createLocalResourceOverride):
* UserInterface/Views/ResourceContentView.js:
(WI.ResourceContentView):
(WI.ResourceContentView.prototype.get createLocalResourceOverrideTooltip): Added.
(WI.ResourceContentView.prototype.requestLocalResourceOverrideInitialContent): Added.
(WI.ResourceContentView.prototype.async _getContentForLocalResourceOverrideFromFile): Added.
(WI.ResourceContentView.prototype._handleCreateLocalResourceOverride):
(WI.ResourceContentView.prototype._handleImportLocalResourceOverride):
(WI.ResourceContentView.prototype.localResourceOverrideInitialContent): Deleted.
(WI.ResourceContentView.prototype.async _handleCreateLocalResourceOverride): Deleted.
* UserInterface/Views/TextResourceContentView.js:
(WI.TextResourceContentView.prototype.get createLocalResourceOverrideTooltip): Added.
(WI.TextResourceContentView.prototype.requestLocalResourceOverrideInitialContent): Added.
(WI.TextResourceContentView.prototype.localResourceOverrideInitialContent): Deleted.
* Localizations/en.lproj/localizedStrings.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252200
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 7 Nov 2019 20:02:22 +0000 (20:02 +0000)]
Web Inspector: Timelines: add a marker for when a stop was requested
https://bugs.webkit.org/show_bug.cgi?id=203935
Reviewed by Timothy Hatcher.
After r244195, the Web Inspector frontend doesn't stop updating the current time marker
until after it receives all of the corresponding `*.trackingComplete` events. This means
that sometimes, the current time marker can move far past the time at which the stop was
requested, such as if there's a blocking script.
We should indicate where the stop was requested, as that is often right after a particular
issue is reproduced during a timeline recording, rather than have the user try to figure out
where they stopped.
Only keep a marker for the last stop request, and hide the marker once capturing resumes.
It's still useful to have the current time marker continue updating, as we should show all
the information we have about captured things, such as blocking scripts.
* UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview):
(WI.TimelineOverview.prototype._handleTimelineCapturingStateChanged):
* UserInterface/Models/TimelineMarker.js:
* UserInterface/Views/TimelineRuler.js:
(WI.TimelineRuler.prototype.addMarker):
* UserInterface/Views/TimelineRuler.css:
(.timeline-ruler > .markers > .marker.stopping-time): Added.
(.timeline-ruler > .markers > .marker.current-time):
(.timeline-ruler > .markers > .marker:matches(.stopping-time, .current-time)::after): Added.
(@media (prefers-color-scheme: dark) .timeline-ruler > .markers > .marker.stopping-time): Added.
(.timeline-ruler > .markers > .marker.current-time::after): Deleted.
Make the current time marker always on top (`z-index`).
* Localizations/en.lproj/localizedStrings.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252199
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 7 Nov 2019 19:59:31 +0000 (19:59 +0000)]
Web Inspector: REGRESSION(r251958): automatic console prompt focusing prevents any "space" shortcuts from working
https://bugs.webkit.org/show_bug.cgi?id=203939
Reviewed by Timothy Hatcher.
* UserInterface/Base/Main.js:
(WI.isShowingTimelineTab): Added.
(WI.isShowingAuditTab): Added.
(WI._restoreCookieForOpenTabs):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252198
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 7 Nov 2019 19:46:41 +0000 (19:46 +0000)]
Web Inspector: Uncaught Exception: Unable to get object details - GlobalObject
https://bugs.webkit.org/show_bug.cgi?id=203930
<rdar://problem/
56960937>
In r248286, calls to `Heap.snapshot`, `Heap.getPreview`, and `Heap.getRemoteObject` were
moved to the `WI.HeapManager` instead of being inside view code. During this move, extra
`WI.reportInternalError` calls were added, which wasn't entirely correct as it is fully
possible (and expected) that any of these commands are invoked with old heap snapshot nodes
that may no longer exist. As such, calling any error an "internal error" isn't strictly
correct, and instead should just be a log. Also, the frontend code that calls these commands
is able to handle errors, again because it is expected.
Reviewed by Brian Burg.
* UserInterface/Controllers/HeapManager.js:
(WI.HeapManager.prototype.snapshot):
(WI.HeapManager.prototype.getPreview):
(WI.HeapManager.prototype.getRemoteObject):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252197
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 7 Nov 2019 19:42:10 +0000 (19:42 +0000)]
JSTests:
didPassSomeTestsSilenty is misspelled in standalone-pre.js
https://bugs.webkit.org/show_bug.cgi?id=203948
Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2019-11-07
Reviewed by Yusuke Suzuki.
* stress/resources/standalone-pre.js:
LayoutTests:
didPassSomeTestsSilenty and didFaileSomeTests are misspelled in standalone-pre.js
https://bugs.webkit.org/show_bug.cgi?id=203948
Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2019-11-07
Reviewed by Yusuke Suzuki.
* resources/standalone-pre.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252196
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ross.kirsling@sony.com [Thu, 7 Nov 2019 19:24:54 +0000 (19:24 +0000)]
Unskip test262 tests for async-iteration
https://bugs.webkit.org/show_bug.cgi?id=203921
Reviewed by Keith Miller.
This should have been done two years ago, it seems.
* test262/config.yaml:
* test262/expectations.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252195
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 7 Nov 2019 18:31:31 +0000 (18:31 +0000)]
[[HasProperty]] result of Proxy in prototype chain is ignored
https://bugs.webkit.org/show_bug.cgi?id=203560
Patch by Alexey Shvayka <shvaikalesh@gmail.com> on 2019-11-07
Reviewed by Ross Kirsling.
JSTests:
* stress/proxy-get-prototype-of.js: Correct Proxy "has" trap test.
* test262/expectations.yaml: Mark 6 test cases as passing.
Source/JavaScriptCore:
Before this change, when [[HasProperty]] was called on ordinary object with Proxy in prototype chain,
falsy result of Proxy's "has" trap was ignored and prototype chain was inspected further.
According to spec, OrdinaryHasProperty unconditionally returns result of parent's [[HasProperty]] call.
(step 5.a of https://tc39.es/ecma262/#sec-ordinaryhasproperty)
* runtime/JSObjectInlines.h:
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):
* runtime/ProxyObject.cpp:
(JSC::ProxyObject::performHasProperty): Walk the prototype chain in performDefaultHasProperty.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252191
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Thu, 7 Nov 2019 18:30:55 +0000 (18:30 +0000)]
[ews] rename RunJavaScriptCoreTestsToT to RunJSCTestsWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=203959
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/steps.py:
(RunJSCTestsWithoutPatch): Renamed.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252190
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Thu, 7 Nov 2019 18:03:15 +0000 (18:03 +0000)]
[LFC][MarginCollapsing] Drag anonymous block level boxes into margin collapsing
https://bugs.webkit.org/show_bug.cgi?id=203927
<rdar://problem/
56963636>
Reviewed by Antti Koivisto.
We've been ignoring anonymous block level boxes in the context of margin collapsing. Now with IFC, we can't really do that anymore.
This patch removes the early bailout on anon boxes and addresses the fallout.
* layout/MarginTypes.h:
* layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithParentMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithPreviousSiblingMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithFirstInFlowChildMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginAfterCollapsesWithParentMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginAfterCollapsesWithLastInFlowChildMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::updateMarginAfterForPreviousSibling):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::estimatedMarginBefore):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeIgnoringCollapsingThrough):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedVerticalValues):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252189
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 7 Nov 2019 17:05:18 +0000 (17:05 +0000)]
Re-enable NSURLSession isolation after r252116
https://bugs.webkit.org/show_bug.cgi?id=203934
<rdar://problem/
56921584>
Reviewed by Chris Dumez.
Source/WebCore:
* platform/network/StoredCredentialsPolicy.h:
Source/WebKit:
r252116 was a rollout of r248640, which introduced cases where data tasks from different NSURLSessions
which can have the same task identifiers were put into the same maps. This key collision caused data from the wrong
tasks to be sent to NetworkResourceLoader, causing rare and strange loading bugs. In order to prevent insertion into
wrong maps again, I made a new abstraction, SessionWrapper, which wraps a NSURLSession, its delegate, and all maps
that are scoped to that NSURLSession. Along the way I found a few other places where we had made similar mistakes.
Covered by an API test which would've failed before r252116 because it exercises the key collision condition,
and by tests which were skipped in r252116 and I now unskipped.
* NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::resume):
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
* NetworkProcess/cocoa/NetworkSessionCocoa.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate initWithSessionWrapper:withCredentials:]):
(-[WKNetworkSessionDelegate sessionInvalidated]):
(-[WKNetworkSessionDelegate existingTask:]):
(-[WKNetworkSessionDelegate sessionCocoa]):
(-[WKNetworkSessionDelegate URLSession:didBecomeInvalidWithError:]):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]):
(processServerTrustEvaluation):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
(-[WKNetworkSessionDelegate existingWebSocketTask:]):
(WebKit::SessionWrapper::initialize):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::NetworkSessionCocoa::initializeEphemeralStatelessSession):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
(WebKit::NetworkSessionCocoa::isolatedSession):
(WebKit::NetworkSessionCocoa::invalidateAndCancel):
(WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):
(WebKit::NetworkSessionCocoa::createWebSocketTask):
(WebKit::NetworkSessionCocoa::addWebSocketTask):
(WebKit::NetworkSessionCocoa::removeWebSocketTask):
(-[WKNetworkSessionDelegate initWithNetworkSession:withCredentials:]): Deleted.
(WebKit::NetworkSessionCocoa::initializeEphemeralStatelessCookielessSession): Deleted.
(WebKit::NetworkSessionCocoa::session): Deleted.
(WebKit::NetworkSessionCocoa::dataTaskForIdentifier): Deleted.
(WebKit::NetworkSessionCocoa::downloadTaskWithResumeData): Deleted.
(WebKit::NetworkSessionCocoa::addDownloadID): Deleted.
(WebKit::NetworkSessionCocoa::downloadID): Deleted.
(WebKit::NetworkSessionCocoa::takeDownloadID): Deleted.
(WebKit::NetworkSessionCocoa::webSocketDataTaskForIdentifier): Deleted.
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _logUserInteraction:completionHandler:]):
* UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
Tools:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(-[DataTaskIdentifierCollisionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[DataTaskIdentifierCollisionDelegate waitForMessages:]):
(-[DataTaskIdentifierCollisionDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TEST):
LayoutTests:
* platform/wk2/TestExpectations:
Re-enable skipped tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252185
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 7 Nov 2019 16:32:03 +0000 (16:32 +0000)]
Add support for remotes file for EWS builders
https://bugs.webkit.org/show_bug.cgi?id=203899
Patch by Paulo Matos <pmatos@igalia.com> on 2019-11-07
Reviewed by Aakash Jain.
Require to support builders that cross-compile and run tests on native machines
through the use of --remote-config-file.
* BuildSlaveSupport/ews-build/factories.py:
(Factory.__init__):
(StyleFactory.__init__):
(WatchListFactory.__init__):
* BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig):
* BuildSlaveSupport/ews-build/steps.py:
(ConfigureBuild.__init__):
(ConfigureBuild.start):
(RunJavaScriptCoreTests.start):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestRunJavaScriptCoreTests.test_remote_success):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 7 Nov 2019 14:55:13 +0000 (14:55 +0000)]
ASSERTION FAILED: m_clientCounts.contains(contextId) in WebKit::VideoFullscreenManagerProxy::removeClientForContext(uint64_t)
https://bugs.webkit.org/show_bug.cgi?id=203918
Patch by Peng Liu <peng.liu6@apple.com> on 2019-11-07
Reviewed by Jer Noble.
Postpone the transition to exit fullscreen of a video element
before the previous transition of fullscreen mode change is completed.
Fix a flakey layout test (media/video-autoplay.html). No new test is needed.
* WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::exitVideoFullscreenForVideoElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252183
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andresg_22@apple.com [Thu, 7 Nov 2019 14:15:45 +0000 (14:15 +0000)]
Rename AXIsolatedTreeNode to AXIsolatedObject for consistency with AXCoreObject and AccessibilityObject.
https://bugs.webkit.org/show_bug.cgi?id=203913
Reviewed by Chris Fleizach.
No new tests needed, no new functionality.
- Renamed AXIsolatedTreeNode as AXIsolatedObject.
- This makes the naming consistent with AXCoreObject and AccessibilityObject.
- Some code cleanup in WebAccessibilityObjectWrapperBase.h.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::createIsolatedAccessibilityTreeHierarchy):
(WebCore::AXObjectCache::generateIsolatedAccessibilityTree):
* accessibility/AXObjectCache.h:
* accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::nodeInTreeForID):
(WebCore::AXIsolatedTree::nodeForID const):
(WebCore::AXIsolatedTree::focusedUIElement):
(WebCore::AXIsolatedTree::rootNode):
(WebCore::AXIsolatedTree::setRoot):
(WebCore::AXIsolatedTree::appendNodeChanges):
(WebCore::AXIsolatedTree::applyPendingChanges):
* accessibility/isolatedtree/AXIsolatedTree.h:
* accessibility/isolatedtree/AXIsolatedTreeNode.cpp:
(WebCore::AXIsolatedObject::AXIsolatedObject):
(WebCore::AXIsolatedObject::create):
(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::setProperty):
(WebCore::AXIsolatedObject::appendChild):
(WebCore::AXIsolatedObject::setParent):
(WebCore::AXIsolatedObject::setTreeIdentifier):
(WebCore::AXIsolatedObject::children):
(WebCore::AXIsolatedObject::focusedUIElement const):
(WebCore::AXIsolatedObject::parentObjectUnignored const):
(WebCore::AXIsolatedObject::accessibilityHitTest const):
(WebCore::AXIsolatedObject::tree const):
(WebCore::AXIsolatedObject::rectAttributeValue const):
(WebCore::AXIsolatedObject::doubleAttributeValue const):
(WebCore::AXIsolatedObject::unsignedAttributeValue const):
(WebCore::AXIsolatedObject::boolAttributeValue const):
(WebCore::AXIsolatedObject::stringAttributeValue const):
(WebCore::AXIsolatedObject::intAttributeValue const):
(WebCore::AXIsolatedObject::updateBackingStore):
(WebCore::AXIsolatedTreeNode::AXIsolatedTreeNode): Deleted.
(WebCore::AXIsolatedTreeNode::create): Deleted.
(WebCore::AXIsolatedTreeNode::initializeAttributeData): Deleted.
(WebCore::AXIsolatedTreeNode::setProperty): Deleted.
(WebCore::AXIsolatedTreeNode::appendChild): Deleted.
(WebCore::AXIsolatedTreeNode::setParent): Deleted.
(WebCore::AXIsolatedTreeNode::setTreeIdentifier): Deleted.
(WebCore::AXIsolatedTreeNode::children): Deleted.
(WebCore::AXIsolatedTreeNode::focusedUIElement const): Deleted.
(WebCore::AXIsolatedTreeNode::parentObjectUnignored const): Deleted.
(WebCore::AXIsolatedTreeNode::accessibilityHitTest const): Deleted.
(WebCore::AXIsolatedTreeNode::tree const): Deleted.
(WebCore::AXIsolatedTreeNode::rectAttributeValue const): Deleted.
(WebCore::AXIsolatedTreeNode::doubleAttributeValue const): Deleted.
(WebCore::AXIsolatedTreeNode::unsignedAttributeValue const): Deleted.
(WebCore::AXIsolatedTreeNode::boolAttributeValue const): Deleted.
(WebCore::AXIsolatedTreeNode::stringAttributeValue const): Deleted.
(WebCore::AXIsolatedTreeNode::intAttributeValue const): Deleted.
(WebCore::AXIsolatedTreeNode::updateBackingStore): Deleted.
* accessibility/isolatedtree/AXIsolatedTreeNode.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252182
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andresg_22@apple.com [Thu, 7 Nov 2019 13:21:57 +0000 (13:21 +0000)]
Implement AXIsolatedTreeNode::roleDescription.
https://bugs.webkit.org/show_bug.cgi?id=203863
<rdar://problem/
56934443>
Reviewed by Chris Fleizach.
No new tests needed, no new functionality.
AccessibilityObjectWrapper cannot call any of the AX.*Text functions to
retrieve localized role descriptions, because when running on the
secondary thread, those AtomStrings are not accessible. Moreover, some
of the special cases require access to DOM objects that are not
available in the secondary thread. Therefore, added
AXCoreObject::rolePlatformDescription that runs in the main thread to
initialize the corresponding attribute in AXIsolatedTreeNode.
rolePlatformString, createPlatformRoleMap, roleToPlatformString,
ariaLandmarkRoleDescription, are helper functions. The platform
functions allow to customize the behavior of roleDescription in each
platform. The platform overrides are implemented for mac. Other
platforms are pending.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::rolePlatformString const):
(WebCore::AccessibilityObject::rolePlatformDescription const):
(WebCore::AccessibilityObject::ariaLandmarkRoleDescription const):
(WebCore::AccessibilityObject::roleDescription const):
(WebCore::Accessibility::createPlatformRoleMap):
(WebCore::Accessibility::roleToPlatformString):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityObjectInterface.h:
* accessibility/isolatedtree/AXIsolatedTreeNode.cpp:
(WebCore::AXIsolatedTreeNode::initializeAttributeData):
* accessibility/isolatedtree/AXIsolatedTreeNode.h:
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::rolePlatformString const):
(WebCore::AccessibilityObject::rolePlatformDescription const):
(WebCore::Accessibility::createPlatformRoleMap):
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase accessibilityObject]):
(-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]): Implementation moved to AccessibilityObject.
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper role]): Special cases moved to rolePlatformString.
(-[WebAccessibilityObjectWrapper roleDescription]):
(createAccessibilityRoleMap): Deleted, became Accessibility::createPlatformRoleMap.
(roleValueToNSString): Deleted, became Accessibility::roleToPlatformString.
* platform/LocalizedStrings.cpp:
(WebCore::AXARIAContentGroupText):
(WebCore::AXHorizontalRuleDescriptionText):
(WebCore::AXMarkText):
* platform/LocalizedStrings.h:
* platform/cocoa/LocalizedStringsCocoa.mm:
(WebCore::AXARIAContentGroupText): Deleted, moved to LocalizedStrings.cpp.
(WebCore::AXHorizontalRuleDescriptionText): Deleted, moved to LocalizedStrings.cpp.
(WebCore::AXMarkText): Deleted, moved to LocalizedStrings.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252181
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 7 Nov 2019 12:09:12 +0000 (12:09 +0000)]
WebDriver: correctly handle errors when focusing element before sending key events
https://bugs.webkit.org/show_bug.cgi?id=203945
Reviewed by Carlos Alberto Lopez Perez.
Source/WebDriver:
We are throwing an exception that is not correctly handled.
Fixes: imported/w3c/webdriver/tests/element_send_keys/interactability.py::test_not_a_focusable_element
imported/w3c/webdriver/tests/element_send_keys/interactability.py::test_display_none
imported/w3c/webdriver/tests/element_send_keys/interactability.py::test_visibility_hidden
imported/w3c/webdriver/tests/element_send_keys/interactability.py::test_hidden
imported/w3c/webdriver/tests/element_send_keys/interactability.py::test_disabled
* Session.cpp:
(WebDriver::Session::elementSendKeys): Raise ElementNotInteractable error when element is not focusable.
Source/WebKit:
Handle ElementNotInteractable JavaScript exception to generate the appropriate Automation error.
* WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction):
WebDriverTests:
Remove expectations for tests that are now passing.
* TestExpectations.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252180
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 7 Nov 2019 09:52:27 +0000 (09:52 +0000)]
Indentation in ThreadGlobalData.h is incorrect
https://bugs.webkit.org/show_bug.cgi?id=203895
Patch by Chris Lord <clord@igalia.com> on 2019-11-07
Reviewed by Žan Doberšek.
No new tests -- no change in behavior.
* platform/ThreadGlobalData.h:
(WebCore::ThreadGlobalData::ThreadGlobalData::cachedResourceRequestInitiators):
(WebCore::ThreadGlobalData::ThreadGlobalData::eventNames):
(WebCore::ThreadGlobalData::ThreadGlobalData::threadTimers):
(WebCore::ThreadGlobalData::ThreadGlobalData::qualifiedNameCache):
(WebCore::ThreadGlobalData::ThreadGlobalData::cachedConverterICU):
(WebCore::ThreadGlobalData::ThreadGlobalData::currentState const):
(WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState):
(WebCore::ThreadGlobalData::ThreadGlobalData::isInRemoveAllEventListeners const):
(WebCore::ThreadGlobalData::ThreadGlobalData::setIsInRemoveAllEventListeners):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252179
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
svillar@igalia.com [Thu, 7 Nov 2019 08:06:07 +0000 (08:06 +0000)]
VRDisplay should not prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203105
Reviewed by Chris Dumez.
VRDisplay schedules asynchronous execution of events using the WindowEventLoop instead of
synchronously firing them. WindowEventLoop does correctly suspend while in cache.
Apart from that suspend()/resume() were implemented by forcing m_scriptedAnimationController
to suspend the VR request animation frame machinery while in cache.
Last but not least, stopPresenting() is now also called on suspension.
No new tests were added as there is no testing machinery for WebVR so far. It's unclear how
this unreleased feature will evolve as it's being replaced by WebXR.
* Modules/webvr/VRDisplay.cpp:
(WebCore::VRDisplay::dispatchVRDisplayEventInWindowEventLoop):
(WebCore::VRDisplay::platformDisplayConnected): Use dispatchVRDisplayEventInWindowEventLoop.
(WebCore::VRDisplay::platformDisplayDisconnected): Ditto.
(WebCore::VRDisplay::platformDisplayMounted): Ditto.
(WebCore::VRDisplay::platformDisplayUnmounted): Ditto.
(WebCore::VRDisplay::suspend): Added.
(WebCore::VRDisplay::resume): Added.
(WebCore::VRDisplay::stop): Call stopPresenting().
(WebCore::VRDisplay::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.
* Modules/webvr/VRDisplay.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252178
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 7 Nov 2019 07:27:52 +0000 (07:27 +0000)]
Remove remnants of support code for an upwards growing stack.
https://bugs.webkit.org/show_bug.cgi?id=203942
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
* runtime/VM.cpp:
(JSC::VM::updateStackLimits):
(JSC::VM::committedStackByteCount):
* runtime/VM.h:
(JSC::VM::isSafeToRecurse const):
* runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
* runtime/VMInlines.h:
(JSC::VM::ensureStackCapacityFor):
* yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const):
Source/WTF:
We haven't supported an upwards growing stack in years, and a lot of code has
since been written specifically with only a downwards growing stack in mind (e.g.
the LLInt, the JITs). Also, all our currently supported platforms use a downward
growing stack.
We should remove the remnants of support code for an upwards growing stack. The
presence of that code is deceptive in that it conveys support for an upwards
growing stack where this hasn't been the case in years.
* wtf/StackBounds.cpp:
(WTF::StackBounds::newThreadStackBounds):
(WTF::StackBounds::currentThreadStackBoundsInternal):
(WTF::StackBounds::stackDirection): Deleted.
(WTF::testStackDirection2): Deleted.
(WTF::testStackDirection): Deleted.
* wtf/StackBounds.h:
(WTF::StackBounds::size const):
(WTF::StackBounds::contains const):
(WTF::StackBounds::recursionLimit const):
(WTF::StackBounds::StackBounds):
(WTF::StackBounds::isGrowingDownwards const):
(WTF::StackBounds::checkConsistency const):
(WTF::StackBounds::isGrowingDownward const): Deleted.
* wtf/StackStats.cpp:
(WTF::StackStats::CheckPoint::CheckPoint):
(WTF::StackStats::CheckPoint::~CheckPoint):
(WTF::StackStats::probe):
(WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Thu, 7 Nov 2019 07:21:38 +0000 (07:21 +0000)]
Remove unimplemented property error log in when getting a property value from a computed style
https://bugs.webkit.org/show_bug.cgi?id=203943
Reviewed by Simon Fraser.
In r251581, the list of computed CSS properties was changed to be autogenerated from 'CSSProperties.json'.
One issue that arose from this was that `-webkit-text-decorations-in-effect` was no longer part of the
`CSSComputedStyleDeclaration`, which caused a number of editing tests to fail, as that property is used
for holding internal state related to various editing commands (e.g. `document.execCommand(...)`). In
order to get around this, `ComputedStyleExtractor::copyProperties()` was modified to instead copy all CSS
properties, regardless of whether they're part of the set of computed CSS properties. Unfortunately, this
had a side effect of triggering a longstanding `LOG_ERROR` (added in r6178) when attempting to retrieve
the value of certain CSS properties (e.g. `-internal-text-autosizing-status`).
Since this code path can be triggered by JavaScript (e.g. `getComputedStyle(node).getPropertyCSSValue("...")`),
it doesn't add much benefit to have this log, especially since the code itself is already annotated with
comments/FIXMEs for CSS properties that don't have a computed value.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
(WebCore::logUnimplementedPropertyID): Deleted.
* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::svgPropertyValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252176
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 7 Nov 2019 07:03:17 +0000 (07:03 +0000)]
AX: WKWebView does not shift Accessibility Focus for Catalyst (203798)
https://bugs.webkit.org/show_bug.cgi?id=203798
Patch by Eric Liang <ericliang@apple.com> on 2019-11-06
Reviewed by Chris Fleizach.
Source/WebCore:
Changed to use the new cocoa directory instead of macOS only
* accessibility/mac/AXObjectCacheMac.mm:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
Source/WebCore/PAL:
Changed the path of NSAccessibilitySPI from Mac to Cocoa
* PAL.xcodeproj/project.pbxproj:
* pal/spi/cocoa/NSAccessibilitySPI.h: Renamed from Source/WebCore/PAL/pal/spi/mac/NSAccessibilitySPI.h.
Source/WebKit:
Added the code to register/unregister remote UI Process identifier on the host app.
This is used so that the host app can appear as the sender for notifications sent from its web processes. Unfortunately this has to be done in WebKit: in accessibility bundles the swizzled code is not called because of bundle loading time.
Added AppKit softlink for Mac catalyst.
* SourcesCocoa.txt:
* UIProcess/Cocoa/WebViewImpl.mm:
* UIProcess/ios/AppKitSoftLink.h: Added.
* UIProcess/ios/AppKitSoftLink.mm: Added.
* UIProcess/ios/ViewGestureControllerIOS.mm:
(-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _updateRemoteAccessibilityRegistration:]):
(-[WKContentView _accessibilityRegisterUIProcessTokens]):
(-[WKContentView _processDidExit]):
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/cocoa/WebProcessCocoa.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252175
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
krollin@apple.com [Thu, 7 Nov 2019 06:37:33 +0000 (06:37 +0000)]
Update availability annotations to match the macOS 10.15 and iOS 13.0 GM SDKs
https://bugs.webkit.org/show_bug.cgi?id=202243
<rdar://problem/
55720747>
Reviewed by Brent Fulgham.
Changed WK_MAC_TBA and WK_IOS_TBA to 10.15 and 13.0, respectively, in
all declarations that appear in the GM SDKs.
* Configurations/WebKit.xcconfig:
* Shared/API/Cocoa/WKMain.h:
* UIProcess/API/Cocoa/NSAttributedString.h:
* UIProcess/API/Cocoa/WKContextMenuElementInfo.h:
* UIProcess/API/Cocoa/WKError.h:
* UIProcess/API/Cocoa/WKErrorPrivate.h:
* UIProcess/API/Cocoa/WKNavigation.h:
* UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
* UIProcess/API/Cocoa/WKNavigationResponsePrivate.h:
* UIProcess/API/Cocoa/WKPreferences.h:
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/API/Cocoa/WKPreviewActionItem.h:
* UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.h:
* UIProcess/API/Cocoa/WKPreviewElementInfo.h:
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/API/Cocoa/WKSnapshotConfiguration.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/API/Cocoa/WKURLSchemeTaskPrivate.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/Cocoa/WKWebpagePreferences.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
* UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
* UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h:
* UIProcess/API/Cocoa/_WKContentRuleListAction.h:
* UIProcess/API/Cocoa/_WKCustomHeaderFields.h:
* UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
* UIProcess/API/Cocoa/_WKElementAction.h:
* UIProcess/API/Cocoa/_WKInspectorWindow.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKTextInputContext.h:
* UIProcess/API/Cocoa/_WKUserContentExtensionStorePrivate.h:
* UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
* UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h:
* UIProcess/API/Cocoa/_WKWebsitePolicies.h:
* UIProcess/_WKTouchEventGenerator.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 7 Nov 2019 04:05:01 +0000 (04:05 +0000)]
REGRESSION: [ iOS ] ( r251015 ) Layout Test fast/text/whitespace/pre-wrap-overflow-selection.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=203366
<rdar://problem/
56580680>
Reviewed by Simon Fraser.
Source/WebKit:
WKBundlePageForceRepaint may fail to do synchronous layer flush if there is a pending layer flush in-flight and waiting
for completion message from UI process. Layer flush also flushes pending editor state so that doesn't get done either.
This may cause randomness in test results.
In this case the randomness is the switch between simple and complex line layout, triggered by editor state flush. The results
between line layout paths are observably identical but produce slightly different render tree dumps.
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageFlushPendingEditorStateUpdate):
* WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
Add a function for forcing editor state flush, called from the test runner dump() function.
Tools:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dump):
LayoutTests:
* platform/ios/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252172
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 7 Nov 2019 04:03:58 +0000 (04:03 +0000)]
Unreviewed, fix watchOS build after r252011.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::startBackgroundActivityForFullscreenInput):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252171
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 7 Nov 2019 03:36:36 +0000 (03:36 +0000)]
Change the UIWebView layer border colors to more strongly differentiate them from WKWebView's colors
https://bugs.webkit.org/show_bug.cgi?id=203940
rdar://problem/
56708548
Reviewed by Tim Horton, Wenson Hsieh.
Change layer border colors (which also affect the repaint counter) in UIWebView to use
a chartreuse color, so it's easy to tell at a glance whether an app is using the deprecated
UIWebView.
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::colorForGridTileBorder const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252169
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Thu, 7 Nov 2019 02:53:40 +0000 (02:53 +0000)]
Web Inspector: Display color picker for p3 colors
https://bugs.webkit.org/show_bug.cgi?id=203436
<rdar://problem/
56635062>
Reviewed by Brian Burg.
Source/WebInspectorUI:
For p3 colors, display ColorSquare with display-p3 gamut.
Continue showing ColorSquare with sRGB gamut by default.
* UserInterface/Base/Setting.js:
* UserInterface/Models/Color.js:
(WI.Color):
(WI.Color.rgb2hsv):
(WI.Color.hsv2rgb.fraction):
(WI.Color.hsv2rgb):
(WI.Color.prototype.get hsla):
(WI.Color.prototype.isKeyword):
* UserInterface/Views/ColorPicker.css:
(.color-picker > .hue):
(@media (color-gamut: p3)):
(.color-picker.gamut-p3 > .hue):
* UserInterface/Views/ColorPicker.js:
(WI.ColorPicker.prototype._updateColor):
(WI.ColorPicker.prototype._updateOpacitySlider):
(WI.ColorPicker.prototype._handleFormatChange):
Introduce `gamut` parameter. Previously, the only available `gamut` was sRGB.
* UserInterface/Views/ColorSquare.css:
(.color-square > .crosshair):
Update the crosshair style to look better for both light and dark backgrounds.
* UserInterface/Views/ColorSquare.js:
(WI.ColorSquare):
(WI.ColorSquare.prototype.get tintedColor):
(WI.ColorSquare.prototype.set tintedColor):
(WI.ColorSquare.prototype._setCrosshairPosition):
(WI.ColorSquare.prototype._updateBaseColor):
(WI.ColorSquare.prototype._updateCrosshairBackground):
* UserInterface/Views/InlineSwatch.js:
Make p3 color picker a preview (e.g. STP-only) feature.
LayoutTests:
Add tests for WI.Color.rgb2hsv and WI.Color.hsv2rgb.
* inspector/model/color-expected.txt:
* inspector/model/color.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252168
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 7 Nov 2019 02:42:48 +0000 (02:42 +0000)]
Support CSS Dark Mode for PrettyDiff.rb.
https://bugs.webkit.org/show_bug.cgi?id=203874.
Patch by James Savage <james.savage@apple.com> on 2019-11-06
Reviewed by Tim Horton.
* PrettyPatch/PrettyPatch.rb: Modify CSS to support dark mode. I used
CSS variables in places where colors were shared, but otherwise provided
alternate style rules individually. Some colors looked fine in both
appearances, and those I left with only their light definition.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252167
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
Hironori.Fujii@sony.com [Thu, 7 Nov 2019 02:28:07 +0000 (02:28 +0000)]
WEBCORE_TESTSUPPORT_EXPORT should be used only for WebCoreTestSupport, not for WebCore
https://bugs.webkit.org/show_bug.cgi?id=203876
Reviewed by Ross Kirsling.
Source/WebCore:
WEBCORE_TESTSUPPORT_EXPORT shouldn't be used for WebCore. It is
only for WebCoreTestSupport module.
WebCoreTestSupport symbols don't need to export on Windows because
it is a static library on it. WEBCORE_TESTSUPPORT_EXPORT should be
empty.
No behavioral changes.
* Modules/encryptedmedia/MediaKeyEncryptionScheme.idl:
* Modules/encryptedmedia/MediaKeySessionType.idl:
* Modules/encryptedmedia/MediaKeysRequirement.idl:
* Modules/mediastream/NavigatorMediaDevices.h:
* bindings/scripts/test/JS/JSTestNode.h:
* bindings/scripts/test/TestNode.idl:
* workers/service/context/ServiceWorkerThreadProxy.h:
Replaced wrongly marked WEBCORE_TESTSUPPORT_EXPORT with WEBCORE_EXPORT.
* testing/js/WebCoreTestSupportPrefix.h: Define WEBCORE_TESTSUPPORT_EXPORT empty.
* WebCorePrefix.h: Removed WEBCORE_TESTSUPPORT_EXPORT definition.
Source/WebKit:
* config.h: Removed WEBCORE_TESTSUPPORT_EXPORT definition because it shouldn't be used in WebKit.
Tools:
* TestWebKitAPI/win/TestWebKitAPIPrefix.h:
* WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h:
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
Define WEBCORE_TESTSUPPORT_EXPORT emtpy.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252166
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
Hironori.Fujii@sony.com [Thu, 7 Nov 2019 02:04:31 +0000 (02:04 +0000)]
[Win] DumpRenderTree.exe and WebKitTestRunner.exe shouldn't link with WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=203879
Reviewed by Ross Kirsling.
After r252086, WinCairo DumpRenderTree.exe and
WebKitTestRunner.exe can't start because they are linked with
WinCairoRequirements DLLs unexpectedly.
DumpRenderTree.exe and WebKitTestRunner.exe are just wrapper
programs. They shouldn't link with WinCairoRequirements libs.
* DumpRenderTree/PlatformWin.cmake: Set DumpRenderTree_LIBRARIES only shlwapi.
* WebKitTestRunner/PlatformWin.cmake: Set WebKitTestRunner_LIBRARIES only shlwapi.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252165
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Thu, 7 Nov 2019 01:55:07 +0000 (01:55 +0000)]
REGRESSION: r252121 introduced new webgl/ failures
https://bugs.webkit.org/show_bug.cgi?id=203908
Unreviewed test gardening to quell the bots.
Patch by Justin Fan <justin_fan@apple.com> on 2019-11-06
* TestExpectations:
* platform/ios/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252164
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
katherine_cheney@apple.com [Thu, 7 Nov 2019 01:48:40 +0000 (01:48 +0000)]
Update entry in contributors.json to fix commit privileges.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252163
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tzagallo@apple.com [Thu, 7 Nov 2019 01:22:44 +0000 (01:22 +0000)]
[WebAssembly] BBQPlan should retain Wasm::CodeBlock when compiling a single function
https://bugs.webkit.org/show_bug.cgi?id=203924
Reviewed by Filip Pizlo.
* wasm/WasmBBQPlan.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252162
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 7 Nov 2019 00:39:24 +0000 (00:39 +0000)]
Box-shadow spread radius does not transition or animate correctly with CSS Transitions & Animations
https://bugs.webkit.org/show_bug.cgi?id=202489
Reviewed by Zalan Bujtas.
Source/WebCore:
Fix box-shadow offset and spread to support subpixel values, and make the rendering subpixel-aware.
This also makes animation of shadow spread and offset be smoother on Retina displays.
Also make ShadowStyle an enum class.
Test: fast/box-shadow/hidpi-box-shadow.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForShadow):
(WebCore::ComputedStyleExtractor::valueForFilter):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLength const):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
(WebCore::shadowForBlending):
* platform/animation/AnimationUtilities.h:
(WebCore::blend):
* platform/graphics/RoundedRect.h:
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintBoxDecorations):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
* rendering/RenderBoxModelObject.cpp:
(WebCore::applyBoxShadowForBackground):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):
(WebCore::areaCastingShadowInHole):
(WebCore::RenderBoxModelObject::paintBoxShadow):
Move the snapping until after we've adjusted rects for offset and spread. The "extraOffset"
computation makes the snapping a little more complex; we have to snap before and after applying
shadowOffset, and give to GraphicsContext the delta between the snapped values.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paintBoxDecorations):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintBoxDecorations):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setTextShadow):
(WebCore::RenderStyle::getShadowExtent const):
(WebCore::RenderStyle::getShadowInsetExtent const):
(WebCore::RenderStyle::getShadowHorizontalExtent const):
(WebCore::RenderStyle::getShadowVerticalExtent const):
* rendering/style/ShadowData.cpp:
(WebCore::ShadowData::ShadowData):
(WebCore::calculateShadowExtent):
(WebCore::ShadowData::adjustRectForShadow const):
* rendering/style/ShadowData.h:
(WebCore::ShadowData::ShadowData):
(WebCore::ShadowData::x const):
(WebCore::ShadowData::y const):
(WebCore::ShadowData::location const):
(WebCore::ShadowData::paintingExtent const):
(WebCore::ShadowData::spread const):
* style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyTextOrBoxShadowValue):
LayoutTests:
* fast/box-shadow/hidpi-box-shadow-expected.html: Added.
* fast/box-shadow/hidpi-box-shadow.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252161
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 7 Nov 2019 00:29:19 +0000 (00:29 +0000)]
JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut() should fire its watchpoint as the last step.
https://bugs.webkit.org/show_bug.cgi?id=203867
<rdar://problem/
56813514>
Reviewed by Saam Barati.
JSTests:
* stress/racy-slow-put-cloned-arguments-when-having-a-bad-time.js: Added.
Source/JavaScriptCore:
JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut() should make all
the array structures SlowPut before firing the watchpoint. Otherwise, the
concurrent JIT may think it's grabbing the slow put version of the structure, but
is actually grabbing the non-SlowPut version because it happened to beat the
mutator in a race to read the structure before the mutator makes it SlowPut.
Also removed some assertions in DFGSpeculativeJIT.cpp that are vulnerable to races
between when the mutator makes all array structures SlowPut and when it fires the
HavingABadTime watchpoint. The FTL equivalent did not have these assertions.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCreateRest):
(JSC::DFG::SpeculativeJIT::compileNewArray):
(JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252160
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 7 Nov 2019 00:00:04 +0000 (00:00 +0000)]
Unreviewed, rolling out r251940.
https://bugs.webkit.org/show_bug.cgi?id=203920
"it introduced test262 failures" (Requested by rkirsling on
#webkit).
Reverted changeset:
"[[HasProperty]] result of Proxy in prototype chain is
ignored"
https://bugs.webkit.org/show_bug.cgi?id=203560
https://trac.webkit.org/changeset/251940
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252158
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ysuzuki@apple.com [Wed, 6 Nov 2019 23:57:52 +0000 (23:57 +0000)]
Unreviewed, roll-out r251268 due to RAMification regression
https://bugs.webkit.org/show_bug.cgi?id=203121
The code was the bug, but it would be possible that this bug accidentally makes our policy better.
We should clean up to make this bug's behavior default. And we should look for a bit larger interval here.
* bmalloc/Scavenger.cpp:
(bmalloc::Scavenger::threadRunLoop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252157
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Wed, 6 Nov 2019 23:56:41 +0000 (23:56 +0000)]
Screen locks while watching previously-muted-then-unmuted video
https://bugs.webkit.org/show_bug.cgi?id=203906
<rdar://problem/
55821375>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/video-unmuted-after-play-holds-sleep-assertion.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setMuted):
LayoutTests:
* media/video-unmuted-after-play-holds-sleep-assertion-expected.txt: Added.
* media/video-unmuted-after-play-holds-sleep-assertion.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252156
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 6 Nov 2019 23:53:42 +0000 (23:53 +0000)]
Unreviewed, rolling out r251907.
Causes white flashing in some cases <rdar://problem/
56957850>
Reverted changeset:
"Take down the gesture snapshot early when the back/forward
cache is not leveraged"
https://bugs.webkit.org/show_bug.cgi?id=203713
https://trac.webkit.org/changeset/251907
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252155
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Wed, 6 Nov 2019 23:03:10 +0000 (23:03 +0000)]
Update SameSite tests for new semantics for empty and invalid SameSite attribute
https://bugs.webkit.org/show_bug.cgi?id=203755
<rdar://problem/
50816282>
Reviewed by Brent Fulgham.
Update the tests and test expectations following CFNetwork change <rdar://problem/
42290578> as we
now only recognize SameSite=Strict and SameSite=Lax. That is, we no longer treat SameSite= or
SameSite=<some garbage value> as SameSite=Strict.
MacOS Mojave does not have the fix for <rdar://problem/
42290578> and so we land expected failure results.
* http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt:
* http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt:
* http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt:
* http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt:
* http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt:
* http/tests/cookies/same-site/popup-cross-site-post.html:
* http/tests/cookies/same-site/popup-cross-site.html:
* http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect.html:
* http/tests/cookies/same-site/resources/fetch-after-navigating-iframe-in-cross-origin-page.php:
* http/tests/cookies/same-site/resources/fetch-after-top-level-cross-origin-redirect.php:
* http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-from-cross-origin-page.php:
* http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.php:
* http/tests/cookies/same-site/resources/fetch-in-cross-origin-service-worker.html:
* platform/ios-12/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
* platform/mac-mojave/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt:
* platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt:
* platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt:
* platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt:
* platform/mac-mojave/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt:
* platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-expected.txt:
* platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-post-expected.txt:
* platform/mac-mojave/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt:
* platform/mac/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252153
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
krollin@apple.com [Wed, 6 Nov 2019 22:42:10 +0000 (22:42 +0000)]
Unreviewed build fix: fix TestWebKitAPI in macCatalyst, tvOS, and
watchOS builds by conditionalizing some code on HAVE_UIWEBVIEW and
HAVE_PDFKIT. Follow-up to r251976.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/JSLockTakesWebThreadLock.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
* TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
* TestWebKitAPI/config.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252152
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
obrufau@igalia.com [Wed, 6 Nov 2019 22:38:56 +0000 (22:38 +0000)]
Keep None value at the end of the ListStyleType enum
https://bugs.webkit.org/show_bug.cgi?id=203883
Reviewed by Manuel Rego Casasnovas.
Bug 203837 added a String value at the end of the ListStyleType enum.
This patch moves it before None, in order to keep None at the end.
* rendering/style/RenderStyleConstants.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252151
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Wed, 6 Nov 2019 22:21:33 +0000 (22:21 +0000)]
All EWS status-bubbles shows #1 on security patches when patch is uploaded with webkit-patch --no-review
https://bugs.webkit.org/show_bug.cgi?id=203903
Reviewed by David Kilzer.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(BugzillaPatchFetcher.fetch):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252150
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tsavell@apple.com [Wed, 6 Nov 2019 22:21:20 +0000 (22:21 +0000)]
Unreviewed, rolling out r252138.
Caused 8 http/tests/cookies/same-site/ to fail
Reverted changeset:
"Update SameSite tests for new semantics for empty and invalid
SameSite attribute"
https://bugs.webkit.org/show_bug.cgi?id=203755
https://trac.webkit.org/changeset/252138
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252149
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Wed, 6 Nov 2019 22:17:41 +0000 (22:17 +0000)]
[ews] Increase timeout for svn-apply
https://bugs.webkit.org/show_bug.cgi?id=203909
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252148
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 6 Nov 2019 21:49:36 +0000 (21:49 +0000)]
Layout tests in media/modern-media-controls/pip-placard are designed for MacOS only
https://bugs.webkit.org/show_bug.cgi?id=203859
Patch by Peng Liu <peng.liu6@apple.com> on 2019-11-06
Reviewed by Eric Carlson.
* platform/ios/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252147
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Wed, 6 Nov 2019 21:45:23 +0000 (21:45 +0000)]
[ Mac Debug WK1 ] REGRESSION (r251262?): fast/scrolling/latching/scroll-select-bottom-test.html is a Flaky Failure
https://bugs.webkit.org/show_bug.cgi?id=203176
rdar://problem/
56425901
Unreviewed test gardening.
This hasn't been flaky since r251565 when a related r251261 regression/bug was fixed.
I was also able to run it locally against r252065 a total of 1,100 times with no failures.
* platform/mac-wk1/TestExpectations: Removed scroll-select-bottom-test.html.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252146
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andresg_22@apple.com [Wed, 6 Nov 2019 21:18:41 +0000 (21:18 +0000)]
Adding status field to my contributors.json entry.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252145
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Wed, 6 Nov 2019 21:02:01 +0000 (21:02 +0000)]
[LFC][MarginCollapsing] Add Line::isConsideredEmpty
https://bugs.webkit.org/show_bug.cgi?id=203800
<rdar://problem/
56854192>
Reviewed by Antti Koivisto.
https://www.w3.org/TR/CSS22/visuren.html#inline-formatting
Line boxes that contain no text, no preserved white space, no inline elements with non-zero margins, padding, or borders,
and no other in-flow content (such as images, inline blocks or inline tables), and do not end with a preserved newline
must be treated as zero-height line boxes for the purposes of determining the positions of any elements inside of them,
and must be treated as not existing for any other purpose.
Note that it does not necessarily mean visually non-empty line
<span style="font-size: 0px">this is still considered non-empty</span>
* layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginsCollapseThrough const):
* layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::appendNonBreakableSpace):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::appendNonReplacedInlineBox):
(WebCore::Layout::Line::appendReplacedInlineBox):
(WebCore::Layout::Line::appendLineBreak):
* layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::LineBox::isConsideredEmpty const):
(WebCore::Layout::LineBox::setIsConsideredNonEmpty):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252143
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Wed, 6 Nov 2019 20:42:39 +0000 (20:42 +0000)]
[ANGLE] IOSurfaceSurfaceCGL has format and internalFormat flipped
https://bugs.webkit.org/show_bug.cgi?id=203911
<rdar://problem/
56954291>
Reviewed by Simon Fraser.
Fix a typo where internalFormat and format are used in the
wrong order. The table of formats also had them backwards.
* src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
(rx::IOSurfaceSurfaceCGL::bindTexImage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252142
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 6 Nov 2019 20:14:11 +0000 (20:14 +0000)]
Make sure we never end up with NetworkDataTaskCocoa TaskIdentifier conflicts
https://bugs.webkit.org/show_bug.cgi?id=203902
Reviewed by Antti Koivisto.
Consolidate the all the code related to data task registration / lookup / unregistration
in NetworkSessionCocoa and add a utility method (dataTaskMap()) to decide which data
task map to use. This makes it less error-prone and unlikely that someone would update
part of the code and fail to update the rest accordingly.
I also converted the debug assertions into release ones so that we crash in case of
id confusion instead of having a very bad and hard to diagnose bug like Bug 201822.
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
* NetworkProcess/cocoa/NetworkSessionCocoa.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::dataTaskForIdentifier):
(WebKit::NetworkSessionCocoa::registerDataTask):
(WebKit::NetworkSessionCocoa::unregisterDataTask):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252141
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Wed, 6 Nov 2019 17:37:48 +0000 (17:37 +0000)]
REGRESSION [ PHP ][ iOS ]: Two http/tests/cookies/same-site/set-first-party-* Tests are Failing
https://bugs.webkit.org/show_bug.cgi?id=203567
<rdar://problem/
56708500>
Reviewed by Youenn Fablet.
A callable must be passed by string in PHP. Any other way seems to be non-standard and your
mileage may vary.
* http/tests/cookies/resources/cookie-utilities.php:
* http/tests/cookies/resources/cookie-utility.php:
* platform/ios-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252140
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Wed, 6 Nov 2019 17:36:33 +0000 (17:36 +0000)]
http/tests/security/isolatedWorld/bypass-main-world-csp-worker.html is a Flakey Failure
https://bugs.webkit.org/show_bug.cgi?id=198924
<rdar://problem/
51811010>
Reviewed by Brent Fulgham.
JavaScript alert() cannot be called from a Web Worker. Use postMessage() instead to post "PASS"
to the worker's owner document. The tests don't actually make use of this posted message, but
fixing the code to use postMessage() may come in handy for future tests.
* http/tests/security/contentSecurityPolicy/resources/worker.php:
* http/tests/security/contentSecurityPolicy/worker-script-src.html:
* http/tests/security/isolatedWorld/bypass-main-world-csp-worker.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252139
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Wed, 6 Nov 2019 17:34:50 +0000 (17:34 +0000)]
Update SameSite tests for new semantics for empty and invalid SameSite attribute
https://bugs.webkit.org/show_bug.cgi?id=203755
<rdar://problem/
50816282>
Reviewed by Brent Fulgham.
Update the tests and test expectations following CFNetwork change <rdar://problem/
42290578> as we
now only recognize SameSite=Strict and SameSite=Lax. That is, we no longer treat SameSite= or
SameSite=<some garbage value> as SameSite=Strict.
* http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt:
* http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt:
* http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt:
* http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt:
* http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt:
* http/tests/cookies/same-site/popup-cross-site-post.html:
* http/tests/cookies/same-site/popup-cross-site.html:
* http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect.html:
* http/tests/cookies/same-site/resources/fetch-after-navigating-iframe-in-cross-origin-page.php:
* http/tests/cookies/same-site/resources/fetch-after-top-level-cross-origin-redirect.php:
* http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-from-cross-origin-page.php:
* http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.php:
* http/tests/cookies/same-site/resources/fetch-in-cross-origin-service-worker.html:
* platform/ios-12/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
* platform/ios-12/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
* platform/ios/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
* platform/mac-mojave/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
* platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
* platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/mac-mojave/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
* platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
* platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
* platform/mac-mojave/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
* platform/mac/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252138
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Wed, 6 Nov 2019 17:05:45 +0000 (17:05 +0000)]
Add watchlist category for BuildSlaveSupport
https://bugs.webkit.org/show_bug.cgi?id=203900
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/config/watchlist:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252137
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 6 Nov 2019 13:13:10 +0000 (13:13 +0000)]
[Cairo] Cairo graphics backend uses ImageBuffer::copyImage just to access native image buffer handles
https://bugs.webkit.org/show_bug.cgi?id=203884
Patch by Chris Lord <clord@igalia.com> on 2019-11-06
Reviewed by Carlos Garcia Campos.
The Cairo graphics backend uses ImageBuffer::copyImage(DontCopyBackingStore) frequently just to access
the native image pointer. This makes several functions unusable off-main-thread, so add an accessor
function to avoid doing this.
No new tests -- no change in behavior.
* platform/graphics/ImageBuffer.h:
* platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawShadowLayerBuffer):
(WebCore::Cairo::drawShadowImage):
(WebCore::Cairo::fillShadowBuffer):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clipToImageBuffer):
* platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::clipToImageBuffer):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::nativeImage const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252136
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 6 Nov 2019 10:34:18 +0000 (10:34 +0000)]
[GTK][WPE] Add libfdk-aac-dev to the install-dependencies script
https://bugs.webkit.org/show_bug.cgi?id=203812
Patch by Philippe Normand <philn@igalia.com> on 2019-11-06
Reviewed by Carlos Garcia Campos.
* gtk/install-dependencies:
* wpe/install-dependencies:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252135
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 6 Nov 2019 09:39:01 +0000 (09:39 +0000)]
REGRESSION(r249428): [GStreamer] VP9 video rendered green
https://bugs.webkit.org/show_bug.cgi?id=201422
<rdar://problem/
55945741>
Patch by Philippe Normand <philn@igalia.com> on 2019-11-06
Reviewed by Carlos Garcia Campos.
Enable the texture upload GStreamer meta code path. Until
GStreamer 1.16.2 this workaround is needed to fix VP9 (vp9dec)
rendering. For downstream users cherry-picking the corresponding
GStreamer patch[0], an environment variable can be set to bypass
the reintroduced slow color conversion: $WEBKIT_GST_NO_RGBA_CONVERSION.
[0] https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/
8d32de090554cf29fe359f83aa46000ba658a693
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252134
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
youenn@apple.com [Wed, 6 Nov 2019 08:28:28 +0000 (08:28 +0000)]
There is no need to clean the content type header of a request if it is null
https://bugs.webkit.org/show_bug.cgi?id=203853
Reviewed by Geoffrey Garen.
No change of behavior.
* loader/CrossOriginAccessControl.cpp:
(WebCore::cleanHTTPRequestHeadersForAccessControl):
Stop early if content type is null so that we do not log an error that is not a real error.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252127
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 6 Nov 2019 08:06:32 +0000 (08:06 +0000)]
[GTK] Implement support for Pointer Lock API
https://bugs.webkit.org/show_bug.cgi?id=202956
Reviewed by Carlos Alberto Lopez Perez.
.:
Enable Pointer Lock for GTK port.
* Source/cmake/OptionsGTK.cmake:
Source/WebKit:
Add platform specific implementation of Pointer Lock for the GTK port.
* PlatformGTK.cmake: Generate code for pointer-constraints and relative-pointer Wayland protocols.
* Shared/NativeWebMouseEvent.h: Add optional mouse movement delta.
* Shared/gtk/NativeWebMouseEventGtk.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent): Pass movement delta to WebEventFactory::createWebMouseEvent().
* Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebMouseEvent): Initialize deltaX and deltaY for motion events using the received delta.
* Shared/gtk/WebEventFactory.h: Add optional mouse movement delta.
* SourcesGTK.txt: Add new files to compilation.
* UIProcess/API/glib/WebKitUIClient.cpp: Add implementation for requestPointerLock and didLosePointerLock.
* UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewRequestPointerLock): Call webkitWebViewBaseRequestPointerLock().
(webkitWebViewDidLosePointerLock): Call webkitWebViewBaseDidLosePointerLock().
* UIProcess/API/glib/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDispose): Unlock the pointer and release the PointerLockManager.
(webkitWebViewBaseHandleMouseEvent): Initialize the mouse movement delta for motion events and save the current event.
(webkitWebViewBaseMotionNotifyEvent): Let PointerLockManager handle motion events while pointer is locked.
(webkitWebViewBaseRequestPointerLock): Create a PointerLockManager and request it to lock the pointer.
(webkitWebViewBaseDidLosePointerLock): Request PointerLockManager to unlock the pointer.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/gtk/PointerLockManager.cpp: Added.
(WebKit::PointerLockManager::create):
(WebKit::PointerLockManager::PointerLockManager):
(WebKit::PointerLockManager::~PointerLockManager):
(WebKit::PointerLockManager::lock):
(WebKit::PointerLockManager::unlock):
(WebKit::PointerLockManager::handleMotion):
* UIProcess/gtk/PointerLockManager.h: Added.
(WebKit::PointerLockManager::didReceiveMotionEvent):
* UIProcess/gtk/PointerLockManagerWayland.cpp: Added.
(WebKit::PointerLockManagerWayland::PointerLockManagerWayland):
(WebKit::PointerLockManagerWayland::~PointerLockManagerWayland):
(WebKit::PointerLockManagerWayland::lock):
(WebKit::PointerLockManagerWayland::unlock):
* UIProcess/gtk/PointerLockManagerWayland.h: Added.
* UIProcess/gtk/PointerLockManagerX11.cpp: Added.
(WebKit::PointerLockManagerX11::PointerLockManagerX11):
(WebKit::PointerLockManagerX11::didReceiveMotionEvent):
* UIProcess/gtk/PointerLockManagerX11.h: Added.
Tools:
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::getGDKKeySymForKeyRef): Handle escape key.
LayoutTests:
Unskip Pointer Lock tests and update expectations for tests still failing.
* platform/gtk/TestExpectations:
* platform/gtk/pointer-lock/mouse-event-delivery-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252126
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 6 Nov 2019 06:41:51 +0000 (06:41 +0000)]
[iOS] Scroll position does not get restored when doing a history navigation while the reader view is shown
https://bugs.webkit.org/show_bug.cgi?id=203871
<rdar://problem/
56564603>
Reviewed by Tim Horton.
Source/WebKit:
Previously, attempts to restore the scroll position on the web view while it is being dynamically resized
would get ignored. Instead, we now delay restoring the scroll position until after the view is resized.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _restorePageScrollPosition:scrollOrigin:previousObscuredInset:scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
Tools:
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/simple-tall.html:
* TestWebKitAPI/Tests/WebKitCocoa/RestoreScrollPosition.mm: Added.
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252125
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Wed, 6 Nov 2019 06:36:28 +0000 (06:36 +0000)]
WTF::RunLoop should not depend on isMainThread() idiom.
https://bugs.webkit.org/show_bug.cgi?id=203873
<rdar://problem/
56524251>
Reviewed by Saam Barati, Ryosuke Niwa, and Devin Rousso.
Source/JavaScriptCore:
* inspector/JSGlobalObjectScriptDebugServer.cpp:
(Inspector::JSGlobalObjectScriptDebugServer::runLoopMode):
* inspector/JSGlobalObjectScriptDebugServer.h:
* inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
(Inspector::RemoteTargetInitializeGlobalQueue):
(Inspector::RemoteConnectionToTarget::setupRunLoop):
(Inspector::RemoteConnectionToTarget::teardownRunLoop):
Source/WTF:
The isMainThread() idiom is only meaningful for WebCore. It is less meaningful
for JSC since a VM instance can be entered from multiple threads, as long as only
one thread enters it at any time. Hence, the concept of a main thread doesn't
make sense at the JSC level.
Since r251036, we started using a WTF::String to represent the RunLoop mode.
This caused problems for JSC clients when USE(CF) since it necessitated the use of
StringWrapperCFAllocator to track the life cycle of the CFStringRef generated from
the WTF::String.
To fix this problem, we should restore the original behavior of using CFStringRefs
as the RunLoop mode token.
* wtf/RunLoop.h:
(WTF::RunLoop::cycle): Deleted.
* wtf/cf/RunLoopCF.cpp:
(WTF::RunLoop::cycle):
* wtf/generic/RunLoopGeneric.cpp:
(WTF::RunLoop::cycle):
* wtf/glib/RunLoopGLib.cpp:
(WTF::RunLoop::cycle):
* wtf/win/RunLoopWin.cpp:
(WTF::RunLoop::cycle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252124
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
katherine_cheney@apple.com [Wed, 6 Nov 2019 05:17:37 +0000 (05:17 +0000)]
Layout test website-data-removal-for-site-navigated-to-with-link-decoration.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203706
Source/WebKit:
<rdar://problem/
56801615>
Reviewed by Chris Dumez.
No new tests, this change is tested by the existing resourceLoadStatistics
tests.
This test started flaking when a new memory store was being created
between tests to maintain consistency. The call to grandfatherExistingWebsiteData
from populateMemoryStoreFromDisk in the persistent storage was
async, causing a race condition that led to occasional failures.
Adding a completion handler and changing the callsite of
populateMemoryStoreFromDisk should fix this problem.
* NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp:
(WebKit::ResourceLoadStatisticsPersistentStorage::populateMemoryStoreFromDisk):
* NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h:
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
LayoutTests:
<rdar://problem/
56801615>
Reviewed by Chris Dumez.
Since the state is reset between tests, the call to
setUseITPDatabase(false) is redundant.
* http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html:
* http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252123
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Wed, 6 Nov 2019 03:56:05 +0000 (03:56 +0000)]
Integrate visualViewport's resize event with HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203842
Reviewed by Simon Fraser.
Source/WebCore:
Integrate the visual viewport API's resize event with HTML5 event loop
as intended in r251867.
Test: fast/events/resize-subframe-in-rendering-update.html
* dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::enqueueResizeEvent): Deleted.
* dom/DocumentEventQueue.h:
* page/VisualViewport.cpp:
(WebCore::VisualViewport::update):
(WebCore::VisualViewport::enqueueResizeEvent): Deleted.
LayoutTests:
Added a test to make sure resize event fires on visualViewport in the frame tree order.
* fast/visual-viewport/visual-viewport-resize-subframe-in-rendering-update-expected.txt: Added.
* fast/visual-viewport/visual-viewport-resize-subframe-in-rendering-update.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252122
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin_fan@apple.com [Wed, 6 Nov 2019 03:01:19 +0000 (03:01 +0000)]
[WebGL] Update WebGL 1 tests to prep for WebGL Conformance bot
https://bugs.webkit.org/show_bug.cgi?id=203763
Reviewed by Dean Jackson.
Remove the 1.0.2 suite and update 1.0.3 suite, which supercedes the former.
* webgl/1.0.2: Removed.
* webgl/1.0.3: Updated to latest Khronos version and expectations to match. Unskip all non-timeout/non-crashing tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252121
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
Hironori.Fujii@sony.com [Wed, 6 Nov 2019 02:02:48 +0000 (02:02 +0000)]
Unreviewed, rolling out r251908.
This workaround is not needed after r252086.
Reverted changeset:
"[WinCairo][Clang] Unreviewed build fix"
https://bugs.webkit.org/show_bug.cgi?id=203663
https://trac.webkit.org/changeset/251908
* workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::identifier const): Deleted.
* workers/service/context/ServiceWorkerThreadProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252118
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wilander@apple.com [Wed, 6 Nov 2019 01:38:59 +0000 (01:38 +0000)]
Temporarily turn off NSURLSession isolation
https://bugs.webkit.org/show_bug.cgi?id=201822
Reviewed by Chris Dumez.
Source/WebKit:
Existing tests skipped.
Re-enabling it is tracked in rdar://problem/
56921584.
* NetworkProcess/cache/NetworkCacheStorage.h:
Bumps the version to force a clean cache.
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
Skips setting needsIsolatedSession.
LayoutTests:
Re-enabling it is tracked in rdar://problem/
56921584.
* platform/wk2/TestExpectations:
Skipped the associated tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252116
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tzagallo@apple.com [Wed, 6 Nov 2019 01:30:41 +0000 (01:30 +0000)]
[WebAssembly] Allow tiering up from LLInt to BBQ
https://bugs.webkit.org/show_bug.cgi?id=203793
Reviewed by Yusuke Suzuki.
Even though the interpreter was overall neutral on throughput, it's still a regression in pathological
cases where massive functions spend too long in the LLInt while compiling the function with OMG. This
patch makes it so that the LLInt can tier up to BBQ from the prologue, while still tiering up to OMG from
from loops. This is a huge speed up on the tsf-wasm subtest of JS2:
# BBQ -> OMG
Startup: 100.680
Runtime: 1.852
Score: 13.654
# LLInt -> OMG
Startup: 378.205
Runtime: 1.291
Score: 22.082
# LLInt -> BBQ -> OMG
Startup: 405.983
Runtime: 2.311
Score: 30.623
* runtime/Options.cpp:
(JSC::overrideDefaults):
* runtime/OptionsList.h:
* wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::BBQPlan):
(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::compileFunction):
* wasm/WasmEntryPlan.cpp:
(JSC::Wasm::EntryPlan::EntryPlan):
* wasm/WasmEntryPlan.h:
* wasm/WasmLLIntTierUpCounter.h:
(JSC::Wasm::LLIntTierUpCounter::optimizeAfterWarmUp):
(JSC::Wasm::LLIntTierUpCounter::optimizeSoon):
* wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::work):
* wasm/WasmSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252115
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jbedard@apple.com [Tue, 5 Nov 2019 22:59:56 +0000 (22:59 +0000)]
REGRESSION(r252031): layout tests fail to run in non apple ports after r252031 (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=203844
Rubber-stamped by Aakash Jain.
Remove infinite loop for Windows.
* Scripts/webkitpy/port/win.py:
(WinPort._path_to_default_image_diff):
(WinPort._path_to_image_diff): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252087
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
Hironori.Fujii@sony.com [Tue, 5 Nov 2019 22:57:46 +0000 (22:57 +0000)]
.:
[Win][CMake] Build WebCore as an OBJECT library for WinCairo port
https://bugs.webkit.org/show_bug.cgi?id=203663
Reviewed by Ross Kirsling.
WebCore is using __declspec(dllexport) to export symbols, but it
is built as a static library rather than a DLL. If any symbols in
an object file aren't referenced from WebKit.dll, they won't be
included in WebKit.dll.
This issue can be solved either by using OBJECT library for
WebCore or using /WHOLEARCHIVE:WebCore.lib for WebKit.
This change takes OBJECT library approach becuase it doesn't
generate unnecessary static libs (WebCore.lib) and it's already
used for non-unified source builds for the library size issue (Bug
196866 Comment 4).
However, AppleWin can't use it because the Apple internal builds
need to generate the static libs and OBJECT library doesn't work
well with makesafeseh.obj.
* Source/cmake/OptionsWin.cmake: Removed code overriding library types.
* Source/cmake/OptionsWinCairo.cmake: Use OBJECT library types for WebCore and WebCoreTestSupport.
Source/WebCore:
[Win][CMake] Build WebCore as an OBJECT library unless Apple internal builds
https://bugs.webkit.org/show_bug.cgi?id=203663
Reviewed by Ross Kirsling.
No behavioral changes.
* CMakeLists.txt: Changed WebCoreTestSupport not to link with
WebCore for Windows. Because WebKit.dll exports WebCore symbols,
they will be duplicated with WebCore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252086
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Tue, 5 Nov 2019 22:22:17 +0000 (22:22 +0000)]
Eliminate mach lookup to cfprefsd on process startup
https://bugs.webkit.org/show_bug.cgi?id=202866
Reviewed by Geoffrey Garen.
Currently, the WebContent and Networking process is calling CFBundleGetValueForInfoDictionaryKey on startup
to get the entry point function name into the WebKit bundle. This causes a mach lookup to cfprefsd which
should be avoided. Instead, we can send the service name as part of the bootstrap message when the UI process
is starting the process, and have the new process read this value from the message on startup to determine
the name of the entry point. This is possibly also an improvement in launch time, since we avoid reading a
value from Info.plist.
* NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-OSX.plist:
* NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-iOS.plist:
* PluginProcess/EntryPoint/Cocoa/XPCService/PluginService.64.Info.plist:
* Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess):
* WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-OSX.plist:
* WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-iOS.plist:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252083
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Tue, 5 Nov 2019 22:05:48 +0000 (22:05 +0000)]
[iOS] Add logging and telemetry to mach services believed to be unused
https://bugs.webkit.org/show_bug.cgi?id=203831
Reviewed by Geoffrey Garen.
The sandbox rules for mach services believed to be unused should have logging and telemetry added to confirm
whether the assumption is correct.
* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252081
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 5 Nov 2019 21:54:57 +0000 (21:54 +0000)]
REGRESSION (r251930): Flaky WK1 crash in printing/pseudo-class-outside-page.html
https://bugs.webkit.org/show_bug.cgi?id=203855
Reviewed by Simon Fraser.
Exit early when executing media queries removes FrameView.
* page/Frame.cpp:
(WebCore::Frame::setPrinting):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Tue, 5 Nov 2019 21:47:20 +0000 (21:47 +0000)]
Adding logging to diagnose crashes resulting from provisional document loader unexpectedly being nullptr
https://bugs.webkit.org/show_bug.cgi?id=203837
Reviewed by Geoffrey Garen.
Added various logging for DocumentLoader and FrameLoader to figure out why
FrameLoader::m_provisionalDocumentLoader can be nullptr in some cases.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setRequest):
(WebCore::DocumentLoader::willSendRequest):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::clearProvisionalLoadForPolicyCheck):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::stopForBackForwardCache):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252077
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
obrufau@igalia.com [Tue, 5 Nov 2019 21:41:48 +0000 (21:41 +0000)]
[css-lists] Implement list-style-type: <string>
https://bugs.webkit.org/show_bug.cgi?id=167729
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Some tests pass now.
* web-platform-tests/css/css-lists/parsing/list-style-type-computed-expected.txt:
* web-platform-tests/css/css-lists/parsing/list-style-type-valid-expected.txt:
Source/WebCore:
This patch extends the syntax of the list-style-type property to accept
arbitrary string values in order to customize the marker contents.
When a string is specified for list-style-type, the patch sets it to a
special ListStyleType::String, and the string value is stored in an
extra field.
Tests: imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-001a.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-001b.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-002.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-003.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-004.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-005a.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-005b.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-006.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-007.html
imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-computed.html
imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-valid.html
Some tests fail because mixed-bidi is not supported in markers
(https://bugs.webkit.org/show_bug.cgi?id=202849).
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSProperties.json:
* css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isPartialKeywordPropertyID):
* css/parser/CSSParserFastPaths.h:
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
* rendering/RenderListMarker.cpp:
(WebCore::effectiveListMarkerType):
(WebCore::listMarkerSuffix):
(WebCore::listMarkerText):
(WebCore::RenderListMarker::styleDidChange):
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::updateContent):
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::updateMargins):
(WebCore::RenderListMarker::suffix const):
(WebCore::RenderListMarker::getRelativeMarkerRect):
* rendering/style/CounterContent.h:
(WebCore::CounterContent::CounterContent):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::listStyleStringValue const):
(WebCore::RenderStyle::setListStyleStringValue):
(WebCore::RenderStyle::initialListStyleStringValue):
* rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
* rendering/style/StyleRareInheritedData.h:
* style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInheritListStyleType):
(WebCore::Style::BuilderCustom::applyInitialListStyleType):
(WebCore::Style::BuilderCustom::applyValueListStyleType):
LayoutTests:
Most tests pass now, but some still fail because mixed-bidi is not
supported in markers (https://bugs.webkit.org/show_bug.cgi?id=202849).
iOS and Mac have some extra failures due to subpixel differences for the
marker position.
* TestExpectations:
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252076
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Tue, 5 Nov 2019 21:36:43 +0000 (21:36 +0000)]
EWS should report test failures from clean-tree to results.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=203829
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig):
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.__init__):
(RunWebKitTestsWithoutPatch.start):
(RunAPITestsWithoutPatch.start):
* BuildSlaveSupport/ews-build/steps_unittest.py: Added and updated unit-tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252075
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Tue, 5 Nov 2019 20:11:32 +0000 (20:11 +0000)]
Content can disappear with a combination of <video> with controls and clipping
https://bugs.webkit.org/show_bug.cgi?id=203834
Source/WebCore:
rdar://problem/
56559648
Reviewed by Zalan Bujtas.
<video> with controls triggered a bug where a backing-sharing layer also claimed
that it didn't need any backing store. RenderLayerCompositor::requiresOwnBackingStore()
could early-return with 'false' if a layer had an indirect compositing reason of "Clipping",
while also backing-sharing. We need to check for backing-sharing first.
Test: compositing/shared-backing/clipping-and-shared-backing.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setBackingSharingLayers):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresOwnBackingStore const):
LayoutTests:
Reviewed by Zalan Bujtas.
* compositing/shared-backing/clipping-and-shared-backing-expected.html: Added.
* compositing/shared-backing/clipping-and-shared-backing.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252070
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 5 Nov 2019 20:10:01 +0000 (20:10 +0000)]
Disabled SVG shapes should not be hit
https://bugs.webkit.org/show_bug.cgi?id=200140
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-11-05
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
* web-platform-tests/svg/import/types-dom-08-f-manual.svg:
This is the expectation of FireFox as well.
* web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt:
Source/WebCore:
The fill and the stroke rectangles should not be computed for disabled
SVG shapes.
The existing code may calculate the root's boundary: at(0, 0) size 0x0
while one of its children boundary is calculated at: (47,47) size 6x6.
See circle-01-expected.txt.
* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::updateShapeFromElement):
* rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::updateShapeFromElement):
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::fillContains):
(WebCore::RenderSVGShape::strokeContains):
LayoutTests:
* platform/gtk/imported/w3c/web-platform-tests/svg/import/animate-elem-32-t-manual-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-circle-02-t-manual-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-02-t-manual-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-intro-01-t-manual-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-rect-02-t-manual-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/svg/shapes/circle-01-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/svg/shapes/ellipse-04-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/svg/shapes/ellipse-09-expected.txt:
* platform/gtk/imported/w3c/web-platform-tests/svg/shapes/rect-05-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/animate-elem-32-t-manual-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/shapes-circle-02-t-manual-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-02-t-manual-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/shapes-intro-01-t-manual-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/shapes-rect-02-t-manual-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/types-dom-08-f-manual-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/circle-01-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/ellipse-04-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/ellipse-09-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/rect-05-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
* platform/ios/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
* platform/ios/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
* platform/ios/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
* platform/ios/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
* platform/ios/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/import/animate-elem-32-t-manual-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/import/shapes-circle-02-t-manual-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-02-t-manual-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/import/shapes-intro-01-t-manual-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/import/shapes-rect-02-t-manual-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/import/types-dom-08-f-manual-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/shapes/circle-01-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/shapes/ellipse-04-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/shapes/ellipse-09-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/shapes/rect-05-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
* platform/win/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
* platform/win/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
* platform/win/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
* platform/win/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
* platform/win/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/import/animate-elem-32-t-manual-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-circle-02-t-manual-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-02-t-manual-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-intro-01-t-manual-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-rect-02-t-manual-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/shapes/circle-01-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/shapes/ellipse-04-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/shapes/ellipse-09-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/shapes/rect-05-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
* platform/wpe/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
* platform/wpe/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
* platform/wpe/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
* platform/wpe/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
* svg/custom/getBBox-js-circle-zerodimension-expected.txt: Removed.
* svg/custom/getBBox-js-circle-zerodimension.html: Removed.
* svg/custom/getBBox-js-ellipse-zerodimension-expected.txt: Removed.
* svg/custom/getBBox-js-ellipse-zerodimension.html: Removed.
* svg/custom/getBBox-js-rect-zerodimension-expected.txt: Removed.
* svg/custom/getBBox-js-rect-zerodimension.html: Removed.
These tests were added in r169522. They succeed in Safari and Chrome but
they fail in FireFox. The issue of calculating getBBox was discussed in:
https://lists.w3.org/Archives/Public/www-svg/2012Aug/0014.html. But no
resolution was reached.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252069
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Tue, 5 Nov 2019 19:53:49 +0000 (19:53 +0000)]
Add definitions of ANSI colors for colorful log output
https://bugs.webkit.org/show_bug.cgi?id=203805
Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2019-11-05
Reviewed by Saam Barati.
* WTF.xcodeproj/project.pbxproj:
* wtf/AnsiColors.h: Added.
* wtf/CMakeLists.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252068
268f45cc-cd09-0410-ab3c-
d52691b4dbfc