WebKit-https.git
5 months ago[ iOS wk2 Release ] fast/text-autosizing/ios/idempotentmode/viewport-change-relayout...
lawrence.j@apple.com [Wed, 26 Feb 2020 17:13:26 +0000 (17:13 +0000)]
[ iOS wk2 Release ] fast/text-autosizing/ios/idempotentmode/viewport-change-relayout.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208245

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257476 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed build fix for non-unified builds with assertions enabled.
aperez@igalia.com [Wed, 26 Feb 2020 17:04:02 +0000 (17:04 +0000)]
Unreviewed build fix for non-unified builds with assertions enabled.

* css/CSSImageSetValue.cpp: Add missing include.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257474 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoAXIsolatedObject support for table column objects.
andresg_22@apple.com [Wed, 26 Feb 2020 16:16:57 +0000 (16:16 +0000)]
AXIsolatedObject support for table column objects.
https://bugs.webkit.org/show_bug.cgi?id=208215

Reviewed by Chris Fleizach.

Covered by existing tests.

- AccessibilityTableColumn interface is now exposed through
AXCoreObject.
- Separated isTableColumn from isAccessibilityTableColumnInstance.
- This eliminates to need to downcast in the wrapper code, and hence
makes it possible that the same code works for both AccessibilityObjects
and AXIsolatedObjects.
- Completed the caching of table column properties in AXIsolatedObject.
- Some minor code cleanup.

* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::addChildren): Removed unnecessary cast.
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityObjectInterface.h:
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren): Removed unnecessary cast.
(WebCore::AccessibilityTable::columnHeaders):
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::columnHeader):
(WebCore::AccessibilityTableColumn::headerObject): Renamed columnHeader.
* accessibility/AccessibilityTableColumn.h:
* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::isAccessibilityTableColumnInstance const):
* accessibility/isolatedtree/AXIsolatedObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257473 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUse WebPageProxy preferences for capture instead of WebProcessPool configuration...
youenn@apple.com [Wed, 26 Feb 2020 15:57:19 +0000 (15:57 +0000)]
Use WebPageProxy preferences for capture instead of WebProcessPool configuration parameters
https://bugs.webkit.org/show_bug.cgi?id=208238

Reviewed by Eric Carlson.

Source/WebKit:

We can use page preferences instead of pool preferences for audio/video capture.
This allows removing code and is more up to date.
Manually tested.

* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/C/WKContextConfigurationRef.cpp:
* UIProcess/API/C/WKContextConfigurationRef.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::updateBoolValueForInternalDebugFeatureKey):
(WebKit::WebPreferences::updateBoolValueForExperimentalFeatureKey):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createWebPage):

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
Remove use of deleted parameter.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257472 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed, fix debug asserts on the bots after r257389.
cdumez@apple.com [Wed, 26 Feb 2020 15:56:14 +0000 (15:56 +0000)]
Unreviewed, fix debug asserts on the bots after r257389.

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::create):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257471 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoConversion between MediaSample and RemoteVideoSample should preserve the rotation...
youenn@apple.com [Wed, 26 Feb 2020 15:29:35 +0000 (15:29 +0000)]
Conversion between MediaSample and RemoteVideoSample should preserve the rotation information
https://bugs.webkit.org/show_bug.cgi?id=208240

Reviewed by Eric Carlson.

Source/WebCore:

Update RemoteVideoSample to have surface getter be const.
Add a new routine to convert a RemoteVideoSample in a MediaSample, with proper rotation and mirrored information.
Covered by manual testing.

* platform/graphics/RemoteVideoSample.cpp:
(WebCore::RemoteVideoSample::surface const):
* platform/graphics/RemoteVideoSample.h:
(WebCore::RemoteVideoSample::mirrored const):
* platform/graphics/cv/ImageTransferSessionVT.h:
* platform/graphics/cv/ImageTransferSessionVT.mm:
(WebCore::ImageTransferSessionVT::createMediaSample):

Source/WebKit:

Use new routine that preserves rotation.

* GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::videoSampleAvailable):
* GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::enqueueSample):
* WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::Source::remoteVideoSampleAvailable):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257470 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[LFC][IFC][Floats] ASSERT(committedInlineItemCount || line.hasIntrusiveFloat()) in...
zalan@apple.com [Wed, 26 Feb 2020 15:05:13 +0000 (15:05 +0000)]
[LFC][IFC][Floats] ASSERT(committedInlineItemCount || line.hasIntrusiveFloat()) in LineLayoutContext::close
https://bugs.webkit.org/show_bug.cgi?id=208230
<rdar://problem/59791249>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/float-and-br-inline-content-only.html

Expand the ASSERT to include all the valid cases
1. Inline content is added to the line
2. Only float(s) got processed (no inline content)
3. Neither floats not inline content got processed due to intrusive floats.
(This patch slightly rearranges the body of LineLayoutContext::commitFloats and also fixes an off-by-1 error in LineLayoutContext::close.)

* layout/inlineformatting/LineLayoutContext.cpp:
(WebCore::Layout::LineLayoutContext::close):
(WebCore::Layout::LineLayoutContext::commitFloats):

LayoutTests:

* fast/layoutformattingcontext/float-and-br-inline-content-only-expected.html: Added.
* fast/layoutformattingcontext/float-and-br-inline-content-only.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257469 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[GStreamer] Correctly remove webvttenc on WebKitTextCombiner pad release
aboya@igalia.com [Wed, 26 Feb 2020 14:45:29 +0000 (14:45 +0000)]
[GStreamer] Correctly remove webvttenc on WebKitTextCombiner pad release
https://bugs.webkit.org/show_bug.cgi?id=208234

Reviewed by Xabier Rodriguez-Calvar.

The implementation of webkitTextCombinerReleasePad() was wrong in that
it was checking the peer pad of webkittextcombinerpad to check if it
belonged a webvttenc element and remove it... But since this is a
ghostpad, the peer is upstream, not downstream. When the release pad
function is called, upstream is already disconnected, so the branch
was never hit.

To actually remove the webvttenc element we must check the target pad
instead of the peer pad, which corresponds to the element downstream.
Also, we need to set the element state to NULL before removing it,
which the previous code didn't.

* platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
(webkitTextCombinerReleasePad):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257468 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed. Update fast/forms/number/number-size.html after r257299
carlosgc@webkit.org [Wed, 26 Feb 2020 14:12:35 +0000 (14:12 +0000)]
Unreviewed. Update fast/forms/number/number-size.html after r257299

Since r257299 the GTK port specific behavior is no longer needed, so we can remove the widthSpecified function
and use the specified value directly.

* fast/forms/number/number-size-expected.txt:
* fast/forms/number/number-size.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257467 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[JSC][MIPS] Adding support to Checkpoints
ticaiolima@gmail.com [Wed, 26 Feb 2020 14:06:30 +0000 (14:06 +0000)]
[JSC][MIPS] Adding support to Checkpoints
https://bugs.webkit.org/show_bug.cgi?id=208196

Reviewed by Yusuke Suzuki.

JSTests:

* microbenchmarks/memcpy-typed-loop.js:

Source/JavaScriptCore:

This patch is adding changes to properly support OSR to
checkpoints on MIPS. It required fixes on JIT probe and some
adjustment on Offlineasm to correct generate `$gp` load when executing
`checkpoint_osr_exit_from_inlined_call_trampoline`.

* assembler/MacroAssemblerMIPS.cpp:

Probe trampoline needs to allocate 16 bytes for 4 arguments to
properly follow C calling conventions. This space is used by callee
when the JSC is compiled with `-O0` flags
(Check "DEFAULT C CALLING CONVENTION (O32)" section on
https://www.mips.com/downloads/mips32-instruction-set-quick-reference-v1-01).

* llint/LowLevelInterpreter.asm:

As we need to do on ARMv7, 64-bits arguments needs to be passed in
register pairs `$a1:$a0` or `$a3:$a2` (little-endian mode). Since `$a0`
contais `CallFrame*`, we need to pass `EncodedJSValue` on `$a3:$a2`
pair.

* offlineasm/mips.rb:

Following the same reason for return locations on OSR to LLInt, we
need to adjust `$gp` using `$ra` instead of `$t9` on
`checkpoint_osr_exit_from_inlined_call_trampoline`, given it is only
reachable through `ret` operations. For detailed explanation, check
ChangeLog of https://trac.webkit.org/changeset/252713.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257466 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRemove throttling code from RenderLayerCompositor
antti@apple.com [Wed, 26 Feb 2020 13:37:58 +0000 (13:37 +0000)]
Remove throttling code from RenderLayerCompositor
https://bugs.webkit.org/show_bug.cgi?id=208135
<rdar://problem/59765410>

Unreviewed partial revert.

Source/WebCore:

Keep using the "flush" naming in GraphicsLayerClient.

* page/PageOverlayController.cpp:
(WebCore::PageOverlayController::notifyFlushRequired):
(WebCore::PageOverlayController::notifyRenderingUpdateRequired): Deleted.
* page/PageOverlayController.h:
* page/linux/ResourceUsageOverlayLinux.cpp:
* page/mac/ServicesOverlayController.h:
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::notifyFlushRequired):
(WebCore::ServicesOverlayController::Highlight::notifyRenderingUpdateRequired): Deleted.
* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::notifyFlushRequired):
(WebCore::GraphicsLayerClient::notifyRenderingUpdateRequired): Deleted.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::notifyFlushRequired):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::notifyFlushRequired):
(WebCore::RenderLayerBacking::notifyRenderingUpdateRequired): Deleted.
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::notifyFlushRequired):
(WebCore::RenderLayerCompositor::notifyRenderingUpdateRequired): Deleted.
* rendering/RenderLayerCompositor.h:

Source/WebKit:

* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::notifyFlushRequired):
(WebKit::CompositingCoordinator::notifyRenderingUpdateRequired): Deleted.
* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:

Source/WebKitLegacy/win:

* WebView.cpp:
(WebView::notifyFlushRequired):
(WebView::notifyRenderingUpdateRequired): Deleted.
* WebView.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257465 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[GL][GStreamer] Instantiate GstGLContext when the shared GLContext is created
commit-queue@webkit.org [Wed, 26 Feb 2020 12:35:11 +0000 (12:35 +0000)]
[GL][GStreamer] Instantiate GstGLContext when the shared GLContext is created
https://bugs.webkit.org/show_bug.cgi?id=200626

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-02-26
Reviewed by Carlos Garcia Campos.

This patch adds GstGLContext and GstGLDisplay as part of
PlatformDisplay.

Right now one GstGLContext is created per video tag, which is a
wrapper of the GL shared context. Every time this wrapper is
created the GL context has to be current in order to initialize
the wrapper's internal state.

A better approach would be to have a single GstGLContext per GL
context, to instantiate it when the GL context is created and
current. This GstGLContext would be used for all media players.

GstGLContext and GstGLDisplay are instantiated as singletons by
PlatformDisplay. When the media player request for the
GstGLContext a GL context is instantiated, if it wasn't before,
and wraps it. PlatformDisplay adds two getters, one for
GstGLContext object, and other for GstGLDisplay. Both are used to
configure the internal GStreamer GL context in the multimedia
pipeline.

No new tests are needed.

* platform/GStreamer.cmake:
* platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::terminateEGLDisplay):
* platform/graphics/PlatformDisplay.h:
* platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:
(requestGLContext):
(webKitGLVideoSinkChangeState):
(webKitGLVideoSinkProbePlatform):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp: Added.
(createGstGLDisplay):
(PlatformDisplay::tryEnsureGstGLContext):
(PlatformDisplay::gstGLDisplay const):
(PlatformDisplay::gstGLContext const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257463 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoDocumentTimeline / CSSTransition objects are leaking on CNN.com
cdumez@apple.com [Wed, 26 Feb 2020 10:21:29 +0000 (10:21 +0000)]
DocumentTimeline / CSSTransition objects are leaking on CNN.com
https://bugs.webkit.org/show_bug.cgi?id=208069
<rdar://problem/59680143>

Reviewed by Antoine Quint.

Break reference cycle between DocumentTimeline and WebAnimation by using WeakPtr.

* animation/AnimationTimeline.h:
* animation/DocumentTimeline.h:
* animation/WebAnimation.cpp:
(WebCore::WebAnimation::timeline const):
(WebCore::WebAnimation::setTimeline):
(WebCore::WebAnimation::setTimelineInternal):
(WebCore::WebAnimation::enqueueAnimationEvent):
(WebCore::WebAnimation::acceleratedStateDidChange):
* animation/WebAnimation.h:
(WebCore::WebAnimation::timeline const): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed build fix for non-unified builds.
aperez@igalia.com [Wed, 26 Feb 2020 10:07:14 +0000 (10:07 +0000)]
Unreviewed build fix for non-unified builds.

* bindings/js/JSAnimationTimelineCustom.cpp: Add missing header include.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed. Bump GTK version numbers
carlosgc@webkit.org [Wed, 26 Feb 2020 09:16:48 +0000 (09:16 +0000)]
Unreviewed. Bump GTK version numbers

* Source/cmake/OptionsGTK.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoCustom element caching should be aware of different worlds.
mark.lam@apple.com [Wed, 26 Feb 2020 08:47:57 +0000 (08:47 +0000)]
Custom element caching should be aware of different worlds.
https://bugs.webkit.org/show_bug.cgi?id=208228
<rdar://problem/57881013>

Reviewed by Ryosuke Niwa.

Even though a custom element is cached in one world, we should return an unknown
HTMl element in a different world.

Test to be added in https://bugs.webkit.org/show_bug.cgi?id=208229.

* bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoCall pending m_unregisterJobs completion handlers when WebSWServerConnection goes...
youenn@apple.com [Wed, 26 Feb 2020 08:38:21 +0000 (08:38 +0000)]
Call pending m_unregisterJobs completion handlers when WebSWServerConnection goes away
https://bugs.webkit.org/show_bug.cgi?id=208208
<rdar://problem/59747016>

Reviewed by Alex Christensen.

Covered by existing tests in debug.

* NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::~WebSWServerConnection):
Make sure to call pending completion handlers at destruction time.
They will do nothing since their goal is to send back an IPC message
on a dead IPC connection.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WinCairo] Unreviewed build fix for unified source builds
Hironori.Fujii@sony.com [Wed, 26 Feb 2020 07:49:06 +0000 (07:49 +0000)]
[WinCairo] Unreviewed build fix for unified source builds

> Modules\websockets\WebSocket.cpp(334): error C2065: 'WorkerGlobalScope': undeclared identifier
> Modules\websockets\WebSocket.cpp(334): error C2672: 'downcast': no matching overloaded function found
> Modules\websockets\WebSocket.cpp(334): error C2974: 'WTF::downcast': invalid template argument for 'Target', type expected

* Modules/websockets/WebSocket.cpp: Added #include "WorkerGlobalScope.h".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoWeb Inspector: AXI: buttons should be focusable when navigating by pressing Tab
nvasilyev@apple.com [Wed, 26 Feb 2020 07:18:43 +0000 (07:18 +0000)]
Web Inspector: AXI: buttons should be focusable when navigating by pressing Tab
https://bugs.webkit.org/show_bug.cgi?id=208163
<rdar://problem/59745448>

Reviewed by Brian Burg.

Buttons now accessible with Tab navigation. The focused button has the native focus outline.

Clicking on the button does NOT move the focus. For example, when you're focused on the
console prompt, clicking on the icon to hide the right sidebar keeps you focused where
you were — the console prompt. This behavior matches macOS.

Convert WI.NavigationItem with role=button from `<div>` to `<button>` elements.
Button elements have implicit tabIndex=0. When focused, pressing Space or Enter
triggers "click" event.

* UserInterface/Views/ActivateButtonNavigationItem.js:
(WI.ActivateButtonNavigationItem.prototype.set activated):
Add "aria-pressed" and "aria-label" attributes for VoiceOver.

* UserInterface/Views/ButtonNavigationItem.css:
(.navigation-bar .item.button:not(.image-only):focus,):
(.navigation-bar .item.button.image-only:focus):
(.navigation-bar .item.button:not(.disabled):matches(.activate.activated, .radio.selected) > .glyph):
(.navigation-bar .item.button:not(.disabled):active:matches(.activate.activated, .radio.selected) > .glyph):
Before this patch, focused button looked the same as activated buttons.
For example, the focused (non-active) bullseye icon looked exactly the
same as unfocused active bullseye icon, which was misleading.

* UserInterface/Views/ButtonNavigationItem.js:
(WI.ButtonNavigationItem):
(WI.ButtonNavigationItem.prototype._mouseClicked):
(WI.ButtonNavigationItem.prototype._handleMouseDown):
Clicking on a button shouldn't move focus. For example, when you're focused on the console prompt,
clicking on the icon to hide the right sidebar should keep you focused where you were - the console prompt.

(WI.ButtonNavigationItem.prototype._handleKeyDown):
* UserInterface/Views/ButtonToolbarItem.css:
(.toolbar .item.button):
Adjust outline offset to remove the gap between the outline and the border of the button.

(.toolbar .item.button:not(.disabled).activate.activated):
(@media (prefers-color-scheme: dark) body:not(.window-inactive) .toolbar .item.button:not(.disabled).activate.activated > .glyph):
* UserInterface/Views/ControlToolbarItem.css:
(.toolbar .item.control:focus):
(.toolbar .item.control:focus > .glyph):
Draw the outline around the X (close button) glyph, not the button itself (which is much wider than the glyph).

* UserInterface/Views/NavigationBar.css:
(.navigation-bar .item):
(.navigation-bar .item:focus):
* UserInterface/Views/NavigationBar.js:
(WI.NavigationBar):
"focus" and "blur" events don't bubble. These event handlers didn't capture the event.

(WI.NavigationBar.prototype._mouseDown):
(WI.NavigationBar.prototype._keyDown):
* UserInterface/Views/NavigationItem.js:
(WI.NavigationItem):
* UserInterface/Views/RadioButtonNavigationItem.css:
(.navigation-bar .item.radio.button:focus):
* UserInterface/Views/Toolbar.css:
(.toolbar .item):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoWeb Inspector: safari app extension isolated worlds and injected files use the extens...
drousso@apple.com [Wed, 26 Feb 2020 06:05:13 +0000 (06:05 +0000)]
Web Inspector: safari app extension isolated worlds and injected files use the extension's identifier instead of its name
https://bugs.webkit.org/show_bug.cgi?id=206911
<rdar://problem/58026635>

Reviewed by Brian Burg.

Source/JavaScriptCore:

* inspector/protocol/Browser.json: Added.
Add a `Browser` agent that can communicate with the inspected page's containing browser. It
lives in the UIProcess alongside the `Target` agent (meaning there should only be one per
debuggable rather than one per target) and as such is not routed through the `Target` agent.

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources.make:

Source/WebCore:

* Modules/webauthn/AuthenticationExtensionsClientOutputs.h:
Drive-by: add missing include.
Source/WebInspectorUI:

* UserInterface/Controllers/BrowserManager.js: Added.
(WI.BrowserManager):
(WI.BrowserManager.prototype.initializeTarget):
(WI.BrowserManager.prototype.enable):
(WI.BrowserManager.prototype.disable):
(WI.BrowserManager.prototype.isExtensionScheme):
(WI.BrowserManager.prototype.extensionNameForId):
(WI.BrowserManager.prototype.extensionNameForURL):
* UserInterface/Protocol/BrowserObserver.js: Added.
(WI.BrowserObserver.prototype.extensionsEnabled):
(WI.BrowserObserver.prototype.extensionsDisabled):
* UserInterface/Protocol/Target.js:
(WI.Target.prototype.get BrowserAgent): Added.
* UserInterface/Base/Main.js:
(WI.loaded):
* UserInterface/Main.html:
* UserInterface/Test/Test.js:
(WI.loaded):
* UserInterface/Test.html:
Add an observer and manager for the `Browser` domain.

* UserInterface/Protocol/MultiplexingBackendTarget.js:
(WI.MultiplexingBackendTarget):
(WI.MultiplexingBackendTarget.prototype.initialize):
* UserInterface/Controllers/TargetManager.js:
(WI.TargetManager.prototype.initializeTarget): Added.
The `Browser` agent lives in the UIProcess alongside the `Target` agent (meaning there
should only be one per debuggable rather than one per target) and as such is not routed
through the `Target` agent.

* UserInterface/Views/QuickConsole.js:
(WI.QuickConsole.prototype._displayNameForExecutionContext):
Attempt to match the execution context name against any known extension identifier, and
use the extension's display name if one is found.

* UserInterface/Base/URLUtilities.js:
(WI.displayNameForHost):
Attempt to match the host against any known extension identifier, and use the extension's
display name if one is found.

* UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel.prototype._addStyleSheet):
(WI.SourcesNavigationSidebarPanel.prototype._addScript):
* UserInterface/Base/Utilities.js:
(isWebKitExtensionScheme): Deleted.
* .eslintrc:
Use `WI.BrowserManager.prototype.isExtensionScheme` instead of the global function.

* UserInterface/Models/SourceCode.js:
(WI.SourceCode):
(WI.SourceCode.prototype.get url): Added.
(WI.SourceCode.prototype.get urlComponents): Added.
* UserInterface/Models/CSSStyleSheet.js:
(WI.CSSStyleSheet):
(WI.CSSStyleSheet.prototype.get injected):
(WI.CSSStyleSheet.prototype.get url): Deleted.
(WI.CSSStyleSheet.prototype.get urlComponents): Deleted.
* UserInterface/Models/Resource.js:
(WI.Resource):
(WI.Resource.prototype.get url): Deleted.
(WI.Resource.prototype.get urlComponents): Deleted.
* UserInterface/Models/Script.js:
(WI.Script):
(WI.Script.prototype.get url): Deleted.
(WI.Script.prototype.get urlComponents): Deleted.
All subclasses of `WI.SourceCode` have separate `get url` and `get urlComponents` functions,
so unify them in the common superclass so that it's guaranteed to exist.

Source/WebKit:

* UIProcess/Inspector/WebPageInspectorController.h:
(WebKit::WebPageInspectorController::enabledInspectorBrowserAgent const): Added.
(WebKit::WebPageInspectorController::setEnabledInspectorBrowserAgent): Added.
* UIProcess/Inspector/WebPageInspectorController.cpp:
(WebKit::WebPageInspectorController::WebPageInspectorController):
(WebKit::WebPageInspectorController::connectFrontend):
(WebKit::WebPageInspectorController::webPageAgentContext): Added.
(WebKit::WebPageInspectorController::createLazyAgents): Added.
* UIProcess/Inspector/WebPageInspectorAgentBase.h: Added.
(WebKit::InspectorAgentBase::InspectorAgentBase):
* UIProcess/Inspector/Agents/InspectorBrowserAgent.h: Added.
* UIProcess/Inspector/Agents/InspectorBrowserAgent.cpp: Added.
(WebKit::InspectorBrowserAgent::InspectorBrowserAgent):
(WebKit::InspectorBrowserAgent::enabled):
(WebKit::InspectorBrowserAgent::didCreateFrontendAndBackend):
(WebKit::InspectorBrowserAgent::willDestroyFrontendAndBackend):
(WebKit::InspectorBrowserAgent::enable):
(WebKit::InspectorBrowserAgent::disable):
(WebKit::InspectorBrowserAgent::extensionsEnabled):
(WebKit::InspectorBrowserAgent::extensionsDisabled):
Add a `Browser` agent that can communicate with the inspected page's containing browser. It
lives in the UIProcess alongside the `Target` agent (meaning there should only be one per
debuggable rather than one per target) and as such is not routed through the `Target` agent.

* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::inspectorClient): Added.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _inspectorDelegate]): Added.
(-[WKWebView _setInspectorDelegate:]): Added.
(WebKit::WebPageProxy::setInspectorClient): Added.
* UIProcess/Inspector/Cocoa/InspectorDelegate.h: Added.
* UIProcess/Inspector/Cocoa/InspectorDelegate.mm: Added.
(WebKit::InspectorDelegate::InspectorDelegate):
(WebKit::InspectorDelegate::createInspectorClient):
(WebKit::InspectorDelegate::delegate):
(WebKit::InspectorDelegate::setDelegate):
(WebKit::InspectorDelegate::InspectorClient):
(WebKit::InspectorDelegate::InspectorClient::didAttachLocalInspector):
(WebKit::InspectorDelegate::InspectorClient::browserDomainEnabled):
(WebKit::InspectorDelegate::InspectorClient::browserDomainDisabled):
* UIProcess/API/APIInspectorClient.h: Added.
(API::InspectorClient::didAttachLocalInspector):
(API::InspectorClient::browserDomainEnabled):
(API::InspectorClient::browserDomainDisabled):
* UIProcess/API/Cocoa/_WKInspectorDelegate.h: Added.
Introduce an inspector delegate SPI for communicating information related to Web Inspector.

* UIProcess/API/Cocoa/_WKInspectorPrivate.h:
* UIProcess/API/Cocoa/_WKInspector.mm:
(-[_WKInspector _browserExtensionsEnabled:]): Added.
(-[_WKInspector _browserExtensionsDisabled:]): Added.
* UIProcess/Inspector/WebInspectorProxy.h:
* UIProcess/Inspector/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::openLocalInspectorFrontend):
(WebKit::WebInspectorProxy::browserExtensionsEnabled): Added.
(WebKit::WebInspectorProxy::browserExtensionsDisabled): Added.
Add SPI for when extensions are enabled/disabled so that Web Inspector can update.

* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::didAttachInspector): Deleted.
* UIProcess/API/APIUIClient.h:
(API::UIClient::didAttachInspector): Deleted.
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
Move `_webView:didAttachInspector:` from `WKUIDelegatePrivate` to `_WKInspectorDelegate`.

* CMakeLists.txt:
* DerivedSources.make:
* PlatformMac.cmake:
* Sources.txt:
* SourcesCocoa.txt:
* WebKit.xcodeproj/project.pbxproj:

* UIProcess/WebAuthentication/Cocoa/LocalConnection.h:
Drive-by: add missing include.
Source/WTF:

* wtf/HashSet.h:
(WTF::HashSet::reserveInitialCapacity): Added.

Tools:

* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::TEST):
Add test for `WTF::HashSet::reserveInitialCapacity`.

* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
Actually check the value of `WTF::HashMap::capacity`.

* TestWebKitAPI/Tests/WebKitCocoa/_WKInspectorDelegate.mm: Added.
(-[InspectorDelegate _webView:didAttachInspector:])
(-[InspectorDelegate _webView:browserDomainEnabledForInspector:])
(-[InspectorDelegate _webView:browserDomainDisabledForInspector:])
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[InspectorDelegate _webView:didAttachInspector:]): Deleted.
(TestWebKitAPI::TEST): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed tvOS build fix; fix the compiler guards broken by r257189.
jer.noble@apple.com [Wed, 26 Feb 2020 05:51:00 +0000 (05:51 +0000)]
Unreviewed tvOS build fix; fix the compiler guards broken by r257189.

* platform/ios/PlaybackSessionInterfaceAVKit.h:
* platform/ios/PlaybackSessionInterfaceAVKit.mm:
* platform/ios/WebAVPlayerController.h:
* platform/ios/WebAVPlayerController.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoASSERTION FAILURE in AppendNodeCommand::AppendNodeCommand when inserting list with...
commit-queue@webkit.org [Wed, 26 Feb 2020 05:26:02 +0000 (05:26 +0000)]
ASSERTION FAILURE in AppendNodeCommand::AppendNodeCommand when inserting list with read-only user-modify
https://bugs.webkit.org/show_bug.cgi?id=208045
<rdar://problem/39023383>

Patch by Jack Lee <shihchieh_lee@apple.com> on 2020-02-25
Reviewed by Ryosuke Niwa.

When inserting a list (InsertListCommand) around enclosed list items, if new list is not editable, skip moving list items in function doApplyForSingleParagraph.

Source/WebCore:

Test: fast/lists/insert-list-user-modify-read-only-enclosed-li.html

* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApplyForSingleParagraph):

LayoutTests:

* fast/lists/insert-list-user-modify-read-only-enclosed-li-expected.txt: Added.
* fast/lists/insert-list-user-modify-read-only-enclosed-li.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoNullptr crash in CompositeEditCommand::splitTreeToNode
commit-queue@webkit.org [Wed, 26 Feb 2020 05:18:06 +0000 (05:18 +0000)]
Nullptr crash in CompositeEditCommand::splitTreeToNode
https://bugs.webkit.org/show_bug.cgi?id=208039
<rdar://problem/52011355>

Patch by Jack Lee <shihchieh_lee@apple.com> on 2020-02-25
Reviewed by Ryosuke Niwa.

When inserting a list (InsertListCommand) around orphaned list items, if unordered list is not editable, skip moving list items in function fixOrphanedListChild.

Source/WebCore:

Test: fast/lists/insert-list-user-modify-read-only-orphaned-li.html

* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::fixOrphanedListChild):
(WebCore::InsertListCommand::doApplyForSingleParagraph):
* editing/InsertListCommand.h:

LayoutTests:

* fast/lists/insert-list-user-modify-read-only-orphaned-li-expected.txt: Added.
* fast/lists/insert-list-user-modify-read-only-orphaned-li.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257407 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoVarious test-cases from Gecko assert with ASSERTION FAILED: layoutState->renderer...
rniwa@webkit.org [Wed, 26 Feb 2020 04:53:35 +0000 (04:53 +0000)]
Various test-cases from Gecko assert with ASSERTION FAILED: layoutState->renderer() == this.
https://bugs.webkit.org/show_bug.cgi?id=202805

Skip the test that's always crashing as suggested by Alexey.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257406 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[ WebGL ] Update WebGL bot expectations
justin_fan@apple.com [Wed, 26 Feb 2020 01:49:42 +0000 (01:49 +0000)]
[ WebGL ] Update WebGL bot expectations
https://bugs.webkit.org/show_bug.cgi?id=208227

Unreviewed test gardening.

Update DEQP expectations after ANGLE switch, and revise list of skipped tests for WebGL bot.

* webgl/2.0.0/deqp/functional/gles3/booleanstatequery-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/bufferobjectquery-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/abs-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/acos-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/acosh-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/add-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/asin-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/asinh-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/atan-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/atan2-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/atanh-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/ceil-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/clamp-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/cos-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/cosh-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/cross-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/degrees-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/determinant-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/distance-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/div-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/dot-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/exp-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/exp2-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/faceforward-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/floor-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/fract-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/inverse-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/inversesqrt-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/length-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/log-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/log2-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/max-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/min-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/mix-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/mod-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/modf-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/mul-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/normalize-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/pow-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/radians-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/reflect-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/refract-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/round-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/roundeven-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/sign-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/sin-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/sinh-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/smoothstep-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/sqrt-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/step-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/sub-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/tan-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/tanh-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/builtinprecision/trunc-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/draw/instancing-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/clear-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/tex2d_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/tex2d_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/tex2d_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/tex2d_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/tex2d_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/tex2d_05-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/texcube_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/texcube_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/texcube_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/texcube_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/texcube_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbocolorbuffer/texcube_05-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbodepthbuffer-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fboinvalidate/format_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fboinvalidate/format_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fboinvalidate/format_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fboinvalidate/sub-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fboinvalidate/target-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fboinvalidate/whole-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/recreate_color_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/recreate_color_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/recreate_color_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/recreate_color_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/recreate_color_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/recreate_color_05-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/recreate_color_06-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/recreate_depth_stencil-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/resize_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/resize_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/resize_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/resize_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/shared_colorbuffer_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/shared_colorbuffer_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/shared_depth_stencil-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fborender/stencil_clear-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fbostencilbuffer-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/floatstatequery-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fragdepth-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/fragmentoutput/array.int-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_05-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_06-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_07-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_09-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_14-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_15-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_16-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_17-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_19-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_20-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_21-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_22-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_23-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_24-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_26-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/framebufferblit/conversion_27-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/integerstatequery-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/lifetime-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/negativestateapi-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/negativevertexarrayapi-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/pixelbufferobject-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/rasterizerdiscard-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/rbostatequery-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/readpixel-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/samplerstatequery-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shaderbuiltinvar-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shaderderivate_dfdy-expected.txt: Added.
* webgl/2.0.0/deqp/functional/gles3/shaderoperator/angle_and_trigonometry_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shaderoperator/angle_and_trigonometry_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shaderpackingfunction-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shaderprecision_float-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shaderstatequery-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/texelfetch-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/texelfetchoffset-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/texture-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/texturegrad-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/texturegradoffset-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/texturelod-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/texturelodoffset-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/textureoffset-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/textureproj-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/textureprojgrad-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/textureprojgradoffset-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/textureprojlod-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/textureprojlodoffset-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/textureprojoffset-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/shadertexturefunction/texturesize-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/stringquery-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_combinations_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_combinations_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_combinations_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_combinations_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_combinations_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_combinations_05-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_05-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_06-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_07-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_08-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_formats_09-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_sizes_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_sizes_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_sizes_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_sizes_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_sizes_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/2d_sizes_05-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_combinations_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_combinations_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_combinations_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_combinations_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_combinations_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_combinations_05-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_05-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_06-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_07-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_08-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_formats_09-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_no_edges_visible-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_sizes_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_sizes_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_sizes_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_sizes_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturefiltering/cube_sizes_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_2d_npot_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_2d_npot_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_2d_npot_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_2d_npot_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_2d_pot_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_2d_pot_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_2d_pot_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_2d_pot_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_cube_npot_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_cube_npot_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_cube_npot_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_cube_npot_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_cube_pot_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_cube_pot_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_cube_pot_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/sized_color_cube_pot_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/textureformat/unsized_2d-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_copyteximage2d-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_copytexsubimage2d-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage2d_2d_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage2d_2d_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage2d_cube_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage2d_cube_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage2d_cube_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage2d_cube_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage2d_cube_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage3d_2d_array_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage3d_2d_array_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage3d_3d_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_teximage3d_3d_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage2d_2d_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage2d_2d_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage2d_2d_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage2d_cube_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage2d_cube_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage2d_cube_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage2d_cube_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage2d_cube_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage3d_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage3d_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/basic_texsubimage3d_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/random_teximage2d_2d-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/random_teximage2d_cube-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage2d_format_2d_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage2d_format_2d_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage2d_format_2d_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage2d_format_cube_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage2d_format_cube_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage2d_format_cube_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage2d_format_cube_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage2d_format_cube_04-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage2d_format_size-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage3d_format_2d_array_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage3d_format_2d_array_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage3d_format_3d_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage3d_format_3d_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage3d_format_3d_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texstorage3d_format_3d_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage2d_empty_tex-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage2d_pbo_2d_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage2d_pbo_2d_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage2d_pbo_cube_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage2d_pbo_cube_02-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage2d_pbo_cube_03-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage3d_pbo_2d_array_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage3d_pbo_2d_array_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage3d_pbo_3d_00-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturespecification/texsubimage3d_pbo_3d_01-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturewrap/rgba8_npot-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/texturewrap/rgba8_pot-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_element_interleaved_lines-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_element_interleaved_points-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_element_interleaved_triangles-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_element_separate_lines-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_element_separate_points-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_element_separate_triangles-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_interleaved_lines-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_interleaved_points-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_interleaved_triangles-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_separate_lines-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_separate_points-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/array_separate_triangles-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/basic_types_interleaved_lines-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/basic_types_interleaved_points-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/basic_types_interleaved_triangles-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/basic_types_separate_lines-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/basic_types_separate_points-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/basic_types_separate_triangles-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/interpolation_centroid-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/interpolation_flat-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/interpolation_smooth-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/point_size-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/position-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/random_interleaved_lines-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/random_interleaved_points-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/random_interleaved_triangles-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/random_separate_lines-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/random_separate_points-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/transformfeedback/random_separate_triangles-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/uniformapi/info_query-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/uniformapi/random-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/uniformapi/value_assigned-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/uniformapi/value_initial-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/uniformbuffers/instance_array_basic_type-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/uniformbuffers/random-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/uniformbuffers/single_basic_array-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/uniformbuffers/single_basic_type-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrayobject-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/multiple_attributes.count-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/multiple_attributes.output-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/multiple_attributes.storage-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/multiple_attributes.stride-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.first-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.normalize-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.offset-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.byte-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.float-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.half-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.int-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.int_2_10_10_10-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.short-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.unsigned_byte-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.unsigned_int-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.unsigned_int_2_10_10_10-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.output_type.unsigned_short-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.stride-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.usage.dynamic_copy-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.usage.dynamic_draw-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.usage.dynamic_read-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.usage.static_copy-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.usage.static_draw-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.usage.static_read-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.usage.stream_copy-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.usage.stream_draw-expected.txt:
* webgl/2.0.0/deqp/functional/gles3/vertexarrays/single_attribute.usage.stream_read-expected.txt:
* webgl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoWeb Inspector: move code for debug outlined focus element to the Debug folder so...
drousso@apple.com [Wed, 26 Feb 2020 01:40:20 +0000 (01:40 +0000)]
Web Inspector: move code for debug outlined focus element to the Debug folder so it isn't shipped
https://bugs.webkit.org/show_bug.cgi?id=208217

Reviewed by Joseph Pecoraro.

* UserInterface/Base/Main.js:
(WI.contentLoaded):
(WI.contentLoaded.setFocusDebugOutline): Deleted.
* UserInterface/Views/Main.css:
(body.focus-debug *:focus): Deleted.

* UserInterface/Debug/Bootstrap.js:
(WI.runBootstrapOperations):
(WI.runBootstrapOperations.setFocusDebugOutline): Added.
* UserInterface/Debug/Bootstrap.css: Added.
(body.focus-debug *:focus):

* UserInterface/Main.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoBuild Fix
megan_gardner@apple.com [Wed, 26 Feb 2020 01:39:08 +0000 (01:39 +0000)]
Build Fix
https://bugs.webkit.org/show_bug.cgi?id=208224
<rdar://problem/58879500>

Fix Build.

Reviewed by Tim Horton.

* WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]):
* WebView/WebView.mm:
(+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoInline Cache delete by id/val
justin_michaud@apple.com [Wed, 26 Feb 2020 01:38:46 +0000 (01:38 +0000)]
Inline Cache delete by id/val
https://bugs.webkit.org/show_bug.cgi?id=207522

JSTests:

Reviewed by Keith Miller and Filip Pizlo.

* microbenchmarks/delete-property-from-prototype-chain.js:
(delete.C.prototype.z):
* microbenchmarks/delete-property-inline-cache-polymorphic.js: Added.
(C):
(noInline.C.foo):
(noInline.foo.F):
(noInline.F):
* microbenchmarks/delete-property-inline-cache.js: Added.
(C):
(noInline.C.D):
(noInline.D.foo):
(noInline.foo.E):
(noInline.E.F):
(noInline.F):
* microbenchmarks/delete-property-keeps-cacheable-structure.js:
* stress/delete-property-check-structure-transition.js:
(sd): Deleted.
(testDeleteIsNotUncacheable): Deleted.
(): Deleted.
(testCanFlatten): Deleted.
(testDeleteWithInlineCache.Object.prototype.globalProperty.42.makeFoo): Deleted.
(testDeleteWithInlineCache.noInline.doTest): Deleted.
(testDeleteWithInlineCache): Deleted.
* stress/delete-property-inline-cache.js: Added.
(assert):
(assert_eq):
(assert_neq):
(assert_throws):
(noInline.assert.noInline.assert_eq.noInline.assert_neq.noInline.assert_throws.testCacheableDeleteById.makeFoo):
(noInline.assert.noInline.assert_eq.noInline.assert_neq.noInline.assert_throws.testCacheableDeleteById):
(noInline.testCacheableDeleteById.testCacheableDeleteByVal.makeFoo2):
(noInline.testCacheableDeleteById.testCacheableDeleteByVal):
(noInline.testCacheableDeleteByVal.testCacheableEmptyDeleteById.makeFoo3):
(noInline.testCacheableDeleteByVal.testCacheableEmptyDeleteById):
(noInline.testCacheableEmptyDeleteById.testCacheableDeleteByIdMiss.makeFoo4):
(noInline.testCacheableEmptyDeleteById.testCacheableDeleteByIdMiss):
(noInline.testCacheableDeleteByIdMiss.testDeleteIndex.makeFoo5):
(noInline.testCacheableDeleteByIdMiss.testDeleteIndex):
(noInline.testDeleteIndex.testPolymorphicDelByVal.makeFoo6):
(noInline.testDeleteIndex.testPolymorphicDelByVal):
(noInline.testPolymorphicDelByVal.testBigintDeleteByVal.makeFoo7):
(noInline.testPolymorphicDelByVal.testBigintDeleteByVal):
(noInline.testBigintDeleteByVal.testSymbolDeleteByVal.makeFoo8):
(noInline.testBigintDeleteByVal.testSymbolDeleteByVal):
(noInline.testSymbolDeleteByVal.testObjDeleteByVal.makeFoo9):
(noInline.testSymbolDeleteByVal.testObjDeleteByVal):
(noInline.testObjDeleteByVal.testStrict.makeFoo10):
(noInline.testObjDeleteByVal.testStrict):
(noInline.testStrict.testOverride.arr.j):
(noInline.testStrict.testOverride):
(noInline.testOverride.testNonObject.deleteIt):
(noInline.testOverride.testNonObject):
(noInline.testNonObject.testNonObjectStrict.deleteIt):
(noInline.testNonObject.testNonObjectStrict):
(noInline.testNonObjectStrict.testExceptionUnwind.mutateThem):
(noInline.testNonObjectStrict.testExceptionUnwind.noInline.deleteIt):
(noInline.testNonObjectStrict.testExceptionUnwind):
(noInline.testExceptionUnwind.testTDZ):
(noInline.testTDZ):

Source/JavaScriptCore:

Reviewed by Keith Miller and Filip Pizlo.

We add inline caching for deleteById/val for baseline only. We also fix a concurrency bug in ICStats used for testing.
We add three new access cases (no inline code is emitted at this time):
- Delete is a cached delete of an existing property
- DeleteMiss is a delete of a property that does not exist
- DeleteNonConfigurable is a delete of a property that exists, but should not be deleted.
There are no conditions required for these caches, since the structure id must change and the prototype does not matter.
This gives the following microbenchmark results:

delete-property-keeps-cacheable-structure (neutral)
delete-property-inline-cache              definitely 3.9096x faster
delete-property-inline-cache-polymorphic  definitely 1.5239x faster
delete-property-from-prototype-chain      (neutral)

* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::deletePropertyByIndex):
* API/JSObjectRef.cpp:
(JSObjectDeletePropertyForKey):
(JSObjectDeleteProperty):
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/AccessCase.cpp:
(JSC::AccessCase::create):
(JSC::AccessCase::createTransition):
(JSC::AccessCase::createDelete):
(JSC::AccessCase::requiresIdentifierNameMatch const):
(JSC::AccessCase::requiresInt32PropertyCheck const):
(JSC::AccessCase::needsScratchFPR const):
(JSC::AccessCase::forEachDependentCell const):
(JSC::AccessCase::doesCalls const):
(JSC::AccessCase::canReplace const):
(JSC::AccessCase::dump const):
(JSC::AccessCase::propagateTransitions const):
(JSC::AccessCase::generateImpl):
* bytecode/AccessCase.h:
(JSC::AccessCase::structure const):
(JSC::AccessCase::newStructure const):
* bytecode/PolymorphicAccess.cpp:
(WTF::printInternal):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::reset):
* bytecode/StructureStubInfo.h:
* debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::deleteProperty):
* debugger/DebuggerScope.h:
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addDelById):
(JSC::DFG::JITCompiler::addDelByVal):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileDeleteById): Deleted.
(JSC::DFG::SpeculativeJIT::compileDeleteByVal): Deleted.
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileDeleteById):
(JSC::DFG::SpeculativeJIT::compileDeleteByVal):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileDeleteById):
(JSC::DFG::SpeculativeJIT::compileDeleteByVal):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileDelBy):
(JSC::FTL::DFG::LowerDFGToB3::compileDeleteById):
(JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal):
* jit/ICStats.h:
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):
* jit/JIT.h:
* jit/JITInlineCacheGenerator.cpp:
(JSC::JITDelByValGenerator::JITDelByValGenerator):
(JSC::JITDelByValGenerator::generateFastPath):
(JSC::JITDelByValGenerator::finalize):
(JSC::JITDelByIdGenerator::JITDelByIdGenerator):
(JSC::JITDelByIdGenerator::generateFastPath):
(JSC::JITDelByIdGenerator::finalize):
* jit/JITInlineCacheGenerator.h:
(JSC::JITDelByValGenerator::JITDelByValGenerator):
(JSC::JITDelByValGenerator::slowPathJump const):
(JSC::JITDelByIdGenerator::JITDelByIdGenerator):
(JSC::JITDelByIdGenerator::slowPathJump const):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_del_by_id):
(JSC::JIT::emitSlow_op_del_by_id):
(JSC::JIT::emit_op_del_by_val):
(JSC::JIT::emitSlow_op_del_by_val):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_del_by_id):
(JSC::JIT::emit_op_del_by_val):
(JSC::JIT::emitSlow_op_del_by_val):
(JSC::JIT::emitSlow_op_del_by_id):
* jit/Repatch.cpp:
(JSC::tryCachePutByID):
(JSC::tryCacheDelBy):
(JSC::repatchDelBy):
(JSC::resetPutByID):
(JSC::resetDelBy):
* jit/Repatch.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* runtime/CacheableIdentifierInlines.h:
(JSC::CacheableIdentifier::CacheableIdentifier):
* runtime/ClassInfo.h:
* runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::deleteProperty):
* runtime/ClonedArguments.h:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/DeletePropertySlot.h: Added.
(JSC::DeletePropertySlot::DeletePropertySlot):
(JSC::DeletePropertySlot::setConfigurableMiss):
(JSC::DeletePropertySlot::setNonconfigurable):
(JSC::DeletePropertySlot::setHit):
(JSC::DeletePropertySlot::isCacheableDelete const):
(JSC::DeletePropertySlot::isDeleteHit const):
(JSC::DeletePropertySlot::isConfigurableDeleteMiss const):
(JSC::DeletePropertySlot::isNonconfigurable const):
(JSC::DeletePropertySlot::cachedOffset const):
(JSC::DeletePropertySlot::disableCaching):
(JSC::DeletePropertySlot::isCacheable const):
* runtime/ErrorConstructor.cpp:
(JSC::ErrorConstructor::deleteProperty):
* runtime/ErrorConstructor.h:
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::deleteProperty):
* runtime/ErrorInstance.h:
* runtime/GenericArguments.h:
* runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::put):
(JSC::GenericArguments<Type>::deleteProperty):
* runtime/GetterSetter.h:
* runtime/JSArray.cpp:
(JSC::JSArray::deleteProperty):
* runtime/JSArray.h:
* runtime/JSCJSValue.h:
* runtime/JSCell.cpp:
(JSC::JSCell::deleteProperty):
* runtime/JSCell.h:
* runtime/JSDataView.cpp:
(JSC::JSDataView::deleteProperty):
* runtime/JSDataView.h:
* runtime/JSFunction.cpp:
(JSC::JSFunction::deleteProperty):
* runtime/JSFunction.h:
* runtime/JSGenericTypedArrayView.h:
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::addFunction):
* runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::deleteProperty):
* runtime/JSLexicalEnvironment.h:
* runtime/JSModuleEnvironment.cpp:
(JSC::JSModuleEnvironment::deleteProperty):
* runtime/JSModuleEnvironment.h:
* runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::deleteProperty):
* runtime/JSModuleNamespaceObject.h:
* runtime/JSONObject.cpp:
(JSC::Walker::walk):
* runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty):
(JSC::JSObject::deletePropertyByIndex):
(JSC::validateAndApplyPropertyDescriptor):
* runtime/JSObject.h:
* runtime/JSProxy.cpp:
(JSC::JSProxy::deleteProperty):
* runtime/JSProxy.h:
* runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::deleteProperty):
* runtime/JSSymbolTableObject.h:
* runtime/ProxyObject.cpp:
(JSC::ProxyObject::deleteProperty):
* runtime/ProxyObject.h:
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::deleteProperty):
* runtime/RegExpObject.h:
* runtime/StrictEvalActivation.cpp:
(JSC::StrictEvalActivation::deleteProperty):
* runtime/StrictEvalActivation.h:
* runtime/StringObject.cpp:
(JSC::StringObject::deleteProperty):
* runtime/StringObject.h:
* runtime/Structure.cpp:
(JSC::Structure::removePropertyTransition):
(JSC::Structure::removePropertyTransitionFromExistingStructureImpl):
(JSC::Structure::removePropertyTransitionFromExistingStructure):
(JSC::Structure::removePropertyTransitionFromExistingStructureConcurrently):
(JSC::Structure::removeNewPropertyTransition):
(JSC::Structure::dump const):
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::hasIndexingHeader const):
(JSC::Structure::mayHaveIndexingHeader const):
* tools/JSDollarVM.cpp:
(JSC::functionHasOwnLengthProperty):
(JSC::JSDollarVM::finishCreation):

Source/WebCore:

Reviewed by Keith Miller and Filip Pizlo.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::deleteProperty):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::deleteProperty):
* bindings/js/JSRemoteDOMWindowCustom.cpp:
(WebCore::JSRemoteDOMWindow::deleteProperty):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateDeleteProperty):
(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorHelperMethods):
* bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySettingPrototype::finishCreation):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachablePrototype::finishCreation):
* bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty):
* bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::deleteProperty):
* bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
* bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty):
* bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
* bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty):
* bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodePrototype::finishCreation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::initializeProperties):
(WebCore::JSTestObjPrototype::finishCreation):
* bridge/NP_jsobject.cpp:
* bridge/objc/WebScriptObject.mm:
(-[WebScriptObject removeWebScriptKey:]):
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::deleteProperty):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::deleteProperty):
* bridge/runtime_array.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::deleteProperty):
* bridge/runtime_object.h:

Source/WebKit:

Reviewed by Keith Miller and Filip Pizlo.

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::deleteProperty):
* WebProcess/Plugins/Netscape/JSNPObject.h:
* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::removeProperty):

Source/WebKitLegacy/mac:

Reviewed by Keith Miller and Filip Pizlo.

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::removeProperty):

Source/WTF:

Reviewed by Keith Miller and Filip Pizlo.

* wtf/Spectrum.h:
(WTF::Spectrum::add):
(WTF::Spectrum::get const):
(WTF::Spectrum::buildList const):
(WTF::Spectrum::clear):
(WTF::Spectrum::removeIf):
(WTF::Spectrum::begin): Deleted.
(WTF::Spectrum::end): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoWeb Inspector: VoiceOver should read "Console prompt" when focusing on it
nvasilyev@apple.com [Wed, 26 Feb 2020 01:18:21 +0000 (01:18 +0000)]
Web Inspector: VoiceOver should read "Console prompt" when focusing on it
https://bugs.webkit.org/show_bug.cgi?id=208028
<rdar://problem/59641238>

Reviewed by Brian Burg.

Before this change, VoiceOver read "edit text blank" when focusing on the console prompt.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/ConsolePrompt.js:
(WI.ConsolePrompt):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRemove render update throttling
commit-queue@webkit.org [Wed, 26 Feb 2020 00:57:01 +0000 (00:57 +0000)]
Remove render update throttling
https://bugs.webkit.org/show_bug.cgi?id=208168

Patch by Ben Nham <nham@apple.com> on 2020-02-25
Reviewed by Zalan Bujtas.

Currently, we disable render updates after the first paint for 500 ms while the page is
actively loading. However, oftentimes our first paint heuristic selects a first paint that
isn't particularly interesting (mostly background colors) and this paint throttler just
makes the user look at a nearly empty page for 500 ms. Antti and Simon both think we should
remove the throttler to fix this so this patch does that.

Source/WebCore:

* Headers.cmake:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::shouldScheduleLayout):
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::insertDictatedText):
* page/ChromeClient.h:
(WebCore::ChromeClient::layerTreeStateIsFrozen const):
(WebCore::ChromeClient::renderingUpdateThrottlingIsActive const): Deleted.
(WebCore::ChromeClient::adjustRenderingUpdateThrottling): Deleted.
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::internalKeyEvent):
(WebCore::EventHandler::handleTextInputEvent):
* page/FrameView.cpp:
(WebCore::FrameView::loadProgressingStatusChanged):
(WebCore::FrameView::setWasScrolledByUser):
(WebCore::determineLayerFlushThrottleState): Deleted.
(WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction): Deleted.
(WebCore::FrameView::updateLayerFlushThrottling): Deleted.
* page/FrameView.h:

Source/WebKit:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::adjustRenderingUpdateThrottling): Deleted.
(WebKit::WebChromeClient::renderingUpdateThrottlingIsActive const): Deleted.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h:
(WebKit::DrawingAreaCoordinatedGraphics::scheduleInitialDeferredPaint): Deleted.
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::layerTreeStateIsFrozen const):
(WebKit::DrawingArea::renderingUpdateThrottlingIsActive const): Deleted.
(WebKit::DrawingArea::adjustRenderingUpdateThrottling): Deleted.
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
(WebKit::RemoteLayerTreeDrawingArea::scheduleRenderingUpdate):
(WebKit::RemoteLayerTreeDrawingArea::updateRendering):
(WebKit::RemoteLayerTreeDrawingArea::scheduleInitialDeferredPaint): Deleted.
(WebKit::RemoteLayerTreeDrawingArea::adjustRenderingUpdateThrottling): Deleted.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen):
(WebKit::TiledCoreAnimationDrawingArea::scheduleRenderingUpdate):
(WebKit::TiledCoreAnimationDrawingArea::updateRendering):
(WebKit::TiledCoreAnimationDrawingArea::scheduleInitialDeferredPaint): Deleted.
(WebKit::TiledCoreAnimationDrawingArea::adjustRenderingUpdateThrottling): Deleted.
(WebKit::TiledCoreAnimationDrawingArea::renderingUpdateThrottlingIsActive const): Deleted.
(WebKit::TiledCoreAnimationDrawingArea::startRenderThrottlingTimer): Deleted.
(WebKit::TiledCoreAnimationDrawingArea::renderThrottlingTimerFired): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed test gardening for macOS.
ryanhaddad@apple.com [Wed, 26 Feb 2020 00:32:31 +0000 (00:32 +0000)]
Unreviewed test gardening for macOS.

* platform/mac/TestExpectations: Change the expectation for the
fast/text-autosizing/ios/idempotentmode directory to 'Skip' since the
tests rely on a feature that isn't implemented on macOS.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoPDFPlugin: 'Open in Preview' and 'Save' don't work for blobs
timothy_horton@apple.com [Wed, 26 Feb 2020 00:20:56 +0000 (00:20 +0000)]
PDFPlugin: 'Open in Preview' and 'Save' don't work for blobs
https://bugs.webkit.org/show_bug.cgi?id=208221
<rdar://problem/22676176>

Reviewed by Alex Christensen.

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::convertPostScriptDataIfNeeded):
(WebKit::PDFPlugin::setSuggestedFilename):
(WebKit::PDFPlugin::streamDidReceiveResponse):
(WebKit::PDFPlugin::manualStreamDidReceiveResponse):
Ensure that PDFPlugin's suggestedFilename always has a .pdf extension.
The UI process already requires this, and enforces it, causing operations
that use the suggestedFilename to fail if it does not have a .pdf extension.
However, in the case of a blob-loaded PDF, we get just the name "Unknown".
Slap the extension on there, and all is well!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoMake sure a client cannot cause a whole DOM tree to get leaked by simply holding...
cdumez@apple.com [Wed, 26 Feb 2020 00:20:21 +0000 (00:20 +0000)]
Make sure a client cannot cause a whole DOM tree to get leaked by simply holding on to a WKBundleNodeHandle
https://bugs.webkit.org/show_bug.cgi?id=208218

Reviewed by Ryosuke Niwa.

Make sure a client cannot cause a whole DOM tree to get leaked by simply holding on to a WKBundleNodeHandle.
Previously, WKBundleNodeHandle would ref its node, which would keep the whole HTML document alive. To protect
against this, InjectedBundleNodeHandle is now an ActiveDOMObject which nulls out its node RefPtr when the
document is getting ready for destruction (i.e. ActiveDOMObject::stop() is called).

* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle):
(WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle):
(WebKit::InjectedBundleNodeHandle::coreNode):
(WebKit::InjectedBundleNodeHandle::document):
(WebKit::InjectedBundleNodeHandle::elementBounds):
(WebKit::InjectedBundleNodeHandle::renderRect):
(WebKit::InjectedBundleNodeHandle::renderedImage):
(WebKit::InjectedBundleNodeHandle::visibleRange):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementSpellcheckEnabled):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFilled const):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFilledAndViewable const):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFilled):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFilledAndViewable):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFillButtonEnabled const):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFillButtonEnabled):
(WebKit::InjectedBundleNodeHandle::htmlInputElementAutoFillButtonType const):
(WebKit::InjectedBundleNodeHandle::htmlInputElementLastAutoFillButtonType const):
(WebKit::InjectedBundleNodeHandle::isAutoFillAvailable const):
(WebKit::InjectedBundleNodeHandle::setAutoFillAvailable):
(WebKit::InjectedBundleNodeHandle::htmlInputElementAutoFillButtonBounds):
(WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::isTextField const):
(WebKit::InjectedBundleNodeHandle::htmlTableCellElementCellAbove):
(WebKit::InjectedBundleNodeHandle::documentFrame):
(WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
(WebKit::InjectedBundleNodeHandle::stop):
(WebKit::InjectedBundleNodeHandle::activeDOMObjectName const):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[ Mac wk2 Release ] imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceConne...
lawrence.j@apple.com [Wed, 26 Feb 2020 00:10:24 +0000 (00:10 +0000)]
[ Mac wk2 Release ] imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208222

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoAllow GPU Process to capture microphone in the background
youenn@apple.com [Tue, 25 Feb 2020 23:57:38 +0000 (23:57 +0000)]
Allow GPU Process to capture microphone in the background
https://bugs.webkit.org/show_bug.cgi?id=208193

Reviewed by Eric Carlson.

Manually tested.

* GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-iOS.plist:
Add audio background mode and can inherit key, as done for WebProcess.
* Scripts/process-entitlements.sh:
Add entitlement to start audio capture in a background process.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoPass UIProcess PID to GPUProcess
youenn@apple.com [Tue, 25 Feb 2020 23:39:51 +0000 (23:39 +0000)]
Pass UIProcess PID to GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=208197

Reviewed by Eric Carlson.

Parent PID is needed for PID forwarding done in MediaSessionManageriOS::providePresentingApplicationPIDIfNecessary.
Send it from UIProcess to GPUProcess and initialize it at creation time of GPUProcess singleton.

* GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess):
* GPUProcess/GPUProcessCreationParameters.cpp:
(WebKit::GPUProcessCreationParameters::encode const):
(WebKit::GPUProcessCreationParameters::decode):
* GPUProcess/GPUProcessCreationParameters.h:
* UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::singleton):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[ Mac Debug ] imported/w3c/web-platform-tests/html/semantics/embedded-content/media...
lawrence.j@apple.com [Tue, 25 Feb 2020 23:32:55 +0000 (23:32 +0000)]
[ Mac Debug ] imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-control.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208220

Unreviewed test gardening.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257384 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoChange DTMF and mDNS candidates feature flags from experimental to internal
youenn@apple.com [Tue, 25 Feb 2020 23:26:23 +0000 (23:26 +0000)]
Change DTMF and mDNS candidates feature flags from experimental to internal
https://bugs.webkit.org/show_bug.cgi?id=208131

Reviewed by Eric Carlson.

* Shared/WebPreferences.yaml:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257383 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WebGL] More 2.0.0 conformance suite gardening after ANGLE rollout
justin_fan@apple.com [Tue, 25 Feb 2020 23:21:30 +0000 (23:21 +0000)]
[WebGL] More 2.0.0 conformance suite gardening after ANGLE rollout
https://bugs.webkit.org/show_bug.cgi?id=208211

Unreviewed test gardening.

Mark one more unsupported test as flaky, and add in Intel graphics-specific results for
5 tests that were failing consistently across all bots.

* TestExpectations:
* webgl/2.0.0/conformance/buffers/buffer-uninitialized-expected.txt:
* webgl/2.0.0/conformance/extensions/angle-instanced-arrays-expected.txt:
* webgl/2.0.0/conformance/rendering/clipping-wide-points-expected.txt:
* webgl/2.0.0/conformance2/rendering/clipping-wide-points-expected.txt:
* webgl/2.0.0/conformance2/textures/misc/tex-3d-size-limit-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257382 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoWeb Inspector: VoiceOver: TreeOutline does not correctly indicate selected item
nvasilyev@apple.com [Tue, 25 Feb 2020 23:12:47 +0000 (23:12 +0000)]
Web Inspector: VoiceOver: TreeOutline does not correctly indicate selected item
https://bugs.webkit.org/show_bug.cgi?id=207968

Reviewed by Brian Burg.

Previously, the entire TreeOutline's DOM element had focus. With this patch,
selected item DOM element has focus instead. When clicking on the treeElement,
set tabIndex to 0 and focus on it.

* UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom): Fix indentation.

(.tree-outline.dom:not(.non-selectable):focus-within li.selected .selection-area):
(.tree-outline.dom:not(.non-selectable) li.hovered:not(.selected) .selection-area):
(.tree-outline.dom:focus-within li.inspected-node.selected > span::after):
(.tree-outline.dom li):
Remove outline - selection is already indicated by the background.

(.tree-outline.dom:focus-within li.selected .pseudo-class-indicator):
(.tree-outline.dom:focus-within li.selected):
(.tree-outline.dom:focus-within li.selected *):
(.tree-outline.dom:focus-within li.parent.selected::before):
(.tree-outline.dom:focus-within li.parent.expanded.selected::before):
* UserInterface/Views/DOMTreeOutline.js:
* UserInterface/Views/TreeElement.js:
(WI.TreeElement.prototype._attach):
(WI.TreeElement.prototype.collapse):
(WI.TreeElement.prototype.expand):
(WI.TreeElement.prototype.select):
(WI.TreeElement.prototype.deselect):
(WI.TreeElement.prototype.focus):
(WI.TreeElement.prototype.unfocus):
* UserInterface/Views/TreeOutline.css:
(.tree-outline .item.selected:focus .disclosure-button):
(.tree-outline .item.selected.expanded:focus .disclosure-button):
(.tree-outline .item.selected:focus):
(.tree-outline .item.selected:focus .subtitle):
(.tree-outline:not(.large) .item.selected:focus .status .indeterminate-progress-spinner):
* UserInterface/Views/TreeOutline.js:
(WI.TreeOutline.prototype._treeKeyDown):
(WI.TreeOutline.prototype._handleMouseDown):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257380 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[ Mac ] compositing/video/video-clip-change-src.html is flaky failing.
lawrence.j@apple.com [Tue, 25 Feb 2020 23:12:12 +0000 (23:12 +0000)]
[ Mac ] compositing/video/video-clip-change-src.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208219

Unreviewed test gardening.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257379 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoAdd checkout_root to stubrepository.py
jlewis3@apple.com [Tue, 25 Feb 2020 23:06:19 +0000 (23:06 +0000)]
Add checkout_root to stubrepository.py
https://bugs.webkit.org/show_bug.cgi?id=208213

Reviewed by Jonathan Bedard.

* Scripts/webkitpy/common/checkout/scm/stub_repository.py:
(StubRepository.__init__):

We are creating our own class variable for checkout_root rather than calling the parent SCM variable
because when initially we left out the parent constructor due to trying to override the fact that we don't actually have a SCM.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257378 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRemoving expectations from a resolved bug
jacob_uphoff@apple.com [Tue, 25 Feb 2020 22:29:13 +0000 (22:29 +0000)]
Removing expectations from a resolved bug
https://bugs.webkit.org/show_bug.cgi?id=207154

Unreviewed test gardening

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257377 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoREGRESSION: (r257268) [ iPadOS wk2 ] fast/scrolling/ios/change-scrollability-on-conte...
lawrence.j@apple.com [Tue, 25 Feb 2020 22:27:09 +0000 (22:27 +0000)]
REGRESSION: (r257268) [ iPadOS wk2 ] fast/scrolling/ios/change-scrollability-on-content-resize-nested.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=208216

Unreviewed test gardening.

Rebaselined the test for iPad, removed the failure expectation.

* platform/ipad/TestExpectations:
* platform/ipad/fast/scrolling/ios/change-scrollability-on-content-resize-nested-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257376 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoTestWebKitAPI.PasteMixedContent.CopyAndPasteWithCustomPasteboardDataOnly should wait...
dbates@webkit.org [Tue, 25 Feb 2020 22:11:29 +0000 (22:11 +0000)]
TestWebKitAPI.PasteMixedContent.CopyAndPasteWithCustomPasteboardDataOnly should wait until copy operation completes
https://bugs.webkit.org/show_bug.cgi?id=208214

Reviewed by Wenson Hsieh.

Wait until the copy operation completes before loading the second web view and testing paste
to ensure that something was actually copied to the clipboard.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:
* TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
(TestWebKitAPI::TEST): Substitute -_synchronouslyExecuteEditCommand for -_executeEditCommand
so that we wait until the command completes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257375 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[ iPadOS wk2 ] fast/scrolling/ios/change-scrollability-on-content-resize-nested.html...
lawrence.j@apple.com [Tue, 25 Feb 2020 21:59:13 +0000 (21:59 +0000)]
[ iPadOS wk2 ] fast/scrolling/ios/change-scrollability-on-content-resize-nested.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=208216

Unreviewed test gardening.

* platform/ipad/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257374 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[iPadOS] REGRESSION(r247667): Autosizing style changes don't invalidate RenderText...
mmaxfield@apple.com [Tue, 25 Feb 2020 21:51:12 +0000 (21:51 +0000)]
[iPadOS] REGRESSION(r247667): Autosizing style changes don't invalidate RenderText's preferred logical widths
https://bugs.webkit.org/show_bug.cgi?id=208084
<rdar://problem/59463898>

Reviewed by Darin Adler.

Source/WebCore:

Just use RenderElement::setStyle(), which handles all the invalidations, instead of RenderElement::setNeedsLayout().

Do a little refactoring so we don't clone RenderStyles unless we need to.

Test: fast/text-autosizing/ios/idempotentmode/viewport-change-relayout.html

* page/Page.cpp:
(WebCore::Page::recomputeTextAutoSizingInAllFrames):
* style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjustmentForTextAutosizing):
(WebCore::Style::Adjuster::adjustForTextAutosizing):
* style/StyleAdjuster.h:
(WebCore::Style::Adjuster::AdjustmentForTextAutosizing::operator bool const):

LayoutTests:

* fast/text-autosizing/ios/idempotentmode/viewport-change-relayout-expected.html: Added.
* fast/text-autosizing/ios/idempotentmode/viewport-change-relayout.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[LFC][TFC] Do not create a formatting context for empty subtree in TableFormattingCon...
zalan@apple.com [Tue, 25 Feb 2020 21:45:40 +0000 (21:45 +0000)]
[LFC][TFC] Do not create a formatting context for empty subtree in TableFormattingContext::computePreferredWidthForColumns
https://bugs.webkit.org/show_bug.cgi?id=208205
<rdar://problem/59766702>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/simple-table-with-empty-td.html

* layout/tableformatting/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::computePreferredWidthForColumns):

LayoutTests:

* fast/layoutformattingcontext/simple-table-with-empty-td-expected.html: Added.
* fast/layoutformattingcontext/simple-table-with-empty-td.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257372 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed, a build fix after r257269
jiewen_tan@apple.com [Tue, 25 Feb 2020 21:40:56 +0000 (21:40 +0000)]
Unreviewed, a build fix after r257269

* Platform/spi/Cocoa/LocalAuthenticationSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257371 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRemoving expectations for a resolved bug
jacob_uphoff@apple.com [Tue, 25 Feb 2020 21:24:35 +0000 (21:24 +0000)]
Removing expectations for a resolved bug
https://bugs.webkit.org/show_bug.cgi?id=206673

Unreviewed test gardening

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257370 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoREGRESSION: (r257289) [ macOS ] fast/dom/navigator-detached-no-crash.html is failing
commit-queue@webkit.org [Tue, 25 Feb 2020 20:14:26 +0000 (20:14 +0000)]
REGRESSION: (r257289) [ macOS ] fast/dom/navigator-detached-no-crash.html is failing
https://bugs.webkit.org/show_bug.cgi?id=208202

Patch by Nikos Mouchtaris <nmouchtaris@apple.com> on 2020-02-25
Reviewed by Megan Gardner.

Fixed expected for new function introduced to navigator. Test makes sure accessing each
member of navigator doesn't crash, added check for new function in expected.

* platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257369 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WinCairo] Fix build after revisions 257357 and 257354
don.olmstead@sony.com [Tue, 25 Feb 2020 19:35:15 +0000 (19:35 +0000)]
[WinCairo] Fix build after revisions 257357 and 257354
https://bugs.webkit.org/show_bug.cgi?id=208210

Unreviewed build fix.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::notifyChange):
* platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::setCookie):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257368 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[iOS] Allow GPUProcess to set the AudioSession Category
youenn@apple.com [Tue, 25 Feb 2020 19:33:32 +0000 (19:33 +0000)]
[iOS] Allow GPUProcess to set the AudioSession Category
https://bugs.webkit.org/show_bug.cgi?id=208194

Reviewed by Eric Carlson.

Disable setting the audio session category in WebProcess when media is playing in GPUProcess.
Always enable GPUProcess to set the audio session category.
With https://bugs.webkit.org/show_bug.cgi?id=208193 and activating playing audio in GPUProcess,
this allows running simple playing audio captured locally web pages.
Manually tested.

* GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_overriddenMediaType):
* WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::AudioFactory::createAudioCaptureSource):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257367 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRebaselining tests that started failing
jacob_uphoff@apple.com [Tue, 25 Feb 2020 19:26:49 +0000 (19:26 +0000)]
Rebaselining tests that started failing
https://bugs.webkit.org/show_bug.cgi?id=208085

Unreviewed test gardening

* fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-block-scrolling-state-expected.txt:
* fast/events/touch/ios/block-without-overflow-scroll-and-passive-observer-on-document-scrolling-state-expected.txt:
* fast/events/touch/ios/block-without-overflow-scroll-scrolling-state-expected.txt:
* fast/events/touch/ios/tap-with-active-touch-end-listener-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257366 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoWebProcessPool does not need a map of service worker processes keyed by domain+session
youenn@apple.com [Tue, 25 Feb 2020 19:16:33 +0000 (19:16 +0000)]
WebProcessPool does not need a map of service worker processes keyed by domain+session
https://bugs.webkit.org/show_bug.cgi?id=208141

Reviewed by Alex Christensen.

It is not needed for the WebProcessPool to query the service worker process map in case of creation of a service worker process
since Network Process has all the information needed to decide whether to create a new process or not.

Network process is now telling UIProcess to terminate a service worker process based on its identifier instead of its domain+session.
This allows replacing the WebProcessPool service worker process map with an HashSet, which is both safer and more efficient to use.

No observable change.

* NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::syncTerminateWorker):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::terminateUnresponsiveServiceWorkerProcesses):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::networkProcessCrashed):
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::removeFromServiceWorkerProcesses):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateServiceWorkerUserAgent):
(WebKit::WebProcessPool::terminateServiceWorkers):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::isServiceWorkerPageID const):
(WebKit::WebProcessPool::setUseSeparateServiceWorkerProcess):
(WebKit::WebProcessPool::hasServiceWorkerForegroundActivityForTesting const):
(WebKit::WebProcessPool::hasServiceWorkerBackgroundActivityForTesting const):
(WebKit::WebProcessPool::terminateServiceWorkerProcess): Deleted.
* UIProcess/WebProcessPool.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257365 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoREGRESSION (r256882): Can't drag an HTML file into a new (empty) Safari tab
cdumez@apple.com [Tue, 25 Feb 2020 19:08:27 +0000 (19:08 +0000)]
REGRESSION (r256882): Can't drag an HTML file into a new (empty) Safari tab
https://bugs.webkit.org/show_bug.cgi?id=208199
<rdar://problem/59746887>

Reviewed by Alex Christensen.

Source/WebKit:

Make sure we launch the initial WKWebView's WebProcess when a drag enters the view, so that the drag & drop
logic still works on empty views.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dragEntered):

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
(TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257364 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoMake HostWindow be the creator of the remote ImageBuffer
commit-queue@webkit.org [Tue, 25 Feb 2020 18:49:00 +0000 (18:49 +0000)]
Make HostWindow be the creator of the remote ImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=207134

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-02-25
Reviewed by Darin Adler.

Source/WebCore:

ImageBuffer is responsible of creating all the in-process ImageBuffers.
HostWindow will be responsible of creating the remote ImageBuffers.

HostWindow adds the virtual function createImageBuffer(). Chrome forward
this to the virtual function createImageBuffer() on the ChromeClient.

* page/Chrome.cpp:
(WebCore::Chrome::createImageBuffer const):
* page/Chrome.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::createImageBuffer const):
* platform/HostWindow.h:
* platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::create):
* platform/graphics/RenderingMode.h:

Source/WebKit:

WebChromeClient adds stubs for creating the remote ImageBuffers.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createImageBuffer const):
* WebProcess/WebCoreSupport/WebChromeClient.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257363 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agospinRunLoop should take a non-zero integer as parameter
sihui_liu@apple.com [Tue, 25 Feb 2020 18:37:25 +0000 (18:37 +0000)]
spinRunLoop should take a non-zero integer as parameter
https://bugs.webkit.org/show_bug.cgi?id=208148
<rdar://problem/59766682>

Unreviewed iOS build fix.

* TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
(TestWebKitAPI::Util::spinRunLoop):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257362 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoAssertion failed: currentSchema == createV1ObjectStoreInfoSchema(objectStoreInfoTable...
sihui_liu@apple.com [Tue, 25 Feb 2020 17:37:53 +0000 (17:37 +0000)]
Assertion failed: currentSchema == createV1ObjectStoreInfoSchema(objectStoreInfoTableName) || currentSchema == createV1ObjectStoreInfoSchema(objectStoreInfoTableNameAlternate)
https://bugs.webkit.org/show_bug.cgi?id=208144

Reviewed by Ryosuke Niwa.

Change a release assertion to release error log to gather information about bug. This is also the pattern of
handling error during schema update in SQLiteIDBBackingStore.

* Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidObjectStoreInfoTable):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257361 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[LFC][OutOfFlow] Out-of-flow positioned line breaks can generate display boxes
zalan@apple.com [Tue, 25 Feb 2020 17:30:38 +0000 (17:30 +0000)]
[LFC][OutOfFlow] Out-of-flow positioned line breaks can generate display boxes
https://bugs.webkit.org/show_bug.cgi?id=208198
<rdar://problem/59764787>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/out-of-flow-positioned-line-breaks.html

This assert should take the positioning into account when checking againts line breaks.
(In practice those display boxes are empty and they don't really contribute to rendering but
they are still valid content.)

* layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::displayBox):

LayoutTests:

* fast/layoutformattingcontext/out-of-flow-positioned-line-breaks-expected.html: Added.
* fast/layoutformattingcontext/out-of-flow-positioned-line-breaks.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257360 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agospinRunLoop should take a non-zero integer as parameter
sihui_liu@apple.com [Tue, 25 Feb 2020 17:19:58 +0000 (17:19 +0000)]
spinRunLoop should take a non-zero integer as parameter
https://bugs.webkit.org/show_bug.cgi?id=208148

Reviewed by Darin Adler.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
(TestWebKitAPI::Util::spinRunLoop):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257359 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoAdd additions to NetworkDataTaskCocoa
katherine_cheney@apple.com [Tue, 25 Feb 2020 16:53:54 +0000 (16:53 +0000)]
Add additions to NetworkDataTaskCocoa
https://bugs.webkit.org/show_bug.cgi?id=208155
<rdar://problem/59445723>

Reviewed by Darin Adler.

* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257358 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRemove throttling code from RenderLayerCompositor
antti@apple.com [Tue, 25 Feb 2020 16:36:00 +0000 (16:36 +0000)]
Remove throttling code from RenderLayerCompositor
https://bugs.webkit.org/show_bug.cgi?id=208135

Reviewed by Zalan Bujtas.

Source/WebCore:

It is only used on WK1, adds lots of complexity and is not very effective or correct.

Also do some "layer flush" -> "rendering update" renaming.

* page/FrameView.cpp:
(WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
(WebCore::FrameView::updateLayerFlushThrottling):
(WebCore::FrameView::setViewExposedRect):
(WebCore::FrameView::scheduleLayerFlushAllowingThrottling): Deleted.
* page/FrameView.h:
* page/PageOverlayController.cpp:
(WebCore::PageOverlayController::notifyRenderingUpdateRequired):
(WebCore::PageOverlayController::notifyFlushRequired): Deleted.
* page/PageOverlayController.h:
* page/mac/ServicesOverlayController.h:
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::notifyRenderingUpdateRequired):
(WebCore::ServicesOverlayController::Highlight::notifyFlushRequired): Deleted.
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::canThrottleLayerFlush const): Deleted.
* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::notifyRenderingUpdateRequired):
(WebCore::GraphicsLayerClient::notifyFlushRequired): Deleted.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/ios/LegacyTileCache.h:
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::scheduleRenderingUpdateForPendingRepaint):
(WebCore::LegacyTileCache::setNeedsDisplayInRect):
(WebCore::LegacyTileCache::updateTilingMode):
(WebCore::LegacyTileCache::scheduleLayerFlushForPendingRepaint): Deleted.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::notifyRenderingUpdateRequired):
(WebCore::RenderLayerBacking::notifyFlushRequired): Deleted.
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::notifyRenderingUpdateRequired):
(WebCore::RenderLayerCompositor::scheduleRenderingUpdate):
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::RenderLayerCompositor::didChangeVisibleRect):
(WebCore::RenderLayerCompositor::flushLayersSoon):
(WebCore::RenderLayerCompositor::frameViewDidScroll):
(WebCore::RenderLayerCompositor::ensureRootLayer):
(WebCore::RenderLayerCompositor::attachRootLayer):
(WebCore::RenderLayerCompositor::notifyFlushRequired): Deleted.
(WebCore::RenderLayerCompositor::scheduleLayerFlush): Deleted.
(WebCore::RenderLayerCompositor::setLayerFlushThrottlingEnabled): Deleted.
(WebCore::RenderLayerCompositor::disableLayerFlushThrottlingTemporarilyForInteraction): Deleted.
(WebCore::RenderLayerCompositor::isThrottlingLayerFlushes const): Deleted.
(WebCore::RenderLayerCompositor::startLayerFlushTimerIfNeeded): Deleted.
(WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded): Deleted.
(WebCore::RenderLayerCompositor::layerFlushTimerFired): Deleted.
* rendering/RenderLayerCompositor.h:

Source/WebKitLegacy/mac:

* WebView/WebView.mm:
(-[WebView _scheduleRenderingUpdateForPendingTileCacheRepaint]):
(-[WebView _scheduleLayerFlushForPendingTileCacheRepaint]): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257357 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoIsolatedObject support for ProgressIndicator and Meter.
andresg_22@apple.com [Tue, 25 Feb 2020 16:28:51 +0000 (16:28 +0000)]
IsolatedObject support for ProgressIndicator and Meter.
https://bugs.webkit.org/show_bug.cgi?id=208175

Reviewed by Chris Fleizach.

- Eliminated the need to downcast to an AccessibilityProgressIndicator
by including gaugeRegionValueDescription in the valueDescription
method.
- Separated isAccessibilityProgressIndicatorInstance from
isProgressIndicator, so that the latter now works for both
AccessibilityObjects and AXIsolatedObjects.
- Completed implementation of isMeter in AXIsolatedObject.

* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityObjectInterface.h:
* accessibility/AccessibilityProgressIndicator.cpp:
(WebCore::AccessibilityProgressIndicator::valueDescription const):
* accessibility/AccessibilityProgressIndicator.h:
* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData): Sets the isMeter property.
(WebCore::AXIsolatedObject::isAccessibilityProgressIndicatorInstance const):
* accessibility/isolatedtree/AXIsolatedObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper valueDescriptionForMeter]): Deleted, no needed any longer.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257356 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[LFC] Invalidate layout states on style mutation
zalan@apple.com [Tue, 25 Feb 2020 16:26:37 +0000 (16:26 +0000)]
[LFC] Invalidate layout states on style mutation
https://bugs.webkit.org/show_bug.cgi?id=208195
<rdar://problem/59764089>

Reviewed by Antti Koivisto.

Let's just do a blanket invalidation for now (since we don't have the invalidation figured out yet).

* page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::invalidateLayoutState):
* page/FrameViewLayoutContext.h:
* rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateRendererStyle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257355 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRegression(CookieCache) Hang and very high CPU usage on nytimes.com
cdumez@apple.com [Tue, 25 Feb 2020 16:16:36 +0000 (16:16 +0000)]
Regression(CookieCache) Hang and very high CPU usage on nytimes.com
https://bugs.webkit.org/show_bug.cgi?id=208166
<rdar://problem/59739735>

Reviewed by Alex Christensen.

Source/WebCore:

The Cookie class which the cookie cache implementation relies on for IPC of cookie had a bug
in its implementation to convert the Cookie into a NSHTTPCookie. In particular, if the expiry
was in the past, it would drop it and the cookie would end up with no expiration date. We would
end up with a cookie that lives for duration of the session, instead of a cookie with an
expiration in the past (which is how sites delete cookies).

Test: http/tests/cookies/document-cookie-set-expired-cookie.html

* platform/network/cocoa/CookieCocoa.mm:
(WebCore::Cookie::operator NSHTTPCookie * _Nullable  const):

Source/WebKit:

Re-enable the in-process cookie cache now that the bug on nytimes.com has been fixed.

* Shared/WebPreferences.yaml:

LayoutTests:

Add layout test coverage.

* http/tests/cookies/document-cookie-set-expired-cookie-expected.txt: Added.
* http/tests/cookies/document-cookie-set-expired-cookie.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257354 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed GTK gardening. Rebaseline tests after r257299 and r257300.
carlosgc@webkit.org [Tue, 25 Feb 2020 14:33:17 +0000 (14:33 +0000)]
Unreviewed GTK gardening. Rebaseline tests after r257299 and r257300.

* platform/gtk/accessibility/media-emits-object-replacement-expected.txt:
* platform/gtk/compositing/overflow/theme-affects-visual-overflow-expected.png:
* platform/gtk/compositing/overflow/theme-affects-visual-overflow-expected.txt:
* platform/gtk/compositing/video/video-background-color-expected.png: Added.
* platform/gtk/compositing/video/video-background-color-expected.txt: Added.
* platform/gtk/css1/box_properties/acid_test-expected.png:
* platform/gtk/css1/box_properties/acid_test-expected.txt:
* platform/gtk/css2.1/20110323/replaced-elements-001-expected.txt:
* platform/gtk/css2.1/t09-c5526c-display-00-e-expected.png:
* platform/gtk/css2.1/t09-c5526c-display-00-e-expected.txt:
* platform/gtk/css3/flexbox/button-expected.png:
* platform/gtk/css3/flexbox/button-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-161-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-161-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-19b-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-19b-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-23-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-23-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-24-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-24-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-25-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-25-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-68-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-68-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-69-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-69-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-70-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-70-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-19b-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-19b-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-23-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-23-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-24-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-24-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-68-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-68-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-69-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-69-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-19b-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-19b-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-23-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-23-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-24-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-24-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-68-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-68-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-69-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-69-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.txt:
* platform/gtk/editing/pasteboard/4641033-expected.png:
* platform/gtk/editing/pasteboard/4641033-expected.txt:
* platform/gtk/editing/pasteboard/4944770-1-expected.png:
* platform/gtk/editing/pasteboard/4944770-1-expected.txt:
* platform/gtk/editing/pasteboard/4944770-2-expected.png:
* platform/gtk/editing/pasteboard/4944770-2-expected.txt:
* platform/gtk/editing/selection/3690703-2-expected.png:
* platform/gtk/editing/selection/3690703-2-expected.txt:
* platform/gtk/editing/selection/3690703-expected.png:
* platform/gtk/editing/selection/3690703-expected.txt:
* platform/gtk/editing/selection/3690719-expected.png:
* platform/gtk/editing/selection/3690719-expected.txt:
* platform/gtk/editing/selection/4397952-expected.png:
* platform/gtk/editing/selection/4397952-expected.txt:
* platform/gtk/editing/selection/5240265-expected.png:
* platform/gtk/editing/selection/5240265-expected.txt:
* platform/gtk/editing/selection/caret-before-select-expected.png:
* platform/gtk/editing/selection/caret-before-select-expected.txt:
* platform/gtk/editing/selection/replaced-boundaries-3-expected.png:
* platform/gtk/editing/selection/replaced-boundaries-3-expected.txt:
* platform/gtk/editing/selection/select-box-expected.png:
* platform/gtk/editing/selection/select-box-expected.txt:
* platform/gtk/editing/selection/select-element-paragraph-boundary-expected.png:
* platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt:
* platform/gtk/editing/selection/selection-button-text-expected.png:
* platform/gtk/editing/selection/selection-button-text-expected.txt:
* platform/gtk/fast/block/basic/011-expected.png:
* platform/gtk/fast/block/basic/011-expected.txt:
* platform/gtk/fast/block/float/float-avoidance-expected.png:
* platform/gtk/fast/block/float/float-avoidance-expected.txt:
* platform/gtk/fast/block/margin-collapse/103-expected.png:
* platform/gtk/fast/block/margin-collapse/103-expected.txt:
* platform/gtk/fast/block/positioning/inline-block-relposition-expected.png:
* platform/gtk/fast/block/positioning/inline-block-relposition-expected.txt:
* platform/gtk/fast/box-sizing/percentage-height-expected.png:
* platform/gtk/fast/box-sizing/percentage-height-expected.txt:
* platform/gtk/fast/css/continuationCrash-expected.png:
* platform/gtk/fast/css/continuationCrash-expected.txt:
* platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.png:
* platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt:
* platform/gtk/fast/css/margin-top-bottom-dynamic-expected.png:
* platform/gtk/fast/css/margin-top-bottom-dynamic-expected.txt:
* platform/gtk/fast/css/non-standard-checkbox-size-expected.png:
* platform/gtk/fast/css/non-standard-checkbox-size-expected.txt:
* platform/gtk/fast/css/rtl-ordering-expected.png:
* platform/gtk/fast/css/rtl-ordering-expected.txt:
* platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.png:
* platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
* platform/gtk/fast/css/text-overflow-input-expected.png:
* platform/gtk/fast/css/text-overflow-input-expected.txt:
* platform/gtk/fast/css/text-transform-select-expected.png:
* platform/gtk/fast/css/text-transform-select-expected.txt:
* platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.png:
* platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/gtk/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
* platform/gtk/fast/dom/HTMLProgressElement/native-progress-bar-expected.png:
* platform/gtk/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
* platform/gtk/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
* platform/gtk/fast/dom/HTMLProgressElement/progress-element-expected.png:
* platform/gtk/fast/dom/HTMLProgressElement/progress-element-expected.txt:
* platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
* platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
* platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
* platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
* platform/gtk/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
* platform/gtk/fast/forms/001-expected.png:
* platform/gtk/fast/forms/001-expected.txt:
* platform/gtk/fast/forms/003-expected.png:
* platform/gtk/fast/forms/003-expected.txt:
* platform/gtk/fast/forms/004-expected.png:
* platform/gtk/fast/forms/004-expected.txt:
* platform/gtk/fast/forms/basic-buttons-expected.png:
* platform/gtk/fast/forms/basic-buttons-expected.txt:
* platform/gtk/fast/forms/basic-inputs-expected.png:
* platform/gtk/fast/forms/basic-inputs-expected.txt:
* platform/gtk/fast/forms/basic-selects-expected.png:
* platform/gtk/fast/forms/basic-selects-expected.txt:
* platform/gtk/fast/forms/basic-textareas-expected.png:
* platform/gtk/fast/forms/basic-textareas-expected.txt:
* platform/gtk/fast/forms/basic-textareas-quirks-expected.png:
* platform/gtk/fast/forms/basic-textareas-quirks-expected.txt:
* platform/gtk/fast/forms/blankbuttons-expected.png:
* platform/gtk/fast/forms/blankbuttons-expected.txt:
* platform/gtk/fast/forms/button-align-expected.png:
* platform/gtk/fast/forms/button-align-expected.txt:
* platform/gtk/fast/forms/button-cannot-be-nested-expected.png:
* platform/gtk/fast/forms/button-cannot-be-nested-expected.txt:
* platform/gtk/fast/forms/button-default-title-expected.png:
* platform/gtk/fast/forms/button-default-title-expected.txt:
* platform/gtk/fast/forms/button-generated-content-expected.png:
* platform/gtk/fast/forms/button-generated-content-expected.txt:
* platform/gtk/fast/forms/button-inner-block-reuse-expected.png:
* platform/gtk/fast/forms/button-inner-block-reuse-expected.txt:
* platform/gtk/fast/forms/button-positioned-expected.png:
* platform/gtk/fast/forms/button-positioned-expected.txt:
* platform/gtk/fast/forms/button-sizes-expected.png:
* platform/gtk/fast/forms/button-sizes-expected.txt:
* platform/gtk/fast/forms/button-style-color-expected.png:
* platform/gtk/fast/forms/button-style-color-expected.txt:
* platform/gtk/fast/forms/button-table-styles-expected.png:
* platform/gtk/fast/forms/button-table-styles-expected.txt:
* platform/gtk/fast/forms/button-text-transform-expected.png:
* platform/gtk/fast/forms/button-text-transform-expected.txt:
* platform/gtk/fast/forms/button-white-space-expected.png:
* platform/gtk/fast/forms/button-white-space-expected.txt:
* platform/gtk/fast/forms/control-clip-expected.png:
* platform/gtk/fast/forms/control-clip-expected.txt:
* platform/gtk/fast/forms/control-clip-overflow-expected.png:
* platform/gtk/fast/forms/control-clip-overflow-expected.txt:
* platform/gtk/fast/forms/control-restrict-line-height-expected.png:
* platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
* platform/gtk/fast/forms/datalist/datalist-searchinput-appearance-expected.png:
* platform/gtk/fast/forms/datalist/datalist-searchinput-appearance-expected.txt:
* platform/gtk/fast/forms/datalist/datalist-textinput-appearance-expected.png:
* platform/gtk/fast/forms/datalist/datalist-textinput-appearance-expected.txt:
* platform/gtk/fast/forms/disabled-select-change-index-expected.png:
* platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
* platform/gtk/fast/forms/file/file-input-direction-expected.png:
* platform/gtk/fast/forms/file/file-input-direction-expected.txt:
* platform/gtk/fast/forms/file/file-input-disabled-expected.png:
* platform/gtk/fast/forms/file/file-input-disabled-expected.txt:
* platform/gtk/fast/forms/form-element-geometry-expected.png:
* platform/gtk/fast/forms/form-element-geometry-expected.txt:
* platform/gtk/fast/forms/formmove-expected.png:
* platform/gtk/fast/forms/formmove-expected.txt:
* platform/gtk/fast/forms/formmove2-expected.png:
* platform/gtk/fast/forms/formmove2-expected.txt:
* platform/gtk/fast/forms/formmove3-expected.png:
* platform/gtk/fast/forms/formmove3-expected.txt:
* platform/gtk/fast/forms/indeterminate-expected.png:
* platform/gtk/fast/forms/indeterminate-expected.txt:
* platform/gtk/fast/forms/input-appearance-disabled-expected.png:
* platform/gtk/fast/forms/input-appearance-disabled-expected.txt:
* platform/gtk/fast/forms/input-appearance-height-expected.png:
* platform/gtk/fast/forms/input-appearance-height-expected.txt:
* platform/gtk/fast/forms/input-button-sizes-expected.png:
* platform/gtk/fast/forms/input-button-sizes-expected.txt:
* platform/gtk/fast/forms/input-disabled-color-expected.png:
* platform/gtk/fast/forms/input-disabled-color-expected.txt:
* platform/gtk/fast/forms/input-first-letter-expected.png:
* platform/gtk/fast/forms/input-first-letter-expected.txt:
* platform/gtk/fast/forms/input-value-expected.png:
* platform/gtk/fast/forms/input-value-expected.txt:
* platform/gtk/fast/forms/large-toggle-elements-expected.png:
* platform/gtk/fast/forms/large-toggle-elements-expected.txt:
* platform/gtk/fast/forms/menulist-deselect-update-expected.png:
* platform/gtk/fast/forms/menulist-deselect-update-expected.txt:
* platform/gtk/fast/forms/menulist-narrow-width-expected.png:
* platform/gtk/fast/forms/menulist-narrow-width-expected.txt:
* platform/gtk/fast/forms/menulist-no-overflow-expected.png:
* platform/gtk/fast/forms/menulist-no-overflow-expected.txt:
* platform/gtk/fast/forms/menulist-separator-painting-expected.png:
* platform/gtk/fast/forms/menulist-separator-painting-expected.txt:
* platform/gtk/fast/forms/menulist-style-color-expected.png:
* platform/gtk/fast/forms/menulist-style-color-expected.txt:
* platform/gtk/fast/forms/menulist-width-change-expected.png:
* platform/gtk/fast/forms/menulist-width-change-expected.txt:
* platform/gtk/fast/forms/number/number-spinbutton-change-and-input-events-expected.txt:
* platform/gtk/fast/forms/number/number-spinbutton-click-in-iframe-expected.txt:
* platform/gtk/fast/forms/number/number-spinbutton-gets-disabled-or-readonly-expected.txt:
* platform/gtk/fast/forms/option-script-expected.png:
* platform/gtk/fast/forms/option-script-expected.txt:
* platform/gtk/fast/forms/option-strip-whitespace-expected.png:
* platform/gtk/fast/forms/option-strip-whitespace-expected.txt:
* platform/gtk/fast/forms/option-text-clip-expected.png:
* platform/gtk/fast/forms/option-text-clip-expected.txt:
* platform/gtk/fast/forms/placeholder-position-expected.png:
* platform/gtk/fast/forms/placeholder-position-expected.txt:
* platform/gtk/fast/forms/placeholder-pseudo-style-expected.png:
* platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
* platform/gtk/fast/forms/range/input-appearance-range-expected.png:
* platform/gtk/fast/forms/range/input-appearance-range-expected.txt:
* platform/gtk/fast/forms/range/slider-padding-expected.png:
* platform/gtk/fast/forms/range/slider-padding-expected.txt:
* platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.png:
* platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/gtk/fast/forms/range/slider-transformed-expected.txt:
* platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.png:
* platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.txt:
* platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.png:
* platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
* platform/gtk/fast/forms/search-display-none-cancel-button-expected.png:
* platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
* platform/gtk/fast/forms/search-input-rtl-expected.png:
* platform/gtk/fast/forms/search-input-rtl-expected.txt:
* platform/gtk/fast/forms/search-rtl-expected.png:
* platform/gtk/fast/forms/search-rtl-expected.txt:
* platform/gtk/fast/forms/search-styled-expected.png:
* platform/gtk/fast/forms/search-styled-expected.txt:
* platform/gtk/fast/forms/search/search-size-with-decorations-expected.png:
* platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
* platform/gtk/fast/forms/searchfield-heights-expected.png:
* platform/gtk/fast/forms/searchfield-heights-expected.txt:
* platform/gtk/fast/forms/select-align-expected.png:
* platform/gtk/fast/forms/select-align-expected.txt:
* platform/gtk/fast/forms/select-background-none-expected.png:
* platform/gtk/fast/forms/select-background-none-expected.txt:
* platform/gtk/fast/forms/select-baseline-expected.png:
* platform/gtk/fast/forms/select-baseline-expected.txt:
* platform/gtk/fast/forms/select-change-listbox-to-popup-expected.png:
* platform/gtk/fast/forms/select-change-listbox-to-popup-expected.txt:
* platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.png:
* platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.txt:
* platform/gtk/fast/forms/select-disabled-appearance-expected.png:
* platform/gtk/fast/forms/select-disabled-appearance-expected.txt:
* platform/gtk/fast/forms/select-element-focus-ring-expected.png:
* platform/gtk/fast/forms/select-element-focus-ring-expected.txt:
* platform/gtk/fast/forms/select-initial-position-expected.png:
* platform/gtk/fast/forms/select-initial-position-expected.txt:
* platform/gtk/fast/forms/select-non-native-rendering-direction-expected.png:
* platform/gtk/fast/forms/select-non-native-rendering-direction-expected.txt:
* platform/gtk/fast/forms/select-selected-expected.png:
* platform/gtk/fast/forms/select-selected-expected.txt:
* platform/gtk/fast/forms/select-style-expected.png:
* platform/gtk/fast/forms/select-style-expected.txt:
* platform/gtk/fast/forms/select-visual-hebrew-expected.png:
* platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
* platform/gtk/fast/forms/select-writing-direction-natural-expected.png:
* platform/gtk/fast/forms/select-writing-direction-natural-expected.txt:
* platform/gtk/fast/forms/select/optgroup-rendering-expected.png:
* platform/gtk/fast/forms/select/optgroup-rendering-expected.txt:
* platform/gtk/fast/forms/selectlist-minsize-expected.png:
* platform/gtk/fast/forms/selectlist-minsize-expected.txt:
* platform/gtk/fast/forms/stuff-on-my-optgroup-expected.png:
* platform/gtk/fast/forms/stuff-on-my-optgroup-expected.txt:
* platform/gtk/fast/forms/targeted-frame-submission-expected.png:
* platform/gtk/fast/forms/targeted-frame-submission-expected.txt:
* platform/gtk/fast/forms/textarea-placeholder-pseudo-style-expected.png:
* platform/gtk/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
* platform/gtk/fast/html/details-replace-summary-child-expected.png:
* platform/gtk/fast/html/details-replace-summary-child-expected.txt:
* platform/gtk/fast/html/details-replace-text-expected.png:
* platform/gtk/fast/html/details-replace-text-expected.txt:
* platform/gtk/fast/html/keygen-expected.png:
* platform/gtk/fast/html/keygen-expected.txt:
* platform/gtk/fast/inline/positionedLifetime-expected.png:
* platform/gtk/fast/inline/positionedLifetime-expected.txt:
* platform/gtk/fast/invalid/014-expected.png:
* platform/gtk/fast/invalid/014-expected.txt:
* platform/gtk/fast/layers/video-layer-expected.png:
* platform/gtk/fast/layers/video-layer-expected.txt:
* platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png:
* platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
* platform/gtk/fast/overflow/scrollRevealButton-expected.png:
* platform/gtk/fast/overflow/scrollRevealButton-expected.txt:
* platform/gtk/fast/parser/bad-xml-slash-expected.png:
* platform/gtk/fast/parser/bad-xml-slash-expected.txt:
* platform/gtk/fast/parser/document-write-option-expected.png:
* platform/gtk/fast/parser/document-write-option-expected.txt:
* platform/gtk/fast/repaint/search-field-cancel-expected.png:
* platform/gtk/fast/repaint/search-field-cancel-expected.txt:
* platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png:
* platform/gtk/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/gtk/fast/replaced/replaced-breaking-expected.png:
* platform/gtk/fast/replaced/replaced-breaking-expected.txt:
* platform/gtk/fast/replaced/replaced-breaking-mixture-expected.png:
* platform/gtk/fast/replaced/replaced-breaking-mixture-expected.txt:
* platform/gtk/fast/replaced/three-selects-break-expected.png:
* platform/gtk/fast/replaced/three-selects-break-expected.txt:
* platform/gtk/fast/replaced/width100percent-button-expected.png:
* platform/gtk/fast/replaced/width100percent-button-expected.txt:
* platform/gtk/fast/replaced/width100percent-checkbox-expected.png:
* platform/gtk/fast/replaced/width100percent-checkbox-expected.txt:
* platform/gtk/fast/replaced/width100percent-menulist-expected.png:
* platform/gtk/fast/replaced/width100percent-menulist-expected.txt:
* platform/gtk/fast/replaced/width100percent-radio-expected.png:
* platform/gtk/fast/replaced/width100percent-radio-expected.txt:
* platform/gtk/fast/replaced/width100percent-searchfield-expected.png:
* platform/gtk/fast/replaced/width100percent-searchfield-expected.txt:
* platform/gtk/fast/table/append-cells2-expected.png:
* platform/gtk/fast/table/append-cells2-expected.txt:
* platform/gtk/fast/table/remove-td-display-none-expected.png:
* platform/gtk/fast/table/remove-td-display-none-expected.txt:
* platform/gtk/fast/text/international/bidi-menulist-expected.png:
* platform/gtk/fast/text/international/bidi-menulist-expected.txt:
* platform/gtk/fast/text/international/hindi-spacing-expected.png:
* platform/gtk/fast/text/international/hindi-spacing-expected.txt:
* platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
* platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
* platform/gtk/fast/text/monospace-width-cache-expected.png:
* platform/gtk/fast/text/monospace-width-cache-expected.txt:
* platform/gtk/fast/text/textIteratorNilRenderer-expected.png:
* platform/gtk/fast/text/textIteratorNilRenderer-expected.txt:
* platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.png:
* platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt:
* platform/gtk/http/tests/media/hls/video-controls-live-stream-expected.txt:
* platform/gtk/http/tests/navigation/javascriptlink-frames-expected.png:
* platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
* platform/gtk/media/audio-controls-rendering-expected.png:
* platform/gtk/media/audio-controls-rendering-expected.txt:
* platform/gtk/media/controls-after-reload-expected.png:
* platform/gtk/media/controls-after-reload-expected.txt:
* platform/gtk/media/controls-strict-expected.png:
* platform/gtk/media/controls-strict-expected.txt:
* platform/gtk/media/media-controls-clone-expected.png:
* platform/gtk/media/media-controls-clone-expected.txt:
* platform/gtk/media/video-controls-rendering-expected.png:
* platform/gtk/media/video-controls-rendering-expected.txt:
* platform/gtk/media/video-display-toggle-expected.png:
* platform/gtk/media/video-display-toggle-expected.txt:
* platform/gtk/media/video-empty-source-expected.png:
* platform/gtk/media/video-empty-source-expected.txt:
* platform/gtk/media/video-no-audio-expected.png:
* platform/gtk/media/video-no-audio-expected.txt:
* platform/gtk/media/video-playing-and-pause-expected.png:
* platform/gtk/media/video-playing-and-pause-expected.txt:
* platform/gtk/media/video-zoom-controls-expected.png:
* platform/gtk/media/video-zoom-controls-expected.txt:
* platform/gtk/svg/custom/foreign-object-skew-expected.png:
* platform/gtk/svg/custom/foreign-object-skew-expected.txt:
* platform/gtk/svg/custom/inline-svg-in-xhtml-expected.png:
* platform/gtk/svg/custom/inline-svg-in-xhtml-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug1188-expected.png:
* platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug1318-expected.png:
* platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug138725-expected.png:
* platform/gtk/tables/mozilla/bugs/bug138725-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug18359-expected.png:
* platform/gtk/tables/mozilla/bugs/bug18359-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug2479-2-expected.png:
* platform/gtk/tables/mozilla/bugs/bug2479-2-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug2479-3-expected.png:
* platform/gtk/tables/mozilla/bugs/bug2479-3-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug2479-4-expected.png:
* platform/gtk/tables/mozilla/bugs/bug2479-4-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug26178-expected.png:
* platform/gtk/tables/mozilla/bugs/bug26178-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug28928-expected.png:
* platform/gtk/tables/mozilla/bugs/bug28928-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug29326-expected.png:
* platform/gtk/tables/mozilla/bugs/bug29326-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug33855-expected.png:
* platform/gtk/tables/mozilla/bugs/bug33855-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug39209-expected.png:
* platform/gtk/tables/mozilla/bugs/bug39209-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug4382-expected.png:
* platform/gtk/tables/mozilla/bugs/bug4382-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug4429-expected.png:
* platform/gtk/tables/mozilla/bugs/bug4429-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug44505-expected.png:
* platform/gtk/tables/mozilla/bugs/bug44505-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug4527-expected.png:
* platform/gtk/tables/mozilla/bugs/bug4527-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug46368-1-expected.png:
* platform/gtk/tables/mozilla/bugs/bug46368-1-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug46368-2-expected.png:
* platform/gtk/tables/mozilla/bugs/bug46368-2-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug51037-expected.png:
* platform/gtk/tables/mozilla/bugs/bug51037-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug51727-expected.png:
* platform/gtk/tables/mozilla/bugs/bug51727-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug52505-expected.png:
* platform/gtk/tables/mozilla/bugs/bug52505-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug52506-expected.png:
* platform/gtk/tables/mozilla/bugs/bug52506-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug60749-expected.png:
* platform/gtk/tables/mozilla/bugs/bug60749-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug68912-expected.png:
* platform/gtk/tables/mozilla/bugs/bug68912-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug7342-expected.png:
* platform/gtk/tables/mozilla/bugs/bug7342-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug92647-2-expected.png:
* platform/gtk/tables/mozilla/bugs/bug92647-2-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug96334-expected.png:
* platform/gtk/tables/mozilla/bugs/bug96334-expected.txt:
* platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.png:
* platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
* platform/gtk/tables/mozilla/core/margins-expected.png:
* platform/gtk/tables/mozilla/core/margins-expected.txt:
* platform/gtk/tables/mozilla/dom/tableDom-expected.png:
* platform/gtk/tables/mozilla/dom/tableDom-expected.txt:
* platform/gtk/tables/mozilla/other/move_row-expected.png:
* platform/gtk/tables/mozilla/other/move_row-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.png:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png:
* platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png:
* platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.png:
* platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.png:
* platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.txt:
* platform/gtk/transforms/2d/zoom-menulist-expected.png:
* platform/gtk/transforms/2d/zoom-menulist-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257305 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WPE] Enable BACKTRACE_SYMBOLS
philn@webkit.org [Tue, 25 Feb 2020 14:14:38 +0000 (14:14 +0000)]
[WPE] Enable BACKTRACE_SYMBOLS
https://bugs.webkit.org/show_bug.cgi?id=208187

Reviewed by Žan Doberšek.

* wtf/PlatformHave.h: Enable backtrace_symbols, to be combined
with dladdr() the stacktrace dumps will be improved.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257304 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[GTK] Update TestExpectations
dpino@igalia.com [Tue, 25 Feb 2020 11:57:58 +0000 (11:57 +0000)]
[GTK] Update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=208183

Unreviewed gardening.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WPE] Gardening, update TestExpectations
dpino@igalia.com [Tue, 25 Feb 2020 11:53:55 +0000 (11:53 +0000)]
[WPE] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=208184

Unreviewed gardening.

* platform/wpe/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257302 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUpdate stale comment about PackedAlignedPtr
sbarati@apple.com [Tue, 25 Feb 2020 10:37:36 +0000 (10:37 +0000)]
Update stale comment about PackedAlignedPtr
https://bugs.webkit.org/show_bug.cgi?id=208176

Reviewed by Yusuke Suzuki.

The comment was stale since cells aren't guaranteed anymore to be
aligned on 16 byte boundaries because of the GCs precise allocations.

Source/bmalloc:

* bmalloc/Packed.h:

Source/WTF:

* wtf/Packed.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257301 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[GTK] Add support for rendering slider ticks
carlosgc@webkit.org [Tue, 25 Feb 2020 10:03:02 +0000 (10:03 +0000)]
[GTK] Add support for rendering slider ticks
https://bugs.webkit.org/show_bug.cgi?id=208132

Reviewed by Adrian Perez de Castro.

.:

Add a test case for sliders with ticks.

* ManualTests/gtk/theme.html:

Source/WebCore:

* rendering/RenderThemeAdwaita.cpp:
(WebCore::RenderThemeAdwaita::paintSliderTrack):
(WebCore::RenderThemeAdwaita::sliderTickSize const):
(WebCore::RenderThemeAdwaita::sliderTickOffsetFromTrackCenter const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257300 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[GTK] Stop using gtk foreign drawing API to style form controls
carlosgc@webkit.org [Tue, 25 Feb 2020 09:55:52 +0000 (09:55 +0000)]
[GTK] Stop using gtk foreign drawing API to style form controls
https://bugs.webkit.org/show_bug.cgi?id=208129

Reviewed by Adrian Perez de Castro.

.:

Add a test case for datalist element.

* ManualTests/gtk/theme.html:

Source/WebCore:

It causes layout issues in some websites, it doesn't really work with all GTK themes and it won't be possible
with GTK4 because foreign drawing APIs have been removed. Instead, we can use the new custom style used by WPE
port, which is based on adwaita, but simplified to avoid the huge minimum control sizes, the usage of gradients
and transparencies, etc. We can still use the GTK API to get the selection colors, to keep some consistency with
the actual GTK theme, but that won't be possible with GTK4 either. This also means we won't be rendering
directly to the cairo context anymore (which was required by GTK foreign drawing), so we can use things like
threaded rendering in the GTK port now. This patch renames ScrollbarThemeWPE, RenderThemeWPE and ThemeWPE as
ScrollbarThemeAdwaita, RenderThemeAdwaita and ThemeAdwaita and adds ThemeGtk. GTK media controls CSS and
JavaScript files have been removed in favor of using the adwaita ones.

* Modules/mediacontrols/mediaControlsGtk.js: Removed.
* PlatformGTK.cmake:
* PlatformWPE.cmake:
* SourcesGTK.txt:
* SourcesWPE.txt:
* css/mediaControlsGtk.css: Removed.
* platform/adwaita/ScrollbarThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.cpp.
(WebCore::ScrollbarThemeAdwaita::usesOverlayScrollbars const):
(WebCore::ScrollbarThemeAdwaita::scrollbarThickness):
(WebCore::ScrollbarThemeAdwaita::minimumThumbLength):
(WebCore::ScrollbarThemeAdwaita::hasButtons):
(WebCore::ScrollbarThemeAdwaita::hasThumb):
(WebCore::ScrollbarThemeAdwaita::backButtonRect):
(WebCore::ScrollbarThemeAdwaita::forwardButtonRect):
(WebCore::ScrollbarThemeAdwaita::trackRect):
(WebCore::ScrollbarThemeAdwaita::paint):
(WebCore::ScrollbarThemeAdwaita::handleMousePressEvent):
(WebCore::ScrollbarTheme::nativeTheme):
* platform/adwaita/ScrollbarThemeAdwaita.h: Copied from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h.
* platform/adwaita/ThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ThemeWPE.cpp.
(WebCore::Theme::singleton):
(WebCore::ThemeAdwaita::activeSelectionForegroundColor const):
(WebCore::ThemeAdwaita::activeSelectionBackgroundColor const):
(WebCore::ThemeAdwaita::inactiveSelectionForegroundColor const):
(WebCore::ThemeAdwaita::inactiveSelectionBackgroundColor const):
(WebCore::ThemeAdwaita::focusColor):
(WebCore::ThemeAdwaita::paintFocus):
(WebCore::ThemeAdwaita::paintArrow):
(WebCore::ThemeAdwaita::controlSize const):
(WebCore::ThemeAdwaita::paint):
(WebCore::ThemeAdwaita::paintCheckbox):
(WebCore::ThemeAdwaita::paintRadio):
(WebCore::ThemeAdwaita::paintButton):
(WebCore::ThemeAdwaita::paintSpinButton):
* platform/adwaita/ThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/ThemeWPE.h.
(WebCore::ThemeAdwaita::platformColorsDidChange):
* platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawFocusRing):
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* platform/gtk/RenderThemeGadget.cpp: Removed.
* platform/gtk/RenderThemeGadget.h: Removed.
* platform/gtk/RenderThemeWidget.cpp: Removed.
* platform/gtk/RenderThemeWidget.h: Removed.
* platform/gtk/ScrollbarThemeGtk.cpp: Removed.
* platform/gtk/ScrollbarThemeGtk.h: Removed.
* platform/gtk/ThemeGtk.cpp: Added.
(WebCore::Theme::singleton):
(WebCore::ThemeGtk::ensurePlatformColors const):
(WebCore::ThemeGtk::platformColorsDidChange):
(WebCore::ThemeGtk::activeSelectionForegroundColor const):
(WebCore::ThemeGtk::activeSelectionBackgroundColor const):
(WebCore::ThemeGtk::inactiveSelectionForegroundColor const):
(WebCore::ThemeGtk::inactiveSelectionBackgroundColor const):
* platform/gtk/ThemeGtk.h: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h.
* rendering/RenderThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.cpp.
(WebCore::RenderTheme::singleton):
(WebCore::RenderThemeAdwaita::supportsFocusRing const):
(WebCore::RenderThemeAdwaita::shouldHaveCapsLockIndicator const):
(WebCore::RenderThemeAdwaita::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeAdwaita::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeAdwaita::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeAdwaita::platformInactiveSelectionForegroundColor const):
(WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeAdwaita::platformFocusRingColor const):
(WebCore::RenderThemeAdwaita::platformColorsDidChange):
(WebCore::RenderThemeAdwaita::extraDefaultStyleSheet):
(WebCore::RenderThemeAdwaita::extraMediaControlsStyleSheet):
(WebCore::RenderThemeAdwaita::mediaControlsScript):
(WebCore::RenderThemeAdwaita::paintTextField):
(WebCore::RenderThemeAdwaita::paintTextArea):
(WebCore::RenderThemeAdwaita::paintSearchField):
(WebCore::RenderThemeAdwaita::popupInternalPaddingBox const):
(WebCore::RenderThemeAdwaita::paintMenuList):
(WebCore::RenderThemeAdwaita::paintMenuListButtonDecorations):
(WebCore::RenderThemeAdwaita::animationRepeatIntervalForProgressBar const):
(WebCore::RenderThemeAdwaita::animationDurationForProgressBar const):
(WebCore::RenderThemeAdwaita::progressBarRectForBounds const):
(WebCore::RenderThemeAdwaita::paintProgressBar):
(WebCore::RenderThemeAdwaita::paintSliderTrack):
(WebCore::RenderThemeAdwaita::adjustSliderThumbSize const):
(WebCore::RenderThemeAdwaita::paintSliderThumb):
(WebCore::RenderThemeAdwaita::paintMediaSliderTrack):
(WebCore::RenderThemeAdwaita::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeAdwaita::sliderTickSize const):
(WebCore::RenderThemeAdwaita::sliderTickOffsetFromTrackCenter const):
(WebCore::RenderThemeAdwaita::adjustListButtonStyle const):
* rendering/RenderThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.h.
* rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::updateCachedSystemFontDescription const):
(WebCore::RenderThemeGtk::caretBlinkInterval const):
* rendering/RenderThemeGtk.h:

Source/WebKit:

* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::themeDidChange): Notify RenderTheme about the theme change to clear the colors cache.

Source/WTF:

Enable USE_NEW_THEME for the GTK port.

* wtf/PlatformUse.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257299 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[Linux] StackTrace symbols are not demangled
philn@webkit.org [Tue, 25 Feb 2020 09:19:22 +0000 (09:19 +0000)]
[Linux] StackTrace symbols are not demangled
https://bugs.webkit.org/show_bug.cgi?id=207933

Reviewed by Yusuke Suzuki.

Demangle symbols provided by backtrace_symbols.

* wtf/StackTrace.cpp:
(WTF::StackTrace::dump const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257298 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed build fix for WinCairo port
Hironori.Fujii@sony.com [Tue, 25 Feb 2020 07:37:45 +0000 (07:37 +0000)]
Unreviewed build fix for WinCairo port
https://bugs.webkit.org/show_bug.cgi?id=208112
<rdar://problem/59709701>

> WebCore\layout/inlineformatting/LineLayoutContext.cpp(337): error C2397: conversion from 'size_t' to 'WTF::Optional<unsigned int>' requires a narrowing conversion
> WebCore\layout/inlineformatting/LineLayoutContext.cpp(361): error C2397: conversion from 'size_t' to 'WTF::Optional<unsigned int>' requires a narrowing conversion

* layout/inlineformatting/LineLayoutContext.cpp:
(WebCore::Layout::LineLayoutContext::close): Changed the type of 'trailingInlineItemIndex' from 'auto' to 'unsigned'.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257297 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRefactor TextTrackCue to use more traditional design patterns
darin@apple.com [Tue, 25 Feb 2020 07:25:11 +0000 (07:25 +0000)]
Refactor TextTrackCue to use more traditional design patterns
https://bugs.webkit.org/show_bug.cgi?id=208114

Reviewed by Alex Christensen.

- Fixed is<VTTCue> to accurately match the class hierarchy. Before, TextTrackCueGeneric
  derived from VTTCue, but is<VTTCue> would return false. Normalizing this lets us use
  is<VTTCue> and downcast<VTTCue> in the conventional way.
- Made the TextTrackCue::isEqual function a non-virtual function that calls a virtual
  function TextTrackCue::cueContentsMatch. Before there was a mix of overridding both
  functions in derived classes, achieving the same thing in multiple ways with
  unneccessary additional virtual function call overhead.
- Made the TextTrackCue::toJSONString function a non-virtual function that calls a
  virtual funtion TextTrackCue::toJSON. Before there were two virtual functions and
  inconsistent patterns for which one was overridden.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackRemoveCue): Use downcast instead of toVTTCue.

* html/HTMLMediaElement.h: Removed some unneeded includes.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Use downcast
instead of toVTTCue.
(WebCore::MediaControlTextTrackContainerElement::processActiveVTTCue): Removed
an assertion that no longer makes sense; guaranteed at runtime.

* html/shadow/MediaControls.h: Removed an unneeded include.

* html/track/DataCue.cpp:
(WebCore::toDataCue): Deleted. No need for this function since we can use
downcast<DataCue> instead.
(WebCore::DataCue::cueContentsMatch const): Removed unnecessary check of cueType.
The isEqual function checks cueType and only calls this function if it matches.
Use downcast instead of toDataCue.
(WebCore::DataCue::isEqual const): Deleted. Base class now handles this.
(WebCore::DataCue::doesExtendCue const): Deleted. Was never being called.
(WebCore::DataCue::toJSONString const): Deleted. Override toJSON instead.
(WebCore::DataCue::toJSON const): Moved the code here that used to be in toJSONString.

* html/track/DataCue.h: Reduced includes. Made overridden functions private
and final. Removed functions as mmentioned above. Changed WTF::LogArgument implementation
to just forward to TextTrackCue instead of reimplementing here.

* html/track/InbandDataTextTrack.cpp:
(WebCore::InbandDataTextTrack::removeCue): Use downcast instead of toDataCue.

* html/track/InbandGenericTextTrack.cpp: Removed an unneeded include.

* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::LoadableTextTrack): Removed unneeded initialization of
m_isDefault, which is initialized in the class definition.
(WebCore::LoadableTextTrack::newCuesAvailable): Removed unneeded call to toVTTCue,
taking advantage of the better interface of getNewCues, which now returns
Vector<Ref<VTTCue>>, making the type explicit.

* html/track/TextTrack.cpp:
(WebCore::TextTrack::addCue): Use is<DataCue> instead of checking cueType.

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::create): Fixed confusing naming that called the fragment the
cue is contained in "cueDocument"; call it cueFragment instead. This constructor
already required that the ScriptExecutionContext be a Document. Did the type cast
for that up front. In the future would be good to change the argument type to Document.
Also fixed how the newly-created fragment is passed to the constructor. The old code
tried to use DocumentFragment&& to pass ownership, but since this is a reference-counted
object it needs to be Ref<DocumentFragment>&&.
(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::scriptExecutionContext const): Moved this here from the header
file so we can compile without TextTrackCue.h including Document.h.
(WebCore::TextTrackCue::cueContentsMatch const): Removed the code that checks cueType.
It's now isEqual that is responsible for checking that the cueType matches, and
cueContentsMatch is only called when the types are the same.
(WebCore::TextTrackCue::isEqual const): Reordered the boolean checks a bit so it's
easier to see the logic; no need for a cascade of if statements.
(WebCore::TextTrackCue::doesExtendCue const): Deleted. Was never being called.
(WebCore::operator<<): Use downcast instead of toVTTCue.

* html/track/TextTrackCue.h: Made isEqual no longer virtual. The per-class behavior
is now all in the virtual cueContentsMatch function, only called by isEqual.
Removed uncalled doesExtendCue function. Added some argument names in cases where
the type alone did not make their purpose clear. Made some things more private.
Replaced m_scriptExecutionContext with m_document.

* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGeneric::create): Moved this function here from the header.
(WebCore::TextTrackCueGeneric::TextTrackCueGeneric): Initialized data members in the
class definition so they don't also need to be initialized here.
(WebCore::TextTrackCueGeneric::cueContentsMatch const): Rewrote using && rather than
castcading if statements, making the function shorter andd easier to read.
(WebCore::TextTrackCueGeneric::isEqual const): Deleted. Base class now handes this.
The old version had confusing logic to deal with checking cue type; can now do this
in a more straightforward way.
(WebCore::TextTrackCueGeneric::doesExtendCue const): Deleted. Was never called.
(WebCore::TextTrackCueGeneric::isOrderedBefore const): Use is<TextTrackCueGeneric>
and downcast<TextTrackCueGeneric>.
(WebCore::TextTrackCueGeneric::isPositionedAbove const): Ditto. Also merged two
if statements so there is less repeated logic.
(WebCore::TextTrackCueGeneric::toJSONString const): Deleted.
(WebCore::TextTrackCueGeneric::toJSON const): Moved code here that was in toJSONString.

* html/track/TextTrackCueGeneric.h: Made things more private. Changed WTF::LogArgument
implementation to just forward to TextTrackCue instead of reimplementing here.

* html/track/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::create): Moved here from header.
* html/track/TextTrackCueList.h: Ditto.

* html/track/VTTCue.cpp: Moved undefinedPosition to be a private static constexpr
data member so it can be used in initialization.
(WebCore::VTTCueBox::applyCSSProperties): Use is<VTTCue> and downcast<VTTCue>.
(WebCore::VTTCue::create): Moved more overloads of this function here from the
header file.
(WebCore::VTTCue::VTTCue): Take Document instead of ScriptExecutionContext.
Also took the ScriptExecutionContext argument away from the initialize function.
(WebCore::VTTCue::initialize): Do less initialization here. This function is
only called in constructors, so it doesn't need to initialize anything that
is initialized in all constructors or initialized in the class definition.
What remains are things that require a little code to initialize and the
bitfields, which can't be initialized in the class definition.
(WebCore::VTTCue::setPosition): Rearranged the code a tiny bit.
(WebCore::copyWebVTTNodeToDOMTree): Made this a non-member function. Also changed
the argument types to use references.
(WebCore::VTTCue::getCueAsHTML): Updated for changes to copyWebVTTNodeToDOMTree.
(WebCore::VTTCue::removeDisplayTree): Check m_displayTree directly instead
of calling a hasDisplayTree function, since that's more a more straightforward
way to guard a subsequent line of code that then uses m_displayTree.
(WebCore::VTTCue::setCueSettings): Merged two if statements into one.
(WebCore::VTTCue::cueContentsMatch const): Rewrote using && rather than
castcading if statements, making the function shorter andd easier to read.
(WebCore::VTTCue::isEqual const): Deleted. Base class now handles this.
(WebCore::VTTCue::doesExtendCue const): Deleted. Was never called.
(WebCore::toVTTCue): Deleted.
(WebCore::VTTCue::toJSONString const): Deleted. Base class now handles this.
(WebCore::VTTCue::toJSON const): Added a comment.

* html/track/VTTCue.h: Moved create functions out of header, made some things
more private and final, initialized more data members in the class definition.
Removed toVTTCue. Changed WTF::LogArgument implementation to just forward to
TextTrackCue instead of reimplementing here. Corrected the isType function so
it knows about both cue types that result in a VTTCue object. This allows us
to use is<VTTCue> and downcast<VTTCue> in the normal way. Removed the FIXME
saying we should do that.

* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::getNewCues): Changed to return a Vector<Ref<VTTCue>>.
In modern C++ return value is better than an out argument for a function like
this, and the more-specific type helps us at the call sites.

* loader/TextTrackLoader.h: Updated for the above.

* page/CaptionUserPreferencesMediaAF.cpp: Removed unneeded include.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
Use #pragma once and removed some unneded includes and forward declarations.

* rendering/RenderVTTCue.cpp:
(WebCore::RenderVTTCue::RenderVTTCue): Use downcast<VTTCue>.
(WebCore::RenderVTTCue::layout): Removed unneeded call to toVTTCue.
(WebCore::RenderVTTCue::repositionGenericCue): Use downcast instead of
static_cast for TextTrackCueGeneric.

* style/RuleSet.cpp: Removed unneeded include.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257296 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WTF] Add tests for CompactRefPtrTuple
ysuzuki@apple.com [Tue, 25 Feb 2020 07:03:45 +0000 (07:03 +0000)]
[WTF] Add tests for CompactRefPtrTuple
https://bugs.webkit.org/show_bug.cgi?id=208172

Reviewed by Darin Adler.

Source/WTF:

Include Noncopyable.h.

* wtf/CompactRefPtrTuple.h:

Tools:

We copy tests from RefPtr for CompactRefPtrTuple to ensure that it is working correctly.
Many of tests are not necessary since currently CompactRefPtrTuple is non-copyable / non-movable.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CompactRefPtrTuple.cpp: Added.
(TestWebKitAPI::TEST):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257295 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoAX: Support relative frames for isolated trees correctly
cfleizach@apple.com [Tue, 25 Feb 2020 06:22:11 +0000 (06:22 +0000)]
AX: Support relative frames for isolated trees correctly
https://bugs.webkit.org/show_bug.cgi?id=208169
<rdar://problem/59746529>

Reviewed by Zalan Bujtas.

To support relative frames correctly for accessibility, we should:
  1) Only expose for isolated tree clients.
  2) Support FloatRects in the attribute variants.

This patch also fixes an issue where we weren't reserving capacity before using.

* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::setObjectVectorProperty):
* accessibility/isolatedtree/AXIsolatedObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257294 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoDo not use target/icu.cmake
ysuzuki@apple.com [Tue, 25 Feb 2020 03:19:04 +0000 (03:19 +0000)]
Do not use target/icu.cmake
https://bugs.webkit.org/show_bug.cgi?id=208173

Reviewed by Don Olmstead.

icu.cmake is removed in r256731. Use find_package + ICU since WebKit offers find_package implementation
which can find appropriate system-installed ICU.

* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257293 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoPS-2019-006: [GTK] WebKit - AXObjectCache - m_deferredFocusedNodeChange - UaF
changseok@webkit.org [Tue, 25 Feb 2020 03:02:03 +0000 (03:02 +0000)]
PS-2019-006: [GTK] WebKit - AXObjectCache - m_deferredFocusedNodeChange - UaF
https://bugs.webkit.org/show_bug.cgi?id=204342

Reviewed by Carlos Garcia Campos.

m_deferredFocusedNodeChange keeps pairs of a old node and a new one
to update a focused node later. When a node is removed in the document,
it is also removed from the pair vector. The problem is only comparing
the new node in each pair with a removed node decides the removal.
In the case where the removed node lives in m_deferredFocusedNodeChange
as an old node, a crash happens while we get a renderer of the removed node
to handle focused elements. To fix this, we find all entries of which old node
is matched to the removed node, and set their first value null.

No new tests since no functionality changed.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::remove):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257292 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[LFC][IFC][Floats] Fix float boxes embedded to unbreakable inline runs.
zalan@apple.com [Tue, 25 Feb 2020 01:42:47 +0000 (01:42 +0000)]
[LFC][IFC][Floats] Fix float boxes embedded to unbreakable inline runs.
https://bugs.webkit.org/show_bug.cgi?id=208112
<rdar://problem/59709701>

Reviewed by Antti Koivisto.

This patch fixes the cases when the float is embedded to otherwise unbreakable inline content.
e.g. "text_<div style="float: left"></div>_content"

The logic goes like this:
1. collect the floats inside the unbreakable candidate content
2. mark them intrusive if they potentially influence the current line
3. at handleFloatsAndInlineContent(), adjust available width with the intrusive floats first
4. feed the inline content to the LineBreaker
6. commit the float content based on the line breaking result (commit none, partially, all).
(Note that this algorithm produces a different layout compared to WebKit trunk. It mostly matches FireFox though.)

* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):
* layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::moveLogicalLeft):
(WebCore::Layout::LineBuilder::moveLogicalRight):
* layout/inlineformatting/LineLayoutContext.cpp:
(WebCore::Layout::isAtSoftWrapOpportunity):
(WebCore::Layout::nextWrapOpportunity):
(WebCore::Layout::LineCandidate::FloatContent::append):
(WebCore::Layout::LineLayoutContext::layoutLine):
(WebCore::Layout::LineLayoutContext::close):
(WebCore::Layout::LineLayoutContext::nextContentForLine):
(WebCore::Layout::LineLayoutContext::addIntrusiveFloats):
(WebCore::Layout::LineLayoutContext::revertIntrusiveFloats):
(WebCore::Layout::LineLayoutContext::handleFloatsAndInlineContent):
(WebCore::Layout::isLineConsideredEmpty): Deleted.
(WebCore::Layout::LineLayoutContext::tryAddingFloatContent): Deleted.
(WebCore::Layout::LineLayoutContext::tryAddingInlineItems): Deleted.
* layout/inlineformatting/LineLayoutContext.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257291 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRename the clashing WebOverlayLayer classes
simon.fraser@apple.com [Tue, 25 Feb 2020 01:38:47 +0000 (01:38 +0000)]
Rename the clashing WebOverlayLayer classes
https://bugs.webkit.org/show_bug.cgi?id=208156
rdar://problem/59739250

Reviewed by Tim Horton.

The name WebOverlayLayer was used in two places. Rename them both to more specific names.

Source/WebCore:

* page/cocoa/ResourceUsageOverlayCocoa.mm:
(-[WebResourceUsageOverlayLayer initWithResourceUsageOverlay:]):
(WebCore::ResourceUsageOverlay::platformInitialize):
(-[WebOverlayLayer initWithResourceUsageOverlay:]): Deleted.
(-[WebOverlayLayer drawInContext:]): Deleted.

Source/WebKitLegacy/mac:

* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController init]):
(-[WebOverlayLayer layoutSublayers]): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257290 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoAdd canShare function for Web Share API v2
commit-queue@webkit.org [Tue, 25 Feb 2020 01:22:00 +0000 (01:22 +0000)]
Add canShare function for Web Share API v2
https://bugs.webkit.org/show_bug.cgi?id=207491

Patch by Nikos Mouchtaris <nmouchtaris@apple.com> on 2020-02-24
Reviewed by Tim Horton.

LayoutTests/imported/w3c:

Imported new web platform tests for canShare function.

* resources/import-expectations.json:
* web-platform-tests/web-share/OWNERS: Removed.
* web-platform-tests/web-share/idlharness.https.html: Removed.
* web-platform-tests/web-share/resources/manual-helper.js:
(setupManualShareTest):
(callWhenButtonClicked):
* web-platform-tests/web-share/resources/w3c-import.log:
* web-platform-tests/web-share/share-empty.https.html:
* web-platform-tests/web-share/share-url-invalid.https.html:
* web-platform-tests/web-share/share-without-user-gesture.https.html:
* web-platform-tests/web-share/w3c-import.log:

Source/WebCore:

Added files member to share data and canShare function to
navigator.cpp. Can share function should always be used
before call to share, and can be used to check if file
sharing is implemented by passing a share data object with
only files.

Imported new Web Platform Tests to test new function.

* page/Navigator.cpp:
(WebCore::Navigator::canShare): Will currently return false for
only file share data objects, since file sharing is currently
not implemented.
(WebCore::Navigator::share): Changed to use canShare to
determine if data is shareable.
* page/Navigator.h:
* page/NavigatorShare.idl:
* page/ShareData.h:
* page/ShareData.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257289 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[Win] Fix AppleWin build.
pvollan@apple.com [Tue, 25 Feb 2020 01:08:05 +0000 (01:08 +0000)]
[Win] Fix AppleWin build.
https://bugs.webkit.org/show_bug.cgi?id=208164

Unreviewed build fix.

Allow a warning which happens when building with older SDKs.

* Source/cmake/OptionsMSVC.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WTF] Attach WARN_UNUSED_RETURN to makeScopeExit and fix existing wrong usage
ysuzuki@apple.com [Tue, 25 Feb 2020 00:57:43 +0000 (00:57 +0000)]
[WTF] Attach WARN_UNUSED_RETURN to makeScopeExit and fix existing wrong usage
https://bugs.webkit.org/show_bug.cgi?id=208162

Reviewed by Robin Morisset.

Source/JavaScriptCore:

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseUnaryExpression):

Source/WebCore:

* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):

Source/WTF:

We should hold ScopeExit to call destructor when we exit from the scope actually.
Putting WARN_UNUSED_RETURN to fix existing misuse.

* wtf/Scope.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[ews] commit-queue should check that patch have appropriate review flag
aakash_jain@apple.com [Tue, 25 Feb 2020 00:55:54 +0000 (00:55 +0000)]
[ews] commit-queue should check that patch have appropriate review flag
https://bugs.webkit.org/show_bug.cgi?id=208138

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(BugzillaMixin._is_patch_obsolete): Drive-by fix to set build properties for patch author, commiter and reviewer.
(BugzillaMixin._is_patch_cq_plus):
(BugzillaMixin._does_patch_have_acceptable_review_flag): Method to check if patch have r? or r- flag.
(ValidatePatch.start):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WebGL] Unskip runnable WebGL 2.0.0 conformance suite for mac
justin_fan@apple.com [Tue, 25 Feb 2020 00:48:50 +0000 (00:48 +0000)]
[WebGL] Unskip runnable WebGL 2.0.0 conformance suite for mac
https://bugs.webkit.org/show_bug.cgi?id=208078

Unreviewed test gardening.

Actually run WebGL 2 tests. Update expectations for ANGLE backend.

* TestExpectations: Unskip non-DEQP WebGL 2.0.0 tests that do not crash nor timeout.
* platform/ios-wk2/TestExpectations: Continue to skip 2.0.0 on iOS WK2 until discrepancies can be addressed.
* webgl/2.0.0/conformance2/renderbuffers/framebuffer-object-attachment-expected.txt:
* webgl/2.0.0/conformance2/renderbuffers/invalidate-framebuffer-expected.txt:
* webgl/2.0.0/conformance2/renderbuffers/multisampled-renderbuffer-initialization-expected.txt:
* webgl/2.0.0/conformance2/rendering/blitframebuffer-test-expected.txt:
* webgl/2.0.0/conformance2/rendering/rgb-format-support-expected.txt:
* webgl/2.0.0/conformance2/textures/misc/tex-3d-size-limit-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257283 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[ Mac wk2 Debug ] is inspector/dom-debugger/attribute-modified-style.html is flaky...
lawrence.j@apple.com [Tue, 25 Feb 2020 00:46:59 +0000 (00:46 +0000)]
[ Mac wk2 Debug ] is inspector/dom-debugger/attribute-modified-style.html is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=208167

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoREGRESSION (r257126): fast/frames/flattening/iframe-tiny.html is flaky failing
zalan@apple.com [Tue, 25 Feb 2020 00:40:14 +0000 (00:40 +0000)]
REGRESSION (r257126): fast/frames/flattening/iframe-tiny.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208055
<rdar://problem/59668089>

Reviewed by Simon Fraser.

In the frame flattening context when optional layout is delayed, getComputedStyle() might return
the un-flattened geometry unless the iframe element is forced to get laid out.
1. main frame content is loaded and laid out -> if the iframe content is not ready yet, we don't initiate iframe flattening.
2. iframe content is ready -> layout is scheduled.
3. getComputedStyle() is called which initiates a style update/layout on the main frame,
   but only dirty boxes trigger layout (the iframe renderer itself is not dirty <- this is where frame flattening fails: webkit.org/b/208161)
4. getComputedStyle() returns with the "stale" geometry.

* fast/frames/flattening/iframe-tiny.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed, mark http/tests/cookies/document-cookie-after-showModalDialog.html as...
cdumez@apple.com [Tue, 25 Feb 2020 00:34:46 +0000 (00:34 +0000)]
Unreviewed, mark http/tests/cookies/document-cookie-after-showModalDialog.html as flaky on WK1.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoLLInt should fast path for jtrue/false on Symbols and Objects
keith_miller@apple.com [Mon, 24 Feb 2020 23:51:25 +0000 (23:51 +0000)]
LLInt should fast path for jtrue/false on Symbols and Objects
https://bugs.webkit.org/show_bug.cgi?id=208151

Reviewed by Yusuke Suzuki.

64-bit interpreter can fast path the case where an object or symbol
is passed to a jtrue or jfalse opcode. This is because these values
are always truthy.

Also, fix some weird indentation in LowLevelInterpreter.asm.

* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSType.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257270 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WebAuthn] Implement SPI for the platform authenticator
jiewen_tan@apple.com [Mon, 24 Feb 2020 23:51:17 +0000 (23:51 +0000)]
[WebAuthn] Implement SPI for the platform authenticator
https://bugs.webkit.org/show_bug.cgi?id=208087
<rdar://problem/59369305>

Reviewed by Brent Fulgham.

Source/WebCore:

Enhances AuthenticatorAssertionResponse to accommondate responses
returned from the platform authenticator.

Covered by API tests.

* Modules/webauthn/AuthenticatorAssertionResponse.cpp:
(WebCore::AuthenticatorAssertionResponse::create):
(WebCore::AuthenticatorAssertionResponse::setAuthenticatorData):
(WebCore::AuthenticatorAssertionResponse::AuthenticatorAssertionResponse):
* Modules/webauthn/AuthenticatorAssertionResponse.h:
(WebCore::AuthenticatorAssertionResponse::authenticatorData const):
(WebCore::AuthenticatorAssertionResponse::signature const):
(WebCore::AuthenticatorAssertionResponse::name const):
(WebCore::AuthenticatorAssertionResponse::displayName const):
(WebCore::AuthenticatorAssertionResponse::numberOfCredentials const):
(WebCore::AuthenticatorAssertionResponse::accessControl const):
(WebCore::AuthenticatorAssertionResponse::setSignature):
(WebCore::AuthenticatorAssertionResponse::setName):
(WebCore::AuthenticatorAssertionResponse::setDisplayName):
(WebCore::AuthenticatorAssertionResponse::setNumberOfCredentials):

Source/WebKit:

Here is the newly added SPI:
typedef NS_ENUM(NSInteger, _WKWebAuthenticationPanelUpdate) {
    ...
    _WKWebAuthenticationPanelUpdateLAError,
    _WKWebAuthenticationPanelUpdateLADuplicateCredential,
    _WKWebAuthenticationPanelUpdateLANoCredential,
};

typedef NS_ENUM(NSInteger, _WKWebAuthenticationTransport) {
    ...
    _WKWebAuthenticationTransportInternal,
};

@protocol _WKWebAuthenticationPanelDelegate <NSObject>
@optional
...
- (void)panel:(_WKWebAuthenticationPanel *)panel verifyUserWithAccessControl:(SecAccessControlRef)accessControl completionHandler:(void (^)(LAContext *))completionHandler;
@end

Illustrations:
1) _WKWebAuthenticationPanelUpdate: Three errors are added to help clients present meaningful error messages to users.
a) WKWebAuthenticationPanelUpdateLAError: An internal error, clients should inform users and terminate the platform
authentication process. This error can be returned at any time.
b) _WKWebAuthenticationPanelUpdateLADuplicateCredential: It means a credential is found to match an entry in the
excludeList. Clients should inform users and terminate the platform authentication process. This error will only be
returned during makeCredential and before verifyUserWithAccessControl delegate.
c) _WKWebAuthenticationPanelUpdateLANoCredential: It means no credentials are found. Clients should inform users and
terminate the platform authentication process. This error will only be returned during getAssertion and before
verifyUserWithAccessControl delegate.

2) _WKWebAuthenticationTransport: _WKWebAuthenticationTransportInternal is added such that clients can learn platform
authenticator will be used from _WKWebAuthenticationPanel.transports.

3) verifyUserWithAccessControl: A delegate that will be called during makeCredential or getAssertion when the platform
authenticator is involved. This delegate is used to obtain user verification from a LAContext. In addition, the LAContext
should evaluate the passed accessControl, such that the SEP protected credential private key can be used. A typical
example will be [LAContext evaluateAccessControl:accessControl operation:LAAccessControlOperationUseKeySign localizedReason:reply:].
Noted, for getAssertion, selectAssertionResponse will be called before verifyUserWithAccessControl. So users need to be
prompted to select a credential before the user verification.

In the scenario when both the platform authenticator and external authenticators are requested. Clients are advised to
wait until verifyUserWithAccessControl to show the combined UI. If any of the LAError states are received before
verifyUserWithAccessControl, clients should then only show the external authenticator UI. Also, platform authenticator and
external authenticators are being discovered at the same time, which means a user can plug in a security key at anytime.
If a valid response is received from the security key, the whole ceremony will be terminated.

Besides introducing the SPI, and all the necessary plumbing to make it happen. This patch also:
1) adds LocalAuthenticationSPI, which is used to check whether a given LAContext is unlocked or not;
2) improves MockLocalConnection such that mock testing can still be ran.

* Platform/spi/Cocoa/LocalAuthenticationSPI.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticationSoftLink.h.
* UIProcess/API/APIWebAuthenticationPanel.cpp:
(API::WebAuthenticationPanel::WebAuthenticationPanel):
* UIProcess/API/APIWebAuthenticationPanelClient.h:
(API::WebAuthenticationPanelClient::verifyUser const):
* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(wkWebAuthenticationTransport):
* UIProcess/WebAuthentication/Authenticator.h:
* UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::verifyUser):
* UIProcess/WebAuthentication/AuthenticatorManager.h:
* UIProcess/WebAuthentication/Cocoa/LocalAuthenticationSoftLink.h:
* UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h:
* UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticatorInternal::toNSData):
(WebKit::LocalAuthenticatorInternal::toArrayBuffer):
(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserConsented):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::getAssertion):
(WebKit::LocalAuthenticator::continueGetAssertionAfterResponseSelected):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserConsented):
(WebKit::LocalAuthenticator::receiveException const):
* UIProcess/WebAuthentication/Cocoa/LocalConnection.h:
(WebKit::LocalConnection::filterResponses const):
* UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:
(WebKit::LocalConnection::isUnlocked const):
(WebKit::LocalConnection::getUserConsent const): Deleted.
(WebKit::LocalConnection::selectCredential const): Deleted.
* UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.h:
* UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm:
(WebKit::WebAuthenticationPanelClient::WebAuthenticationPanelClient):
(WebKit::wkWebAuthenticationPanelUpdate):
(WebKit::WebAuthenticationPanelClient::selectAssertionResponse const):
(WebKit::WebAuthenticationPanelClient::verifyUser const):
* UIProcess/WebAuthentication/Mock/MockLocalConnection.h:
* UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:
(WebKit::MockLocalConnection::isUnlocked const):
(WebKit::MockLocalConnection::filterResponses const):
(WebKit::MockLocalConnection::getUserConsent const): Deleted.
(WebKit::MockLocalConnection::selectCredential const): Deleted.
* UIProcess/WebAuthentication/WebAuthenticationFlags.h:
* WebKit.xcodeproj/project.pbxproj:

Tools:

Besides adding API tests, this patch also teaches TestWebKitAPI to use restricted entitlements.

* TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements:
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:completionHandler:]):
(-[TestWebAuthenticationPanelDelegate panel:verifyUserWithAccessControl:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-la.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion.html.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-duplicate-credential.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-error.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257269 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoRemove geometry information from the scrolling tree
simon.fraser@apple.com [Mon, 24 Feb 2020 23:45:30 +0000 (23:45 +0000)]
Remove geometry information from the scrolling tree
https://bugs.webkit.org/show_bug.cgi?id=208085

Reviewed by Sam Weinig.

The scrolling tree doesn't have enough information to do hit-testing because it has
no representation of layers that overlap scrollers. We'll have to do hit-testing another
way, so remove hit-testing-geometry data from the scrolling tree.

Source/WebCore:

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setRectRelativeToParentNode): Deleted.
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setRectRelativeToParentNode): Deleted.
* page/scrolling/ScrollingStateFrameHostingNode.cpp:
(WebCore::ScrollingStateFrameHostingNode::ScrollingStateFrameHostingNode):
(WebCore::ScrollingStateFrameHostingNode::dumpProperties const):
(WebCore::ScrollingStateFrameHostingNode::setPropertyChangedBitsAfterReattach): Deleted.
(WebCore::ScrollingStateFrameHostingNode::setParentRelativeScrollableRect): Deleted.
* page/scrolling/ScrollingStateFrameHostingNode.h:
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setPropertyChangedBitsAfterReattach):
(WebCore::ScrollingStateScrollingNode::dumpProperties const):
(WebCore::ScrollingStateScrollingNode::setParentRelativeScrollableRect): Deleted.
* page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::parentRelativeScrollableRect const): Deleted.
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::scrollingNodeForPoint):
* page/scrolling/ScrollingTree.h:
* page/scrolling/ScrollingTreeFrameHostingNode.cpp:
(WebCore::ScrollingTreeFrameHostingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameHostingNode::dumpProperties const):
(WebCore::ScrollingTreeFrameHostingNode::parentToLocalPoint const): Deleted.
* page/scrolling/ScrollingTreeFrameHostingNode.h:
(WebCore::ScrollingTreeFrameHostingNode::parentRelativeScrollableRect const): Deleted.
* page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::parentToLocalPoint const): Deleted.
(WebCore::ScrollingTreeFrameScrollingNode::localToContentsPoint const): Deleted.
* page/scrolling/ScrollingTreeFrameScrollingNode.h:
* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::ScrollingTreeNode):
(WebCore::ScrollingTreeNode::scrollingNodeForPoint const): Deleted.
* page/scrolling/ScrollingTreeNode.h:
(WebCore::ScrollingTreeNode::parentToLocalPoint const): Deleted.
(WebCore::ScrollingTreeNode::localToContentsPoint const): Deleted.
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeScrollingNode::dumpProperties const):
(WebCore::ScrollingTreeScrollingNode::parentToLocalPoint const): Deleted.
(WebCore::ScrollingTreeScrollingNode::localToContentsPoint const): Deleted.
(WebCore::ScrollingTreeScrollingNode::scrollingNodeForPoint const): Deleted.
* page/scrolling/ScrollingTreeScrollingNode.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingRole):
(WebCore::RenderLayerCompositor::updateScrollingNodeForFrameHostingRole):
(WebCore::RenderLayerCompositor::rootParentRelativeScrollableRect const): Deleted.
* rendering/RenderLayerCompositor.h:

Source/WebKit:

* Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateFrameHostingNode>::encode):

LayoutTests:

* fast/scrolling/ios/change-scrollability-on-content-resize-expected.txt:
* fast/scrolling/ios/change-scrollability-on-content-resize-nested-expected.txt:
* fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-expected.txt:
* fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolled-down-then-up-expected.txt:
* fast/visual-viewport/tiled-drawing/zoomed-fixed-scrolling-layers-state-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/absolute-in-nested-sc-scrollers-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/absolute-inside-stacking-in-scroller-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/clipped-layer-in-overflow-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/clipped-layer-in-overflow-nested-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/composited-in-absolute-in-overflow-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/composited-in-absolute-in-stacking-context-overflow-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/coordinated-frame-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/coordinated-frame-gain-scrolling-ancestor-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/coordinated-frame-in-fixed-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/coordinated-frame-lose-scrolling-ancestor-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/gain-scrolling-node-parent-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/lose-scrolling-node-parent-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/nested-absolute-in-absolute-overflow-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/nested-absolute-in-overflow-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/nested-absolute-in-relative-in-overflow-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/nested-absolute-in-sc-overflow-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/nested-overflow-scroll-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/overflow-in-fixed-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/positioned-nodes-complex-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/positioned-nodes-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/remove-coordinated-frame-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/remove-scrolling-role-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/reparent-across-compositing-layers-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/reparent-with-layer-removal-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/scrolling-tree-includes-frame-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/scrolling-tree-is-z-order-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/sticky-in-overflow-expected.txt:
* platform/ios-wk2/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt:
* scrollingcoordinator/scrolling-tree/absolute-in-nested-sc-scrollers-expected.txt:
* scrollingcoordinator/scrolling-tree/absolute-inside-stacking-in-scroller-expected.txt:
* scrollingcoordinator/scrolling-tree/clipped-layer-in-overflow-expected.txt:
* scrollingcoordinator/scrolling-tree/clipped-layer-in-overflow-nested-expected.txt:
* scrollingcoordinator/scrolling-tree/composited-in-absolute-in-overflow-expected.txt:
* scrollingcoordinator/scrolling-tree/composited-in-absolute-in-stacking-context-overflow-expected.txt:
* scrollingcoordinator/scrolling-tree/coordinated-frame-expected.txt:
* scrollingcoordinator/scrolling-tree/coordinated-frame-gain-scrolling-ancestor-expected.txt:
* scrollingcoordinator/scrolling-tree/coordinated-frame-in-fixed-expected.txt:
* scrollingcoordinator/scrolling-tree/coordinated-frame-lose-scrolling-ancestor-expected.txt:
* scrollingcoordinator/scrolling-tree/fixed-inside-frame-expected.txt:
* scrollingcoordinator/scrolling-tree/gain-scrolling-node-parent-expected.txt:
* scrollingcoordinator/scrolling-tree/lose-scrolling-node-parent-expected.txt:
* scrollingcoordinator/scrolling-tree/nested-absolute-in-absolute-overflow-expected.txt:
* scrollingcoordinator/scrolling-tree/nested-absolute-in-overflow-expected.txt:
* scrollingcoordinator/scrolling-tree/nested-absolute-in-relative-in-overflow-expected.txt:
* scrollingcoordinator/scrolling-tree/nested-absolute-in-sc-overflow-expected.txt:
* scrollingcoordinator/scrolling-tree/nested-overflow-scroll-expected.txt:
* scrollingcoordinator/scrolling-tree/overflow-in-fixed-expected.txt:
* scrollingcoordinator/scrolling-tree/positioned-nodes-complex-expected.txt:
* scrollingcoordinator/scrolling-tree/positioned-nodes-expected.txt:
* scrollingcoordinator/scrolling-tree/remove-coordinated-frame-expected.txt:
* scrollingcoordinator/scrolling-tree/remove-scrolling-role-expected.txt:
* scrollingcoordinator/scrolling-tree/reparent-across-compositing-layers-expected.txt:
* scrollingcoordinator/scrolling-tree/reparent-with-layer-removal-expected.txt:
* scrollingcoordinator/scrolling-tree/scrolling-tree-includes-frame-expected.txt:
* scrollingcoordinator/scrolling-tree/scrolling-tree-is-z-order-expected.txt:
* scrollingcoordinator/scrolling-tree/sticky-in-overflow-expected.txt:
* scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt:
* tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt:
* tiled-drawing/scrolling/fixed/absolute-inside-fixed-expected.txt:
* tiled-drawing/scrolling/fixed/absolute-inside-out-of-view-fixed-expected.txt:
* tiled-drawing/scrolling/fixed/fixed-in-overflow-expected.txt:
* tiled-drawing/scrolling/fixed/fixed-position-out-of-view-expected.txt:
* tiled-drawing/scrolling/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
* tiled-drawing/scrolling/fixed/four-bars-expected.txt:
* tiled-drawing/scrolling/fixed/four-bars-with-header-and-footer-expected.txt:
* tiled-drawing/scrolling/fixed/negative-scroll-offset-expected.txt:
* tiled-drawing/scrolling/fixed/negative-scroll-offset-in-view-expected.txt:
* tiled-drawing/scrolling/fixed/nested-fixed-expected.txt:
* tiled-drawing/scrolling/fixed/percentage-inside-fixed-expected.txt:
* tiled-drawing/scrolling/frames/scroll-region-after-frame-layout-expected.txt:
* tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt:
* tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt:
* tiled-drawing/scrolling/sticky/negative-scroll-offset-expected.txt:
* tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt:
* tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257268 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[ Mac wk2 ] fast/scrolling/overflow-scroll-past-max.html is flaky failing
lawrence.j@apple.com [Mon, 24 Feb 2020 23:27:02 +0000 (23:27 +0000)]
[ Mac wk2 ] fast/scrolling/overflow-scroll-past-max.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208160

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257265 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[iOS] Use one telemetry decoration for each sandbox rule
pvollan@apple.com [Mon, 24 Feb 2020 23:18:59 +0000 (23:18 +0000)]
[iOS] Use one telemetry decoration for each sandbox rule
https://bugs.webkit.org/show_bug.cgi?id=207897

Reviewed by Brent Fulgham.

Currently, we are using the decorations '(with telemetry)' and '(with telemetry-backtrace)' for some sandbox rules
in the WebContent process' sandbox. Only one of the two decorations should be used.

No new tests, no behavior change.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[GTK] Gardening, mark several tests as flaky
dpino@igalia.com [Mon, 24 Feb 2020 23:15:10 +0000 (23:15 +0000)]
[GTK] Gardening, mark several tests as flaky
https://bugs.webkit.org/show_bug.cgi?id=208140

Unreviewed gardening.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257261 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed, updating LLDB test for CompactPointerTuple.
ysuzuki@apple.com [Mon, 24 Feb 2020 22:46:02 +0000 (22:46 +0000)]
Unreviewed, updating LLDB test for CompactPointerTuple.
https://bugs.webkit.org/show_bug.cgi?id=207827

* lldb/lldb_webkit.py:
(WTFCompactPointerTupleProvider):
(WTFCompactPointerTupleProvider.update):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257257 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoChanged results due to ANGLE use
lawrence.j@apple.com [Mon, 24 Feb 2020 22:32:05 +0000 (22:32 +0000)]
Changed results due to ANGLE use
https://bugs.webkit.org/show_bug.cgi?id=207858

Unreviewed test gardening.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257256 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months ago[WebAccessibilityObjectWrapper updateObjectBackingStore] should return the backing...
andresg_22@apple.com [Mon, 24 Feb 2020 22:18:59 +0000 (22:18 +0000)]
[WebAccessibilityObjectWrapper updateObjectBackingStore] should return the backing object.
https://bugs.webkit.org/show_bug.cgi?id=208153

Reviewed by Chris Fleizach.

Covered by existing tests.

Currently in many WebAccessibilityObjectWrapper's methods we call
updateObjectBackingStore followed by one or more calls to
axBackingObject. This patch eliminates this unnecessary call by making
updateObjectBackingStore return the backing object. It also cleans up
other unnecessary calls to axBackingObject and does some minor code
cleanup.

* accessibility/mac/WebAccessibilityObjectWrapperBase.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityFocusedUIElement]):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper _accessibilityPerformPressAction]):
(-[WebAccessibilityObjectWrapper _accessibilityPerformIncrementAction]):
(-[WebAccessibilityObjectWrapper _accessibilityPerformDecrementAction]):
(-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):
(-[WebAccessibilityObjectWrapper accessibilityReplaceRange:withText:]):
(-[WebAccessibilityObjectWrapper accessibilityInsertText:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
(-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
(-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257255 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoTemporarily disable in-process cookie cache as it seems to be causing hangs on iOS
cdumez@apple.com [Mon, 24 Feb 2020 22:08:30 +0000 (22:08 +0000)]
Temporarily disable in-process cookie cache as it seems to be causing hangs on iOS
https://bugs.webkit.org/show_bug.cgi?id=208152
<rdar://problem/59706587>

Reviewed by Alex Christensen.

* Shared/WebPreferences.yaml:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257254 268f45cc-cd09-0410-ab3c-d52691b4dbfc