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

Timeline



Oct 12, 2019:

11:26 PM Changeset in webkit [251057] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

[iOS] Crash in WebCore::DOMWindow::incrementScrollEventListenersCount
https://bugs.webkit.org/show_bug.cgi?id=202878

Reviewed by Alex Christensen.

Source/WebCore:

Added the missing null check in tryAddEventListener and tryRemoveEventListener for scroll event.

Test: fast/events/scroll-event-on-document-without-window.html

  • dom/Node.cpp:

(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):

LayoutTests:

Added a regression test for the crash.

  • fast/events/scroll-event-on-document-without-window-expected.txt: Added.
  • fast/events/scroll-event-on-document-without-window.html: Added.
10:35 PM Changeset in webkit [251056] by stephan.szabo@sony.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Regression (251018): Wincairo build broken: unresolved external symbol
https://bugs.webkit.org/show_bug.cgi?id=202879

Reviewed by Alex Christensen.

  • PlatformWin.cmake: Add dxgi library for CreateDXGIFactory1
6:39 PM Changeset in webkit [251055] by Simon Fraser
  • 10 edits
    1 delete in trunk/Source/WebCore

Move CSSReflectionDirection into RenderStyleConstants as ReflectionDirection
https://bugs.webkit.org/show_bug.cgi?id=202886

Reviewed by Sam Weinig.

Make CSSReflectionDirection an enum class ReflectionDirection, and fix the usage sites.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForReflection):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ReflectionDirection const):
(WebCore::CSSPrimitiveValue::operator CSSReflectionDirection const): Deleted.

  • css/CSSReflectionDirection.h: Removed.
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::reflectionOffset const):
(WebCore::RenderBox::reflectedRect const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleReflection.h:

(WebCore::StyleReflection::direction const):
(WebCore::StyleReflection::setDirection):
(WebCore::StyleReflection::StyleReflection):

6:14 PM Changeset in webkit [251054] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the spelling of ThreeDDarkDhasowColor and unwrap the ThemeType enums
https://bugs.webkit.org/show_bug.cgi?id=202887

Reviewed by Wenson Hsieh.

ThreeDDarkDhasowColor was misspelled, and one enum value per line please.

  • platform/ThemeTypes.h:
4:40 PM Changeset in webkit [251053] by Chris Dumez
  • 89 edits in trunk/Source/WebCore

Add [ActiveDOMObject] to IDLs of ActiveDOMObjects
https://bugs.webkit.org/show_bug.cgi?id=202869

Reviewed by Ryosuke Niwa.

Add [ActiveDOMObject] to IDLs of ActiveDOMObjects, this is necessary so that the wrapper
stays alive as long as ActiveDOMObject::hasPendingActivity() returns true. We may have
subtle lifetime bugs otherwise.

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeySession.idl:
  • Modules/entriesapi/FileSystemDirectoryReader.idl:
  • Modules/entriesapi/FileSystemEntry.idl:
  • Modules/geolocation/Geolocation.idl:
  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/paymentrequest/PaymentResponse.idl:
  • Modules/webvr/VRDisplay.h:
  • Modules/webvr/VRDisplay.idl:
  • workers/service/ServiceWorkerContainer.idl:
3:05 PM Changeset in webkit [251052] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Implement TextStream-based dumping for all the RenderStyle and SVGRenderStyle enum classes
https://bugs.webkit.org/show_bug.cgi?id=202877

Reviewed by Dean Jackson.

Make style-related enum classes dumpable with TextStream, and make some SVG style-related
classes dumpable.

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/SVGRenderStyleDefs.cpp:

(WebCore::operator<<):

  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/style/ShadowData.cpp:

(WebCore::operator<<):

  • rendering/style/ShadowData.h:
2:04 PM Changeset in webkit [251051] by Chris Dumez
  • 88 edits in trunk/Source/WebCore

Unreviewed, rolling out r251040.

Broke IDB tests in Debug

Reverted changeset:

"Add [ActiveDOMObject] to IDLs of ActiveDOMObjects"
https://bugs.webkit.org/show_bug.cgi?id=202869
https://trac.webkit.org/changeset/251040

1:34 PM Changeset in webkit [251050] by rniwa@webkit.org
  • 10 edits
    6 adds in trunk

Source/WebCore:
Invoke callbacks registered by requestIdleCallback
https://bugs.webkit.org/show_bug.cgi?id=202824

Reviewed by Antti Koivisto.

Invoke callbacks registered by requestIdleCallback unless it's canceled.

To do this, this patch introduces WindowEventLoop class, which represents the HTML5 event loop:
https://html.spec.whatwg.org/multipage/webappapis.html#window-event-loop

Because each and only each agent cluster is meant to have its own window event loop, this class will be shared
across multiple documents of the same registrable domain:
https://html.spec.whatwg.org/multipage/webappapis.html#integration-with-the-javascript-agent-cluster-formalism

Tests: requestidlecallback/requestidlecallback-is-called.html

requestidlecallback/requestidlecallback-is-not-called-when-canceled.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::eventLoop): Added.
(WebCore::Document::requestIdleCallback): Associate IdleCallbackController with this document.

  • dom/Document.h:

(WebCore::Document::idleCallbackController): Added. Used for release assertions.

  • dom/IdleCallbackController.cpp:

(WebCore::IdleCallbackController::IdleCallbackController): Keeps a weak pointer to Document.
(WebCore::IdleCallbackController::queueIdleCallback):
(WebCore::IdleCallbackController::removeIdleCallback):
(WebCore::IdleCallbackController::queueTaskToStartIdlePeriod): Added.
(WebCore::IdleCallbackController::startIdlePeriod): Added. Implements the start an idle period algorithm:
https://w3c.github.io/requestidlecallback/#start-an-idle-period-algorithm
(WebCore::IdleCallbackController::queueTaskToInvokeIdleCallbacks): Added.
(WebCore::IdleCallbackController::invokeIdleCallbacks): Added. The invoke idle callback timeout algorithm:
https://w3c.github.io/requestidlecallback/#invoke-idle-callback-timeout-algorithm

  • dom/IdleCallbackController.h:
  • dom/IdleDeadline.h:
  • dom/WindowEventLoop.cpp: Added.

(WebCore::WindowEventLoop::create): Added.
(WebCore::WindowEventLoop::WindowEventLoop): Added.
(WebCore::WindowEventLoop::queueTask): Added.
(WebCore::WindowEventLoop::run): Added.

  • dom/WindowEventLoop.h: Added.
  • page/Page.cpp:

(WebCore::Page::updateRendering): Added comments for the missing pieces.

LayoutTests:
Invoke callback registered by requestIdleCallback
https://bugs.webkit.org/show_bug.cgi?id=202824

Reviewed by Antti Koivisto.

Added basic regression tests. The second test (requestidlecallback-is-not-called-when-canceled.html)
found a spec bug (https://github.com/w3c/requestidlecallback/issues/83).

  • requestidlecallback/requestidlecallback-is-called-expected.txt: Added.
  • requestidlecallback/requestidlecallback-is-called.html: Added.
  • requestidlecallback/requestidlecallback-is-not-called-when-canceled-expected.txt: Added.
  • requestidlecallback/requestidlecallback-is-not-called-when-canceled.html: Added.
12:17 PM Changeset in webkit [251049] by Chris Dumez
  • 9 edits in trunk

Back/Forward cache does not work after doing a favorite navigation
https://bugs.webkit.org/show_bug.cgi?id=202762
<rdar://problem/56126911>

Reviewed by Antti Koivisto.

Source/WebCore:

When a subframe goes into the page cache, make sure we null out the opener
link of any windows that were opened by this frame. This matches what would
happened if this frame were closed.

Covered by the following API tests:
ProcessSwap.PageCacheAfterProcessSwapByClient
ProcessSwap.OpenerLinkAfterAPIControlledProcessSwappingOfOpener

  • history/CachedFrame.cpp:

(WebCore::CachedFrame::CachedFrame):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::~FrameLoader):
(WebCore::FrameLoader::detachFromAllOpenedFrames):

  • loader/FrameLoader.h:

Source/WebKit:

When a process-swap was forced by the client, we would always close the page in the previous
process after navigating. This would prevent leveraging the back/forward cache when navigating
back after such a process-swap. The reason we were doing this is that other pages may have
opener link to this page and closing the page was an easy way to break this opener link.

To address the issue, we no longer close the previous page when a process-swap is forced by the
client. Instead, we make sure to disconnect the frames' openees from their opener then the opener
enters the page cache.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::suspendCurrentPageIfPossible):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::suspendForProcessSwap):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
9:17 AM Changeset in webkit [251048] by Chris Dumez
  • 10 edits in trunk/Source/WebKit

Clearing Website data for a given session should not shut down cached processes for other sessions
https://bugs.webkit.org/show_bug.cgi?id=202865
<rdar://problem/56202912>

Reviewed by Antti Koivisto.

When clearing Website data for a given data store, we now only clear cached processes
(either if BackForwardCache or WebProcessCache) if they are associated with this
particular data store. It is very wasteful otherwise.

  • UIProcess/ProvisionalPageProxy.cpp:

(WebKit::ProvisionalPageProxy::~ProvisionalPageProxy):

  • UIProcess/SuspendedPageProxy.cpp:

(WebKit::SuspendedPageProxy::~SuspendedPageProxy):
ProvisionalPageProxy & SuspendedPageProxy's destructors no longer call
WebProcessProxy::maybeShutdown() asynchronously. We now call maybeShutdown()
synchronously in WebProcessProxy::decrementSuspendedPageCount() and
WebProcessProxy::removeProvisionalPageProxy() instead. This makes things a
lot more predictable.

  • UIProcess/WebBackForwardCache.cpp:

(WebKit::WebBackForwardCache::removeEntriesForSession):
Add new removeEntriesForSession() method to clear only back / forward cache
entries associated with a particular session.

(WebKit::WebBackForwardCache::clear):
Stop taking a parameter indicating if we allow the processes to enter the
process cache. Now that we call maybeShutdown() synchronously when destroying
a SuspendedPageProxy, we can simply allow the processes to enter the process
cache unconditionally. If the caller does not want this processes in the page
cache, they can clear the process cache afterwards.

  • UIProcess/WebBackForwardCache.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
Now that destroying a SuspendedPageProxy or a ProvisionalPageProxy may shutdown
their process synchronously, add a scope here to prevent shutdown of the process
for the duration of this scope, since we're about to use it for a navigation and
we don't want it to get shutdown, even if there is no longer anything using it.

(WebKit::WebPageProxy::continueNavigationInNewProcess):
Add new assertion and rename parameter for consistency.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::handleMemoryPressureWarning):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addProvisionalPageProxy):
Add new assertion.

(WebKit::WebProcessProxy::removeProvisionalPageProxy):
Call maybeShutDown() if this was the last provisional page.

(WebKit::WebProcessProxy::maybeShutDown):
Drop parameter indicating if we want to allow the process to enter the process
cache and allow caching unconditionally.

(WebKit::WebProcessProxy::canTerminateAuxiliaryProcess):
Prevent termination if there is a ScopePreventingShutdown.

(WebKit::WebProcessProxy::decrementSuspendedPageCount):
Call maybeShutDown() if this was the last suspended page.

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::ScopePreventingShutdown::ScopePreventingShutdown):
(WebKit::WebProcessProxy::ScopePreventingShutdown::~ScopePreventingShutdown):
(WebKit::WebProcessProxy::makeScopePreventingShutdown):
Add new facility to prevent shutdown of a process for the duration of the scope.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):
When removing website data, only clear cached processes if they are associated with
the current data store.

7:29 AM WebKitGTK/2.26.x edited by Michael Catanzaro
(diff)
2:19 AM Changeset in webkit [251047] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKitLegacy/win

requestIdleCallback is not enabled in DumpRenderTree on Windows
https://bugs.webkit.org/show_bug.cgi?id=202876

Address the forgotten review comment.

  • WebPreferenceKeysPrivate.h:
2:16 AM Changeset in webkit [251046] by rniwa@webkit.org
  • 8 edits in trunk

Source/WebKitLegacy/win:
requestIdleCallback is not enabled in DumpRenderTree on Windows
https://bugs.webkit.org/show_bug.cgi?id=202876

Reviewed by Wenson Hsieh.

Added the missing plumbing to enable requestIdleCallback.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::requestIdleCallbackEnabled):
(WebPreferences::setRequestIdleCallbackEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Tools:
requestIdleCallback cannot be enabled in DumpRenderTree on Windows
https://bugs.webkit.org/show_bug.cgi?id=202876

Reviewed by Wenson Hsieh.

Added the missing plumbing for Windows port.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(setWebPreferencesForTestOptions):

12:57 AM Changeset in webkit [251045] by Chris Fleizach
  • 11 edits in trunk/Source

AX: Make AXIsolatedTree compile again
https://bugs.webkit.org/show_bug.cgi?id=202702
<rdar://problem/56084968>

Reviewed by Joanmarie Diggs.

Source/WebCore:

Fix compilation and runtime issues when building with ACCESSIBILITY_ISOLATED_TREE.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::treePageCache):
(WebCore::AXIsolatedTree::nodeForID const):

  • Remove release assert here because the initial request that comes through happens on the main thread. We need to handle that case specific case.

(WebCore::AXIsolatedTree::applyPendingChanges):
(WebCore::AXIsolatedTree::initializePageTreeForID): Deleted.
(WebCore::AXIsolatedTree::setInitialRequestInProgress): Deleted.

  • accessibility/isolatedtree/AXIsolatedTree.h:
  • accessibility/isolatedtree/AXIsolatedTreeNode.cpp:

(WebCore::AXIsolatedTreeNode::rectAttributeValue const):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(convertToNSArray):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper childrenVectorArray]):

Source/WebKit:

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:

(-[WKAccessibilityWebPageObjectBase isolatedTreeRootObject]):

Oct 11, 2019:

11:35 PM Changeset in webkit [251044] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Windows build fix attempt after r251043.

  • dom/ShadowRoot.cpp:
11:09 PM Changeset in webkit [251043] by rniwa@webkit.org
  • 9 edits
    14 adds in trunk

Add the support for ShadowRoot.delegateFocus
https://bugs.webkit.org/show_bug.cgi?id=166484
<rdar://problem/29816058>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Import W3C tests from https://github.com/web-platform-tests/wpt/pull/18035/commits/a8a89f224f2170723170a452cb18b46cafb723b6.

  • web-platform-tests/resources/testdriver-vendor.js:
  • web-platform-tests/shadow-dom/focus/click-focus-delegatesFocus-click-method-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/click-focus-delegatesFocus-click-method.html: Added.
  • web-platform-tests/shadow-dom/focus/click-focus-delegatesFocus-tabindex-varies-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/click-focus-delegatesFocus-tabindex-varies.html: Added.
  • web-platform-tests/shadow-dom/focus/click-focus-delegatesFocus-tabindex-zero-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/click-focus-delegatesFocus-tabindex-zero.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-method-delegatesFocus-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-method-delegatesFocus.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-negative-delegatesFocus-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-negative-delegatesFocus.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-varying-delegatesFocus-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-varying-delegatesFocus.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-delegatesFocus-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-delegatesFocus.html: Added.

Source/WebCore:

Implement delegatesFocus as specified in https://github.com/whatwg/html/pull/4796

When the shadow root of an element has delegates focus flag set, focusing on the shadow host would automatically
"delegates" focus to the first focusable element in the shadow tree instead.

The first focusable element is determined as the first element that is programatically focusable or mouse focusable
in the flat tree (composed tree in WebKit's terminology) in the case of the element getting focused via DOM API,
Element.prototype.focus, by via mouse down. In the case of sequential focus navigation (via tab key), it's the
first keyboard focusable element in the tabIndex order.

Tests: imported/w3c/web-platform-tests/shadow-dom/focus/click-focus-delegatesFocus-click-method.html

imported/w3c/web-platform-tests/shadow-dom/focus/click-focus-delegatesFocus-tabindex-varies.html
imported/w3c/web-platform-tests/shadow-dom/focus/click-focus-delegatesFocus-tabindex-zero.html
imported/w3c/web-platform-tests/shadow-dom/focus/focus-method-delegatesFocus.html
imported/w3c/web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-negative-delegatesFocus.html
imported/w3c/web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-varying-delegatesFocus.html
imported/w3c/web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-delegatesFocus.html

  • dom/Element.cpp:

(WebCore::Element::isKeyboardFocusable const): A shadow host with the delegates focus flag is not considered as
keyboard focusable. The rest is taken care of by the existing logic in FocusController.
(WebCore::isProgramaticallyFocusable): Extracted from Element::focus.
(WebCore::findFirstProgramaticallyFocusableElementInComposedTree): Added.
(WebCore::Element::focus): Added the support for delegatesFocus.

  • dom/Element.h:

(WebCore::ShadowRootInit::delegatesFocus): Added.

  • dom/Element.idl: Ditto.
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot): Added delegatesFocus to the constructor.

  • dom/ShadowRoot.h:
  • page/EventHandler.cpp:

(WebCore::findFirstMouseFocusableElementInComposedTree): Added.
(WebCore::EventHandler::dispatchMouseEvent): Added the support for delegatesFocus. Uses the first mouse focusable
element in the flat tree (composed tree) order.

  • page/FocusController.cpp:

(WebCore::FocusController::findFirstFocusableElementInShadowRoot):

  • page/FocusController.h:
10:43 PM Changeset in webkit [251042] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

[iOS Debug] Layout Test editing/execCommand/print.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=196654
<rdar://problem/49652875>

Removed the skip expectation since the test is no longer crashing in my local testing.

  • platform/ios-simulator-wk2/TestExpectations:
10:07 PM Changeset in webkit [251041] by commit-queue@webkit.org
  • 36 edits in trunk/Source

Cleanup RuntimeEnabledFeatures includes
https://bugs.webkit.org/show_bug.cgi?id=202857

Patch by Rob Buis <rbuis@igalia.com> on 2019-10-11
Reviewed by Eric Carlson.

These classes must have had made use of runtime flags before
but are not using them anymore.

Source/WebCore:

  • Modules/mediastream/MediaDevices.cpp:
  • Modules/mediastream/RTCRtpSender.cpp:
  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:
  • accessibility/AccessibilityObject.cpp:
  • css/CSSComputedStyleDeclaration.cpp:
  • css/MediaQueryEvaluator.cpp:
  • css/MediaQueryExpression.cpp:
  • css/parser/CSSParser.cpp:
  • dom/ContainerNode.cpp:
  • dom/EventTarget.cpp:
  • dom/Position.cpp:
  • dom/PseudoElement.cpp:
  • dom/TreeScope.cpp:
  • dom/ViewportArguments.cpp:
  • history/CachedFrame.cpp:
  • html/HTMLPlugInElement.cpp:
  • html/HTMLStyleElement.cpp:
  • html/HTMLTrackElement.cpp:
  • inspector/agents/InspectorNetworkAgent.cpp:
  • loader/ResourceLoadNotifier.cpp:
  • page/DOMWindow.cpp:
  • page/EventHandler.cpp:
  • page/PointerLockController.cpp:
  • page/csp/ContentSecurityPolicy.cpp:
  • page/scrolling/ScrollingCoordinator.cpp:
  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
  • rendering/RenderFlexibleBox.cpp:
  • rendering/style/RenderStyle.cpp:
  • rendering/updating/RenderTreeUpdater.cpp:

Source/WebKit:

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
  • UIProcess/WebAuthentication/Cocoa/LocalService.mm:
  • UIProcess/WebProcessPool.cpp:
9:55 PM Changeset in webkit [251040] by Chris Dumez
  • 88 edits in trunk/Source/WebCore

Add [ActiveDOMObject] to IDLs of ActiveDOMObjects
https://bugs.webkit.org/show_bug.cgi?id=202869

Reviewed by Ryosuke Niwa.

Add [ActiveDOMObject] to IDLs of ActiveDOMObjects, this is necessary so that the wrapper
stays alive as long as ActiveDOMObject::hasPendingActivity() returns true. We may have
subtle lifetime bugs otherwise.

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeySession.idl:
  • Modules/entriesapi/FileSystemDirectoryReader.idl:
  • Modules/entriesapi/FileSystemEntry.idl:
  • Modules/geolocation/Geolocation.idl:
  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/paymentrequest/PaymentResponse.idl:
  • Modules/webvr/VRDisplay.h:
  • Modules/webvr/VRDisplay.idl:
  • workers/service/ServiceWorkerContainer.idl:
8:57 PM Changeset in webkit [251039] by Devin Rousso
  • 18 edits
    2 adds in trunk

Web Inspector: Debugger: support pattern blackboxing
https://bugs.webkit.org/show_bug.cgi?id=198855

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Allow scripts to be blackboxed based on URL patterns (in addition to individual URLs) which
can be extremely useful when trying to step through unminified library/framework code.

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::enable):
(Inspector::InspectorDebuggerAgent::setShouldBlackboxURL):
(Inspector::InspectorDebuggerAgent::shouldBlackboxURL const): Added.
(Inspector::InspectorDebuggerAgent::didParseSource):

  • inspector/protocol/Debugger.json:

Add caseSensitive and isRegex optional boolean parameters to setShouldBlackboxURL.

Source/WebInspectorUI:

Allow scripts to be blackboxed based on URL patterns (in addition to individual URLs) which
can be extremely useful when trying to step through unminified library/framework code.

  • UserInterface/Controllers/DebuggerManager.js:

(WI.DebuggerManager):
(WI.DebuggerManager.prototype.initializeTarget):
(WI.DebuggerManager.prototype.blackboxTypeForSourceCode): Added.
(WI.DebuggerManager.prototype.get blackboxPatterns): Added.
(WI.DebuggerManager.prototype.setShouldBlackboxScript):
(WI.DebuggerManager.prototype.setShouldBlackboxPattern): Added.
(WI.DebuggerManager.prototype.isScriptBlackboxed): Deleted.
Provide a separate path for setting URL pattern blackboxes, rather than an exact/given URL.

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView):
(WI.SettingsTabContentView.prototype.selectBlackboxPattern): Added.
(WI.SettingsTabContentView.prototype.initialLayout):
(WI.SettingsTabContentView.prototype._createSourcesSettingsView):

  • UserInterface/Views/BlackboxSettingsView.js: Added.

(WI.BlackboxSettingsView):
(WI.BlackboxSettingsView.prototype.selectBlackboxPattern):
(WI.BlackboxSettingsView.prototype.initialLayout):
(WI.BlackboxSettingsView.prototype._addRow):

  • UserInterface/Views/BlackboxSettingsView.css: Added.

(.settings-view.blackbox > :matches(p, table)):
(.settings-view.blackbox > p):
(.settings-view.blackbox > * + p):
(.settings-view.blackbox > p:last-child):
(.settings-view.blackbox > p > .toggle-script-blackbox):
(.settings-view.blackbox > table):
(.settings-view.blackbox > table > thead th):
(.settings-view.blackbox > table > tbody td):
(.settings-view.blackbox > table > tbody td:not(.remove-blackbox)):
(.settings-view.blackbox > table :matches(th, td).url):
(.settings-view.blackbox > table > tbody td.url > .CodeMirror):
(.settings-view.blackbox > table :matches(th, td):matches(.case-sensitive, .remove-blackbox)):
(.settings-view.blackbox > table > tbody > tr:not(:hover) > td.remove-blackbox):
(.settings-view.blackbox > table > tbody td.remove-blackbox > .remove-blackbox-button):
Add a "Blackbox" pane that contains an editable table of pattern blackboxes, each having its
own row (code mirror for the URL regular expression and a checkbox for case sensitivity).

  • UserInterface/Views/SourceCodeTreeElement.js:

(WI.SourceCodeTreeElement.prototype.updateStatus):
(WI.SourceCodeTreeElement.prototype._updateSourceCode):
(WI.SourceCodeTreeElement.prototype._updateToggleBlackboxImageElementState):
(WI.SourceCodeTreeElement.prototype._handleToggleBlackboxedImageElementClicked):

  • UserInterface/Views/SourceCodeTreeElement.css:

(.tree-outline .item .status > .toggle-script-blackbox, .tree-outline:focus .item.selected .status > .toggle-script-blackbox.pattern-blackboxed): Added.
(.tree-outline .item .status > .toggle-script-blackbox.pattern-blackboxed): Added.
(.tree-outline .item .status > .toggle-script-blackbox): Added.
(.tree-outline .item .status > .toggle-script-blackbox:not(.pattern-blackboxed)): Added.
(.tree-outline .item .status > .toggle-script-blackbox:not(.url-blackboxed, .pattern-blackboxed)): Added.
(.tree-outline:not(.navigation-sidebar-panel-content-tree-outline) .item .status > .toggle-script-blackbox, .tree-outline .item:not(:hover) .status > .toggle-script-blackbox:not(.pattern-blackboxed, .url-blackboxed)): Added.
(@media (prefers-color-scheme: dark) .tree-outline .item .status > .toggle-script-blackbox): Added.
(@media (prefers-color-scheme: dark) .tree-outline .item .status > .toggle-script-blackbox.pattern-blackboxed): Added.
(@media (prefers-color-scheme: dark) .tree-outline .item .status > .toggle-script-blackbox:not(.pattern-blackboxed)): Added.
(.tree-outline .item .status > .toggle-script-blackboxed): Deleted.
(.tree-outline:not(.navigation-sidebar-panel-content-tree-outline) .item .status > .toggle-script-blackboxed, .tree-outline .item:not(:hover) .status > .toggle-script-blackboxed:not(.blackboxed)): Deleted.
(.tree-outline:focus .item.selected .status > .toggle-script-blackboxed): Deleted.
(.tree-outline .item .status > .toggle-script-blackboxed.blackboxed): Deleted.
(@media (prefers-color-scheme: dark) .tree-outline .item .status > .toggle-script-blackboxed): Deleted.

  • UserInterface/Views/ShaderProgramTreeElement.css:

(.tree-outline .item.shader-program .status > img):
(.tree-outline .item.shader-program:not(:hover, .disabled) .status > img): Added.
(.tree-outline .item.shader-program:not(.disabled) .status > img): Added.
(@media (prefers-color-scheme: dark) .tree-outline .item.shader-program .status > img):
(.tree-outline .item.shader-program:not(:hover, .selected, .disabled) .status > img): Deleted.
(.tree-outline:focus .item.shader-program.selected .status > img): Deleted.
(.tree-outline .item.shader-program.disabled .status > img): Deleted.

  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForSourceCode):

  • UserInterface/Images/Hide.svg:

Use a slightly different style for the blackbox icon if the source code's URL matches a
blackbox pattern. Clicking on the blackbox icon in this state will show the Settings Tab.

  • UserInterface/Base/Main.js:

(WI.contentLoaded):
(WI._handleSettingsKeyboardShortcut): Added.
(WI.showSettingsTab): Added.
(WI._showSettingsTab): Deleted.

  • Localizations/en.lproj/localizedStrings.js:

LayoutTests:

  • inspector/debugger/setShouldBlackboxURL.html:
  • inspector/debugger/setShouldBlackboxURL-expected.txt:
8:40 PM Changeset in webkit [251038] by Devin Rousso
  • 11 edits
    2 adds in trunk

Web Inspector: Elements: Computed: show shorthand properties in addition to longhand ones
https://bugs.webkit.org/show_bug.cgi?id=200554

Reviewed by Matt Baker.

Source/WebCore:

Test: inspector/css/getComputedStyleForNode.html

Include additional CSS.CSSComputedStyleProperty items for shorthand CSS properties when
calling CSS.getComputedStyleForNode.

  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::buildArrayForComputedStyle const):
(WebCore::InspectorStyle::collectProperties const): Added.
(WebCore::InspectorStyle::styleWithProperties const):
(WebCore::InspectorStyle::populateAllProperties const): Deleted.

Source/WebInspectorUI:

Replace the "Show All [ ]" checkbox header option in the "Properties" section with a filter
icon that controls both "Show All" and "Prefer Shorthands", the latter of which will cause
any longhand properties to be hidden and their respective shorthands to be shown.

  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty):
(WI.CSSProperty.prototype.update):
(WI.CSSProperty.prototype.get isVariable): Added.
(WI.CSSProperty.prototype.get isShorthand): Added.
(WI.CSSProperty.prototype.get shorthandPropertyNames): Added.
(WI.CSSProperty.prototype.get variable): Deleted.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WI.ComputedStyleDetailsPanel):
(WI.ComputedStyleDetailsPanel.prototype.applyFilter):
(WI.ComputedStyleDetailsPanel.prototype.initialLayout):
(WI.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged): Deleted.

  • UserInterface/Views/ComputedStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style > .content > .computed > .details-section): Added.
(.sidebar > .panel.details.css-style > .content > .computed > .details-section > .content): Added.
(.sidebar > .panel.details.css-style > .content > .computed .spreadsheet-style-declaration-editor): Added.
(.sidebar > .panel.details.css-style > .content > .computed .property): Added.
(.sidebar > .panel.details.css-style > .content > .computed .property .go-to-arrow): Added.
(.sidebar > .panel.details.css-style > .content > .computed .property:not(:hover) .go-to-arrow): Added.
(.sidebar > .panel.details.css-style > .content > .computed .details-section:matches(.computed-style-properties, .computed-style-variables)): Deleted.
(.sidebar > .panel.details.css-style > .content > .computed .details-section:matches(.computed-style-properties, .computed-style-variables) .property): Deleted.
(.sidebar > .panel.details.css-style > .content > .computed .details-section:matches(.computed-style-properties, .computed-style-variables) .property .go-to-arrow): Deleted.
(.sidebar > .panel.details.css-style > .content > .computed .details-section:matches(.computed-style-properties, .computed-style-variables) .property:not(:hover) .go-to-arrow): Deleted.
(.sidebar > .panel.details.css-style > .content > .computed .details-section:matches(.computed-style-properties, .computed-style-variables) > .content): Deleted.

  • UserInterface/Views/ComputedStyleSection.js:

(WI.ComputedStyleSection):
(WI.ComputedStyleSection.prototype.set showsShorthandsInsteadOfLonghands): Added.
(WI.ComputedStyleSection.prototype.get propertiesToRender):
(WI.ComputedStyleSection.prototype.set propertyVisibilityMode): Deleted.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype.update):
(WI.SpreadsheetStyleProperty.prototype._replaceSpecialTokens):

  • Localizations/en.lproj/localizedStrings.js:

LayoutTests:

  • inspector/css/getComputedStyleForNode.html: Added.
  • inspector/css/getComputedStyleForNode-expected.txt: Added.
7:57 PM Changeset in webkit [251037] by commit-queue@webkit.org
  • 4 edits in trunk/Source/ThirdParty/ANGLE

USE_ANGLE=1 build broken with last ANGLE roll
https://bugs.webkit.org/show_bug.cgi?id=202872

Add FrameCapture_mock.cpp to Xcode and CMake builds.

Patch by Kenneth Russell <kbr@chromium.org> on 2019-10-11
Reviewed by Alex Christensen.

  • ANGLE.xcodeproj/project.pbxproj:
  • CMakeLists.txt:
  • GLESv2.cmake:
7:51 PM Changeset in webkit [251036] by rniwa@webkit.org
  • 22 edits
    8 deletes in trunk/Source

Make WebInspector's remote debug EventLoop code into RunLoop
https://bugs.webkit.org/show_bug.cgi?id=202716

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Updated the code to use RunLoop::cycle instead of now deleted EventLoop class.

The runloop mode used in Apple's port is moved to RemoteInspectionTarget::runLoopMode
with a special case for watchOS.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • inspector/JSGlobalObjectScriptDebugServer.cpp:

(Inspector::JSGlobalObjectScriptDebugServer::runEventLoopWhilePaused):
(Inspector::JSGlobalObjectScriptDebugServer::runLoopMode): Added.

  • inspector/remote/RemoteInspectionTarget.cpp:

(Inspector::RemoteInspectionTarget::pauseWaitingForAutomaticInspection):
Invoke CFRunLoopAddSource with the runloop mode only expcet on watchOS where
we use the default runloop anyway.

  • inspector/remote/RemoteInspectionTarget.h:
  • inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:

(Inspector::RemoteTargetInitializeGlobalQueue):
(Inspector::RemoteConnectionToTarget::setupRunLoop):
(Inspector::RemoteConnectionToTarget::teardownRunLoop):

Source/WebCore:

Use RunLoop::cycle.

  • PlatformFTW.cmake:
  • PlatformPlayStation.cmake:
  • PlatformWin.cmake:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):

  • platform/SourcesGLib.txt:
  • platform/glib/EventLoopGlib.cpp: Removed.
  • platform/playstation/EventLoopPlayStation.cpp: Removed.
  • platform/win/EventLoopWin.cpp: Removed.

Source/WTF:

This patch merges WebInspector's EventLoop code into RunLoop as a static function.

  • wtf/RunLoop.h:

(WTF::RunLoop::cycle):

  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::cycle): Added.

  • wtf/generic/RunLoopGeneric.cpp:

(WTF::RunLoop::cycle): Added.

  • wtf/glib/RunLoopGLib.cpp:

(WTF::RunLoop::cycle): Added.

  • wtf/win/RunLoopWin.cpp:

(WTF::RunLoop::cycle): Added.

7:48 PM Changeset in webkit [251035] by aestes@apple.com
  • 3 edits in trunk/LayoutTests

[iOS] Unreviewed test gardening

  • platform/ios/TestExpectations: Removed failing expectation.
  • platform/ios/quicklook/numbers-09-expected.txt: Reset expected result.
7:19 PM Changeset in webkit [251034] by rniwa@webkit.org
  • 4 edits in trunk/Source

Make it safe to store a ThreadSafeRefCounted object in Ref & RefPtr safe inside its destructor
https://bugs.webkit.org/show_bug.cgi?id=201576
Source/JavaScriptCore:

<rdar://problem/56001847>

Reviewed by Geoffrey Garen and Mark Lam.

Made DropAllLocks::DropAllLocks check Heap::isShuttingDown instead of VM's refCount being 0 to detect
when VM is getting destroyed.

  • runtime/JSLock.cpp:

(JSC::JSLock::DropAllLocks::DropAllLocks):

Source/WTF:

Reviewed by Geoffrey Garen and Mark Lam.

This patch leaves m_refCount 1 inside the last deref call to ThreadSafeRefCounted
so that storing an instance of this object in Ref or RefPtr would not trigger a recursive delete.

Note: this patch does not try to fix a race condition by which another thread tries to ref()
this object after the "last" call to deref had happened since such a code would ref() this object
long after it had been removed (UAF), nor some code calling deref() before calling ref() inside
a destructor since there is no way to defend against unpaired calls to ref() & deref() like that.

Also added m_deletionHasBegun like RefCounted.

  • wtf/ThreadSafeRefCounted.h:

(WTF::ThreadSafeRefCountedBase::ref const):
(WTF::ThreadSafeRefCountedBase::hasOneRef const):
(WTF::ThreadSafeRefCountedBase::derefBase const):

6:27 PM Changeset in webkit [251033] by aestes@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Unreviewed iPad test expectation gardening.

Un-skip tests in http/tests/paymentrequest/ that no longer time out on iPad.

  • platform/ipad/TestExpectations:
5:20 PM Changeset in webkit [251032] by dino@apple.com
  • 10 edits
    1 delete in trunk

REGRESSION (r244239) Layout Test fast/canvas/canvas-too-large-to-draw.html is failing
https://bugs.webkit.org/show_bug.cgi?id=202870
Source/WebCore:

Reviewed by Simon Fraser.

Add an internal method to specify a fake limit of canvas pixel memory
so our tests produce reproducible results.

  • html/HTMLCanvasElement.cpp:

(WebCore::maxActivePixelMemory):
(WebCore::HTMLCanvasElement::setMaxPixelMemoryForTesting):

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

(WebCore::Internals::setMaxCanvasPixelMemory):

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

LayoutTests:

<rdar://51862629>

Reviewed by Simon Fraser.

The output from this test depends on the amount of RAM on the system, so
modify it to specify a limit for testing which will give reproducible results.

  • fast/canvas/canvas-too-large-to-draw-expected.txt:
  • fast/canvas/canvas-too-large-to-draw.html:
  • platform/ios/fast/canvas/canvas-too-large-to-draw-expected.txt: Removed.
  • platform/ipad/TestExpectations:
5:12 PM Changeset in webkit [251031] by Chris Dumez
  • 7 edits in trunk/Source/WebCore

API Test TestWebKitAPI.WebKit.DefaultQuota is very flaky on High Sierra
https://bugs.webkit.org/show_bug.cgi?id=202850

Reviewed by Alex Christensen.

Make sure the DOMCache / DOMCacheStorage objects stay alive while they have pending
promises to be resolved.

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::hasPendingActivity const):

  • Modules/cache/DOMCache.h:
  • Modules/cache/DOMCache.idl:
  • Modules/cache/DOMCacheStorage.cpp:

(WebCore::DOMCacheStorage::hasPendingActivity const):

  • Modules/cache/DOMCacheStorage.h:
  • Modules/cache/DOMCacheStorage.idl:
4:47 PM Changeset in webkit [251030] by commit-queue@webkit.org
  • 7 edits in trunk/LayoutTests

Layout Test media/W3C/audio/events/event_progress.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=181966
<rdar://problem/51449034>

Patch by Peng Liu <Peng Liu> on 2019-10-11
Reviewed by Alexey Proskuryakov.

Use the option {once: true} in addEventListener instead of a variable to avoid
executing the event handler more than once.

  • media/W3C/audio/events/event_order_loadstart_progress.html:
  • media/W3C/audio/events/event_progress.html:
  • media/W3C/audio/events/event_progress_manual.html:
  • media/W3C/video/events/event_order_loadstart_progress.html:
  • media/W3C/video/events/event_progress.html:
  • media/W3C/video/events/event_progress_manual.html:
4:29 PM Changeset in webkit [251029] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, address post-landing feedback from Darin for r251019.

Added a new comment for clarity.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopForPageCache):

4:17 PM Changeset in webkit [251028] by Dewei Zhu
  • 5 edits in trunk/Websites/perf.webkit.org

Improve test freshness page interaction experience.
https://bugs.webkit.org/show_bug.cgi?id=202684

Reviewed by Ryosuke Niwa.

Change test freshness page show tooltip on click instead of popuping on mouse hover.
And clicking anywhere in 'page-with-heading' section except the tooltip can dismiss tooltip.
Add keyboard support to move focus around including 'Tab' key support.
Add support to use 'Enter' key to show or dismiss tooltip.
Add support to use 'Escape' key to dismiss tooltip.

  • public/shared/common-component-base.js: Added support for link to specify 'tabindex'.

(CommonComponentBase.prototype.createLink):
(CommonComponentBase.createLink):
(CommonComponentBase):

  • public/v3/components/base.js: Added support for customizing whether or not prevent default and stop propagation

while creating event handler.
(ComponentBase.prototype.createEventHandler):
(ComponentBase.createEventHandler):
(ComponentBase):

  • public/v3/components/freshness-indicator.js:

(FreshnessIndicator): Removed 'url' property and removed customization for mouse event.
(FreshnessIndicator.prototype.update):
(FreshnessIndicator.prototype.didConstructShadowTree): Deleted.

  • public/v3/pages/test-freshness-page.js:

(TestFreshnessPage): Changed to show tooltip on click and added key board event.
(TestFreshnessPage.prototype.didConstructShadowTree): Added key event support.
(TestFreshnessPage.prototype._findClosestIndicatorAnchorForCoordinate):
(TestFreshnessPage.prototype.render):
(TestFreshnessPage.prototype._renderTooltip):
(TestFreshnessPage.prototype._constructTableCell): Added tabIndex for each cell that contains freshness indicator.
(TestFreshnessPage.prototype._configureAnchorForIndicator):
(TestFreshnessPage.prototype._clearIndicatorState): Changed the color of links in tooltip to a more readable color.
Added styles when anchor for status cell and links on tooltip are focused.
(TestFreshnessPage.cssTemplate):

2:47 PM Changeset in webkit [251027] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Update build.webkit.org basedir
https://bugs.webkit.org/show_bug.cgi?id=202856

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/buildbot.tac: Updated basedir. Also increased the

size of twistd.log files and reduced number of files for easier maintenance.

2:45 PM Changeset in webkit [251026] by dino@apple.com
  • 3 edits in trunk/LayoutTests

Layout Test fast/events/touch/ios/tap-with-passive-listener-inside-active-listener.html is a Flaky Failure
https://bugs.webkit.org/show_bug.cgi?id=202867
<rdar://52968736>

Reviewed by Wenson Hsieh.

From the failing results, it looks like the event listener for touchend was firing
after the uiScriptController returned its result, which is strange.
I was unable to reproduce this, so I rewrote the test to use UIHelper, which
hopefully will improve the situation (although... is basically the same code).

  • fast/events/touch/ios/tap-with-passive-listener-inside-active-listener-expected.txt:
  • fast/events/touch/ios/tap-with-passive-listener-inside-active-listener.html:
2:26 PM Changeset in webkit [251025] by aakash_jain@apple.com
  • 4 edits in trunk/Tools

[ews] Services EWS should also run build.webkit.org unit tests
https://bugs.webkit.org/show_bug.cgi?id=202864

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/factories.py:

(ServicesFactory.init): Added new RunBuildWebKitUnitTests step.

  • BuildSlaveSupport/ews-build/steps.py:

(CheckPatchRelevance): Added paths for build.webkit.org code.
(RunBuildWebKitUnitTests): Build step to run build.webkit.org unit tests.
(RunBuildWebKitUnitTests.init): Set workdir, timeout and logEnviron.
(RunBuildWebKitUnitTests.getResultSummary): Customize Buildbot messages for this build step.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
1:44 PM Changeset in webkit [251024] by Joseph Pecoraro
  • 27 edits
    1 copy
    2 adds in trunk

Web Inspector: Local Resource Overrides: UI for overriding image and font resource content
https://bugs.webkit.org/show_bug.cgi?id=202016
<rdar://problem/55541475>

Reviewed by Devin Rousso.

Source/WebInspectorUI:

Extend SourceCodeRevision to be a (content, base64Encoded, mimeType) tuple and
make clients update the revision content more explicitly (updateRevisionContent).
This also includes blobContent as a more explicit way to get the content as
a Blob, which may not always be desired.

Switch LocalResource use the originalRevision / currentRevision instead of
keeping its own localContent / localContentIsBase64Encoded properties.

Introduce a DropZoneView to simplify handling of presenting a drop zone
over a specific element. And use it for the ImageResourceContentView for local
resource overrides to accept new content.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

New strings and resources.

  • .eslintrc:
  • UserInterface/Base/BlobUtilities.js: Added.

(WI.BlobUtilities.blobForContent):
(WI.BlobUtilities.decodeBase64ToBlob):
(WI.BlobUtilities.textToBlob):
(WI.BlobUtilities.blobAsText):
(WI.BlobUtilities):

  • UserInterface/Base/FileUtilities.js:

(WI.FileUtilities.async.readDataURL):
(WI.FileUtilities):

  • UserInterface/Base/MIMETypeUtilities.js:

(WI.fileExtensionForFilename):
(WI.fileExtensionForURL):

  • UserInterface/Base/Utilities.js:

Move around or introduce some minor utilities.

  • UserInterface/Models/SourceCodeRevision.js:

(WI.SourceCodeRevision):
(WI.SourceCodeRevision.prototype.get sourceCode):
(WI.SourceCodeRevision.prototype.get content):
(WI.SourceCodeRevision.prototype.get base64Encoded):
(WI.SourceCodeRevision.prototype.get mimeType):
(WI.SourceCodeRevision.prototype.get blobContent):
(WI.SourceCodeRevision.prototype.updateRevisionContent):
(WI.SourceCodeRevision.prototype.copy):
(WI.SourceCodeRevision.prototype.set content): Deleted.
Data is now a (content, base64Encoded, mimeType) tuple.

  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.responseIntercepted):
(WI.NetworkManager.prototype._handleResourceContentDidChange):
(WI.NetworkManager.prototype._persistLocalResourceOverrideSoonAfterContentChange): Deleted.
This is now a unified resource content change path without anything special for
local resource overrides.

  • UserInterface/Models/LocalResource.js:

(WI.LocalResource.prototype.toJSON):
(WI.LocalResource.prototype.requestContentFromBackend):
(WI.LocalResource.prototype.handleCurrentRevisionContentChange):
(WI.LocalResource):
(WI.LocalResource.prototype.get localContent): Deleted.
(WI.LocalResource.prototype.get localContentIsBase64Encoded): Deleted.
(WI.LocalResource.prototype.hasContent): Deleted.
(WI.LocalResource.prototype.setContent): Deleted.
(WI.LocalResource.prototype.updateOverrideContent): Deleted.
Use originalRevision / currentRevision as appropriate.

  • UserInterface/Views/DropZoneView.css: Added.

(.drop-zone):
(.drop-zone.visible):
(@media (prefers-color-scheme: dark)):

  • UserInterface/Views/DropZoneView.js: Added.

(WI.DropZoneView):
(WI.DropZoneView.prototype.get delegate):
(WI.DropZoneView.prototype.get targetElement):
(WI.DropZoneView.prototype.set targetElement):
(WI.DropZoneView.prototype.initialLayout):
(WI.DropZoneView.prototype._startActiveDrag):
(WI.DropZoneView.prototype._stopActiveDrag):
(WI.DropZoneView.prototype._handleDragEnter):
(WI.DropZoneView.prototype._handleDragLeave):
(WI.DropZoneView.prototype._handleDragOver):
(WI.DropZoneView.prototype._handleDrop):
Simplified handling of a drop zone.

  • UserInterface/Views/ResourceContentView.js:

(WI.ResourceContentView.prototype.removeLoadingIndicator):
More safely remove children and subviews.

(WI.ResourceContentView):
(WI.ResourceContentView.prototype.get resource):
(WI.ResourceContentView.prototype.get navigationItems):
(WI.ResourceContentView.prototype.localResourceOverrideInitialContent):
(WI.ResourceContentView.prototype.closed):
(WI.ResourceContentView.prototype.removeLoadingIndicator):
(WI.ResourceContentView.prototype._contentAvailable):
(WI.ResourceContentView.prototype._issueWasAdded):
(WI.ResourceContentView.prototype.async._handleCreateLocalResourceOverride):
(WI.ResourceContentView.prototype._handleRemoveLocalResourceOverride):
(WI.ResourceContentView.prototype._handleLocalResourceOverrideChanged):
(WI.ResourceContentView.prototype._mouseWasClicked):

  • UserInterface/Views/TextResourceContentView.js:

(WI.TextResourceContentView):
(WI.TextResourceContentView.prototype.get navigationItems):
(WI.TextResourceContentView.prototype.localResourceOverrideInitialContent):
(WI.TextResourceContentView.prototype._contentWillPopulate):
(WI.TextResourceContentView.prototype._contentDidPopulate):
(WI.TextResourceContentView.prototype._textEditorContentDidChange):
(WI.TextResourceContentView.prototype._shouldBeEditable):
(WI.TextResourceContentView.prototype.async._handleCreateLocalResourceOverride): Deleted.
(WI.TextResourceContentView.prototype._handleRemoveLocalResourceOverride): Deleted.
(WI.TextResourceContentView.prototype._handleLocalResourceOverrideChanged): Deleted.
Extract generalized local resource override properties into the ResourceContentView base class.

  • UserInterface/Views/FontResourceContentView.css:

(.content-view.resource.font):
(.content-view.resource.font > .drop-zone):
(.content-view.resource.font > .preview-container):
(.content-view.resource.font .preview):

  • UserInterface/Views/FontResourceContentView.js:

(WI.FontResourceContentView):
(WI.FontResourceContentView.prototype.contentAvailable):
(WI.FontResourceContentView.prototype.shown):
(WI.FontResourceContentView.prototype.hidden):
(WI.FontResourceContentView.prototype.closed):
(WI.FontResourceContentView.prototype.layout):
(WI.FontResourceContentView.prototype._updatePreviewElement.createMetricElement):
(WI.FontResourceContentView.prototype._updatePreviewElement):
(WI.FontResourceContentView.prototype.dropZoneShouldAppearForDragEvent):
(WI.FontResourceContentView.prototype.dropZoneHandleDrop):
Create a drop zone that will update the font local resource override content.

  • UserInterface/Views/ImageResourceContentView.css:

(.content-view.resource.image):
(.content-view.resource.image > .drop-zone):
(.content-view.resource.image > .img-container):
(.content-view.resource.image img):

  • UserInterface/Views/ImageResourceContentView.js:

(WI.ImageResourceContentView):
(WI.ImageResourceContentView.prototype.get navigationItems):
(WI.ImageResourceContentView.prototype.contentAvailable):
(WI.ImageResourceContentView.prototype.closed):
(WI.ImageResourceContentView.prototype.dropZoneShouldAppearForDragEvent):
(WI.ImageResourceContentView.prototype.dropZoneHandleDrop):
Create a drop zone that will update the image local resource override content.

  • UserInterface/Models/Script.js:

(WI.Script.prototype.get mimeType):
Seems like this should have a default value given there may not be a resource.

  • UserInterface/Views/LocalResourceOverridePopover.js:

(WI.LocalResourceOverridePopover.prototype.show):
Better handling here, since the utilities expects a number not a string.

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.createObjectURL):

  • UserInterface/Views/LocalResourceOverrideTreeElement.js:

(WI.LocalResourceOverrideTreeElement.prototype.willDismissPopover):
Use currentRevision more appropriately.

  • UserInterface/Models/SourceCode.js:

(WI.SourceCode.prototype._processContent):

  • UserInterface/Views/TextResourceContentView.js:

(WI.TextResourceContentView.prototype._textEditorContentDidChange):

  • UserInterface/Controllers/CSSManager.js:

(WI.CSSManager.prototype._resourceContentDidChange.applyStyleSheetChanges.styleSheetFound):
(WI.CSSManager.prototype._resourceContentDidChange.applyStyleSheetChanges):
(WI.CSSManager.prototype._resourceContentDidChange):
(WI.CSSManager.prototype._updateResourceContent.fetchedStyleSheetContent):
Update revision content more explicitly.

LayoutTests:

  • inspector/unit-tests/mimetype-utilities-expected.txt:
  • inspector/unit-tests/mimetype-utilities.html:

Test new utilities.

  • http/tests/inspector/network/fetch-response-body.html:
  • http/tests/inspector/network/xhr-response-body.html:

Renamed utilities.

1:42 PM Changeset in webkit [251023] by dino@apple.com
  • 3 edits in trunk/LayoutTests

Layout test fast/events/touch/ios/tap-with-active-listener-inside-window-with-passive-listener.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=202863
<rdar://51724211>

Reviewed by Tim Horton.

Another case where we are getting more touchmoves during a drag than we expected.
However, this time we still want to listen, and we can't use { once: true } because
there are multiple sequential drags. Instead, keep a list of the moves we've seen and
only output the first one.

Also, remove the coordinate logging for the move, since it might not be consistent.

  • fast/events/touch/ios/tap-with-active-listener-inside-window-with-passive-listener-expected.txt:
  • fast/events/touch/ios/tap-with-active-listener-inside-window-with-passive-listener.html:
1:40 PM Changeset in webkit [251022] by Chris Dumez
  • 19 edits
    1 copy
    1 add in trunk

Move SuspendedPage logic from WebProcessPool to new WebBackForwardCache class
https://bugs.webkit.org/show_bug.cgi?id=202660

Reviewed by Antti Koivisto.

Source/WebKit:

Move SuspendedPage logic from WebProcessPool to new WebBackForwardCache class. This is
a first step towards implementing back / forward cache handling in the UIProcess.

The following changes were made:

  1. SuspendedPageProxy objects are now normally owned by their associated WebBackForwardListItem (Similarly to CachedPage objects being owned by their HistoryItem in WebCore) instead of the WebProcessPool.
  2. A new WebBackForwardCache class is introduced to cap the number of cached pages and clear them (similary to the PageCache in WebCore).
  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::~WebBackForwardListItem):
(WebKit::WebBackForwardListItem::wasRemovedFromBackForwardList):
(WebKit::WebBackForwardListItem::setSuspendedPage):
(WebKit::WebBackForwardListItem::takeSuspendedPage):
(WebKit::WebBackForwardListItem::suspendedPage const):

  • Shared/WebBackForwardListItem.h:
  • Sources.txt:
  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _maximumSuspendedPageCount]):

  • UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp:
  • UIProcess/SuspendedPageProxy.cpp:

(WebKit::SuspendedPageProxy::findReusableSuspendedPageProcess):
(WebKit::SuspendedPageProxy::SuspendedPageProxy):
(WebKit::SuspendedPageProxy::~SuspendedPageProxy):
(WebKit::SuspendedPageProxy::setBackForwardListItem):
(WebKit::SuspendedPageProxy::clearBackForwardListItem):
(WebKit::SuspendedPageProxy::backForwardCache const):
(WebKit::SuspendedPageProxy::suspensionTimedOut):

  • UIProcess/SuspendedPageProxy.h:
  • UIProcess/WebAuthentication/Mock/MockHidConnection.h:
  • UIProcess/WebAuthentication/Mock/MockHidService.h:
  • UIProcess/WebBackForwardCache.cpp: Added.

(WebKit::WebBackForwardCache::removeOldestEntry):
(WebKit::WebBackForwardCache::setCapacity):
(WebKit::WebBackForwardCache::addEntry):
(WebKit::WebBackForwardCache::removeEntry):
(WebKit::WebBackForwardCache::takeEntry):
(WebKit::WebBackForwardCache::removeEntriesForProcess):
(WebKit::WebBackForwardCache::removeEntriesForPage):
(WebKit::WebBackForwardCache::removeEntriesMatching):
(WebKit::WebBackForwardCache::clear):

  • UIProcess/WebBackForwardCache.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Mock/MockHidService.h.

(WebKit::WebBackForwardCache::capacity const):
(WebKit::WebBackForwardCache::size const):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::didRemoveItem):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::suspendCurrentPageIfPossible):
(WebKit::WebPageProxy::backForwardCache const):
(WebKit::WebPageProxy::shouldUseBackForwardCache const):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::enterAcceleratedCompositingMode):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::process const):

  • UIProcess/WebProcessPool.cpp:

(WebKit::m_webProcessCache):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::processForRegistrableDomain):
(WebKit::WebProcessPool::handleMemoryPressureWarning):
(WebKit::WebProcessPool::updateBackForwardCacheCapacity):
(WebKit::WebProcessPool::setCacheModel):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::setMockWebAuthenticationConfiguration):

  • WebKit.xcodeproj/project.pbxproj:

Tools:

Drop test that relied on reusing a SuspendedPage's process from a loadHTMLStringLoad (optimization).
This no longer works now that SuspendedPages are owned by their associated back/forward item because
we currently do not create a back/forward item for loadHTMLString requests. Suspending a page for a
loadHTMLString was also wasteful since there was no way to restore that page (given that there was
no WebBackForwardListItem to go back to).

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1:38 PM Changeset in webkit [251021] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Only use CFNetwork SPI for metrics where needed
https://bugs.webkit.org/show_bug.cgi?id=202825

Patch by Alex Christensen <achristensen@webkit.org> on 2019-10-11
Reviewed by Joseph Pecoraro.

Source/WebCore:

  • platform/network/NetworkLoadMetrics.h:

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(stringForSSLProtocolVersion):
(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):

Source/WTF:

  • wtf/Platform.h:
1:35 PM Changeset in webkit [251020] by BJ Burg
  • 3 edits in trunk/Tools

Remove some dead code in webkitpy's mac.py
https://bugs.webkit.org/show_bug.cgi?id=202853

Reviewed by Alexey Proskuryakov.

  • Remove _build_java_test_support as it no longer does anything.
  • Remove _check_port_build as it's only used to build Java test support.
  • Remove unused is_mavericks() function.
  • Remove a log stripping pattern that was fixed several releases ago.
  • Scripts/webkitpy/port/base.py:

(Port.check_build):
(Port.check_api_test_build):
(Port._check_driver):
(Port._check_port_build): Deleted.

  • Scripts/webkitpy/port/mac.py:

(MacPort.operating_system):
(MacPort.default_child_processes):
(MacPort.logging_patterns_to_strip):
(MacPort.is_mavericks): Deleted.
(MacPort._build_java_test_support): Deleted.
(MacPort._check_port_build): Deleted.

1:26 PM Changeset in webkit [251019] by Chris Dumez
  • 3 edits
    2 adds in trunk

Pages frequently fail to enter the back/forward cache due to frames with a quick redirect coming
https://bugs.webkit.org/show_bug.cgi?id=202768
<rdar://problem/56132022>

Reviewed by Alex Christensen.

Source/WebCore:

When a quick redirect is scheduled with the navigation scheduler, we set the m_quickRedirectComing flag.
This flag is supposed to get unset if the navigation gets cancelled and when the navigation actually
happens. However, for a navigation to a javascript: URL, we would return early after executing the JS
and fail to reset the m_quickRedirectComing flag. Later on, we would fail to enter the page cache because
we would think that the iframe still has a quick redirect scheduled.

Test: fast/history/page-cache-iframe-js-url.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected):
Reset the m_quickRedirectComing flag if we return early after executing
the javascript URL.

(WebCore::FrameLoader::stopForPageCache):
Stop policy checks & cancel scheduled navigations after stopping loads. Stopping loads may
run script which may in theory schedule new navigations. This is hardening.

LayoutTests:

Add lauout test coverage.

  • fast/history/page-cache-iframe-js-url-expected.txt: Added.
  • fast/history/page-cache-iframe-js-url.html: Added.
1:20 PM Changeset in webkit [251018] by achristensen@apple.com
  • 331 edits
    16 adds
    17 deletes in trunk/Source/ThirdParty/ANGLE

Roll ANGLE for ETC extensions and EGL_ANGLE_device_cgl
https://bugs.webkit.org/show_bug.cgi?id=202780

Roll ANGLE to c5e0ac757a112a24a0118d434e652fd7b558e6a8 via new
update-angle.sh script.

Patch by Kenneth Russell <kbr@chromium.org> on 2019-10-11
Reviewed by Alex Christensen.

  • .gitignore:
  • ANGLE.plist:
  • ANGLE.xcodeproj/project.pbxproj:
  • BUILD.gn:
  • CMakeLists.txt:
  • CONTRIBUTORS:
  • DEPS:
  • GLESv2.cmake:
  • OWNERS:
  • PRESUBMIT.py:

(_CheckExportValidity):
(CheckChangeOnUpload):
(CheckChangeOnCommit):

  • README.md:
  • android/angle_apk.gni:
  • build_overrides/angle.gni:
  • changes.diff:
  • doc/DevSetup.md:
  • dotfile_settings.gni:
  • extensions/ANGLE_compressed_texture_etc.txt: Added.
  • extensions/EGL_ANGLE_device_cgl.txt: Added.
  • extensions/EGL_ANGLE_feature_control.txt:
  • extensions/EGL_ANGLE_platform_angle_d3d11on12.txt: Added.
  • extensions/EGL_ANGLE_platform_angle_device_type_swiftshader.txt: Added.
  • extensions/EGL_ANGLE_platform_angle_metal.txt: Added.
  • gni/angle.gni:
  • include/EGL/eglext_angle.h:
  • include/platform/Feature.h:

(angle::Feature::Feature):

  • include/platform/FeaturesD3D.h:
  • include/platform/FeaturesGL.h:
  • include/platform/FeaturesVk.h:
  • include/platform/FrontendFeatures.h:
  • samples/WindowTest/WindowTest.cpp:
  • samples/gles1/DrawTexture.cpp:
  • samples/multi_texture/MultiTexture.cpp:
  • samples/multiple_draw_buffers/MultipleDrawBuffers.cpp:
  • samples/particle_system/ParticleSystem.cpp:
  • samples/sample_util/SampleApplication.cpp:

(SampleApplication::SampleApplication):

  • samples/sample_util/SampleApplication.h:
  • scripts/code_generation_hashes/ANGLE_format.json:
  • scripts/code_generation_hashes/ANGLE_load_functions_table.json:
  • scripts/code_generation_hashes/D3D11_format.json:
  • scripts/code_generation_hashes/DXGI_format.json:
  • scripts/code_generation_hashes/GL_EGL_WGL_loader.json:
  • scripts/code_generation_hashes/GL_EGL_entry_points.json:
  • scripts/code_generation_hashes/OpenGL_dispatch_table.json:
  • scripts/code_generation_hashes/Static_builtins.json:
  • scripts/code_generation_hashes/Vulkan_format.json:
  • scripts/code_generation_hashes/Vulkan_internal_shader_programs.json:
  • scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json:
  • scripts/code_generation_hashes/proc_table.json:
  • scripts/export_targets.py:

(has_all_includes):

  • scripts/generate_entry_points.py:

(get_resource_id_types):
(format_resource_id_types):
(write_capture_helper_header):
(get_resource_id_type_from_param_type):
(format_param_type_to_resource_id_type_case):
(format_param_type_resource_id_cases):
(format_resource_id_type_name_case):
(write_capture_helper_source):

  • scripts/generate_vulkan_layers_json.py:

(main):

  • scripts/registry_xml.py:
  • src/common/PackedEnums.cpp:

(gl::operator<<):

  • src/common/PackedEnums.h:

(angle::EnumSize<E>):
(gl::FromGLenum<VertexAttribType>):
(gl::ToGLenum):
(gl::ValueEquals):
(gl::operator==):
(gl::operator!=):

  • src/common/android_util.cpp:

(angle::android::NativePixelFormatToGLInternalFormat):

  • src/common/angleutils.h:
  • src/common/debug.h:
  • src/common/platform.h:
  • src/common/system_utils_winuwp.cpp: Added.

(angle::SetEnvironmentVar):
(angle::GetEnvironmentVar):
(angle::GetSharedLibraryExtension):
(angle::GetPathSeparator):
(angle::GetCurrentTime):
(angle::UwpLibrary::UwpLibrary):
(angle::OpenSharedLibrary):
(angle::IsDebuggerAttached):
(angle::BreakDebugger):

  • src/common/tls.cpp:

(CreateTLSIndex):
(DestroyTLSIndex):
(SetTLSValue):
(GetTLSValue):

  • src/common/tls.h:
  • src/common/utilities.cpp:

(gl::StripLastArrayIndex):

  • src/common/utilities.h:
  • src/compiler.gni:
  • src/compiler/translator/Compiler.cpp:

(sh::TCompiler::compileTreeImpl):

  • src/compiler/translator/ImmutableString_ESSL_autogen.cpp:
  • src/compiler/translator/ImmutableString_autogen.cpp:
  • src/compiler/translator/IntermNode.h:

(sh::TIntermPreprocessorDirective::getDirective const): Deleted.
(sh::TIntermPreprocessorDirective::getCommand const): Deleted.

  • src/compiler/translator/ParseContext.cpp:

(sh::TParseContext::TParseContext):
(sh::TParseContext::checkIsValidArraySize):
(sh::TParseContext::parseFunctionDeclarator):

  • src/compiler/translator/ParseContext.h:

(sh::TParseContext::getOutputType const):

  • src/compiler/translator/ShaderVars.cpp:

(sh::ShaderVariable::operator=):

  • src/compiler/translator/SymbolTable.cpp:

(sh::TSymbolTable::setGlInArraySize):
(sh::TSymbolTable::gl_FragData const):
(sh::TSymbolTable::gl_SecondaryFragDataEXT const):
(sh::SymbolRule::get const):
(sh::FindMangledBuiltIn):
(sh::UnmangledEntry::matches const):

  • src/compiler/translator/SymbolTable.h:

(sh::SymbolRule::SymbolRule):
(sh::SymbolRule::Get):
(sh::UnmangledEntry::UnmangledEntry):
(sh::SymbolEntry::SymbolEntry): Deleted.

  • src/compiler/translator/SymbolTable_ESSL_autogen.cpp:

(sh::BuiltInVariable::angle_BaseInstance):
(sh::BuiltInVariable::angle_BaseVertex):
(sh::BuiltInVariable::gl_BaseInstance):
(sh::BuiltInVariable::gl_BaseVertex):
(sh::BuiltInVariable::gl_DrawID):
(sh::BuiltInVariable::gl_FragColor):
(sh::BuiltInVariable::gl_FragCoord):
(sh::BuiltInVariable::gl_FragDepth):
(sh::BuiltInVariable::gl_FrontFacing):
(sh::BuiltInVariable::gl_GlobalInvocationID):
(sh::BuiltInVariable::gl_InstanceID):
(sh::BuiltInVariable::gl_InstanceIndex):
(sh::BuiltInVariable::gl_InvocationID):
(sh::BuiltInVariable::gl_LastFragColor):
(sh::BuiltInVariable::gl_LastFragColorARM):
(sh::BuiltInVariable::gl_Layer):
(sh::BuiltInVariable::gl_LayerGS):
(sh::BuiltInVariable::gl_LayerVS):
(sh::BuiltInVariable::gl_LocalInvocationID):
(sh::BuiltInVariable::gl_LocalInvocationIndex):
(sh::BuiltInVariable::gl_NumWorkGroups):
(sh::BuiltInVariable::gl_PointCoord):
(sh::BuiltInVariable::gl_PointSize):
(sh::BuiltInVariable::gl_Position):
(sh::BuiltInVariable::gl_PrimitiveID):
(sh::BuiltInVariable::gl_PrimitiveIDGS):
(sh::BuiltInVariable::gl_PrimitiveIDIn):
(sh::BuiltInVariable::gl_SecondaryFragColorEXT):
(sh::BuiltInVariable::gl_VertexID):
(sh::BuiltInVariable::gl_VertexIndex):
(sh::BuiltInVariable::gl_ViewID_OVR):
(sh::BuiltInVariable::gl_ViewportIndex):
(sh::BuiltInVariable::gl_WorkGroupID):
(sh::BuiltInVariable::gl_WorkGroupSize):
(sh::TSymbolTable::initializeBuiltInVariables):
(sh::TSymbolTable::findBuiltIn const):
(sh::TSymbolTable::isUnmangledBuiltInName const):
(sh::TSymbolTable::getSymbol const): Deleted.
(sh::TSymbolTable::getUnmangled const): Deleted.
(sh::TSymbolTable::getUnmangledBuiltInForShaderVersion): Deleted.

  • src/compiler/translator/SymbolTable_autogen.cpp:

(sh::BuiltInVariable::angle_BaseInstance):
(sh::BuiltInVariable::angle_BaseVertex):
(sh::BuiltInVariable::gl_BaseInstance):
(sh::BuiltInVariable::gl_BaseVertex):
(sh::BuiltInVariable::gl_DrawID):
(sh::BuiltInVariable::gl_FragColor):
(sh::BuiltInVariable::gl_FragCoord):
(sh::BuiltInVariable::gl_FragDepth):
(sh::BuiltInVariable::gl_FrontFacing):
(sh::BuiltInVariable::gl_GlobalInvocationID):
(sh::BuiltInVariable::gl_InstanceID):
(sh::BuiltInVariable::gl_InstanceIndex):
(sh::BuiltInVariable::gl_InvocationID):
(sh::BuiltInVariable::gl_LastFragColor):
(sh::BuiltInVariable::gl_LastFragColorARM):
(sh::BuiltInVariable::gl_Layer):
(sh::BuiltInVariable::gl_LayerGS):
(sh::BuiltInVariable::gl_LayerVS):
(sh::BuiltInVariable::gl_LocalInvocationID):
(sh::BuiltInVariable::gl_LocalInvocationIndex):
(sh::BuiltInVariable::gl_NumWorkGroups):
(sh::BuiltInVariable::gl_PointCoord):
(sh::BuiltInVariable::gl_PointSize):
(sh::BuiltInVariable::gl_Position):
(sh::BuiltInVariable::gl_PrimitiveID):
(sh::BuiltInVariable::gl_PrimitiveIDGS):
(sh::BuiltInVariable::gl_PrimitiveIDIn):
(sh::BuiltInVariable::gl_SecondaryFragColorEXT):
(sh::BuiltInVariable::gl_VertexID):
(sh::BuiltInVariable::gl_VertexIndex):
(sh::BuiltInVariable::gl_ViewID_OVR):
(sh::BuiltInVariable::gl_ViewportIndex):
(sh::BuiltInVariable::gl_WorkGroupID):
(sh::BuiltInVariable::gl_WorkGroupSize):
(sh::TSymbolTable::initializeBuiltInVariables):
(sh::TSymbolTable::findBuiltIn const):
(sh::TSymbolTable::isUnmangledBuiltInName const):
(sh::TSymbolTable::getSymbol const): Deleted.
(sh::TSymbolTable::getUnmangled const): Deleted.
(sh::TSymbolTable::getUnmangledBuiltInForShaderVersion): Deleted.

  • src/compiler/translator/SymbolTable_autogen.h:
  • src/compiler/translator/TranslatorVulkan.cpp:

(sh::TranslatorVulkan::translate):

  • src/compiler/translator/gen_builtin_symbols.py:

(get_shader_version_for_level):
(GroupedList.init):
(GroupedList.add_entry):
(GroupedList.format_rule):
(GroupedList):
(GroupedList.format_rules):
(GroupedList.get_rules):
(GroupedList.get_names):
(GroupedList.get_offsets):
(GroupedList.update_arrays):
(GroupedList.update_arrays.add_rule):
(UnmangledGroupedList.add_entry):
(UnmangledGroupedList.get_array):
(define_constexpr_variable):
(process_single_function_group):
(process_function_group):
(process_single_variable_group):
(GroupedList.add_obj): Deleted.
(GroupedList.get_array): Deleted.
(UnmangledGroupedList.add_obj): Deleted.

  • src/feature_support_util/feature_support_util.cpp:
  • src/gpu_info_util/SystemInfo_win.cpp:

(angle::GetSystemInfo):

  • src/image_util/loadimage.cpp:

(angle::LoadD24S8ToD32F):
(angle::LoadD32ToD32FX32):
(angle::LoadD32ToD32F):

  • src/image_util/loadimage.h:
  • src/libANGLE/Buffer.cpp:

(gl::Buffer::Buffer):

  • src/libANGLE/Buffer.h:
  • src/libANGLE/Caps.cpp:

(gl::DetermineHalfFloatTextureFilteringSupport):
(gl::DetermineFloatTextureFilteringSupport):
(gl::Extensions::setTextureExtensionSupport):
(gl::GetExtensionInfoMap):
(egl::DisplayExtensions::getStrings const):
(egl::DeviceExtensions::getStrings const):
(egl::ClientExtensions::getStrings const):

  • src/libANGLE/Caps.h:
  • src/libANGLE/Constants.h:
  • src/libANGLE/Context.cpp:

(gl::Context::Context):
(gl::Context::initialize):
(gl::Context::onDestroy):
(gl::Context::bindImageTexture):
(gl::Context::getQueryiv):
(gl::Context::detachTexture):
(gl::Context::generateSupportedExtensions const):
(gl::Context::initCaps):
(gl::Context::onSubjectStateChange):
(gl::StateCache::updateActiveAttribsMask):
(gl::StateCache::updateVertexAttribTypesValidation):

  • src/libANGLE/Context.h:
  • src/libANGLE/Device.cpp:

(egl::Device::getAttribute):
(egl::Device::getDevice): Deleted.

  • src/libANGLE/Device.h:
  • src/libANGLE/Display.cpp:

(egl::Display::createContext):
(egl::GenerateClientExtensions):
(egl::Display::isValidNativeDisplay):
(egl::Display::initializeFrontendFeatures):
(egl::Display::queryStringi):

  • src/libANGLE/ErrorStrings.h:
  • src/libANGLE/Fence.h:
  • src/libANGLE/FrameCapture.cpp:

(angle::ParamCapture::ParamCapture):
(angle::ParamCapture::operator=):
(angle::ParamBuffer::ParamBuffer):
(angle::ParamBuffer::operator=):
(angle::ParamBuffer::getParam):
(angle::ParamBuffer::getParam const):
(angle::ParamBuffer::addParam):
(angle::ParamBuffer::addReturnValue):
(angle::ParamBuffer::getClientArrayPointerParameter):
(angle::CallCapture::CallCapture):
(angle::CallCapture::operator=):
(angle::CallCapture::name const):
(angle::ReplayContext::ReplayContext):
(angle::ReplayContext::~ReplayContext):
(angle::FrameCapture::FrameCapture):
(angle::FrameCapture::maybeCaptureClientData):
(angle::FrameCapture::captureCall):
(angle::FrameCapture::captureUpdateResourceIDs):
(angle::FrameCapture::maybeUpdateResourceIDs):
(angle::FrameCapture::captureClientArraySnapshot):
(angle::FrameCapture::onEndFrame):
(angle::DataCounters::getAndIncrement):
(angle::FrameCapture::reset):
(angle::CaptureGenHandlesImpl):
(angle::WriteParamValueToStream<ParamType::TBufferID>):
(angle::WriteParamValueToStream<ParamType::TFenceNVID>):
(angle::WriteParamValueToStream<ParamType::TFramebufferID>):
(angle::WriteParamValueToStream<ParamType::TMemoryObjectID>):
(angle::WriteParamValueToStream<ParamType::TPathID>):
(angle::WriteParamValueToStream<ParamType::TProgramPipelineID>):
(angle::WriteParamValueToStream<ParamType::TQueryID>):
(angle::WriteParamValueToStream<ParamType::TRenderbufferID>):
(angle::WriteParamValueToStream<ParamType::TSamplerID>):
(angle::WriteParamValueToStream<ParamType::TSemaphoreID>):
(angle::WriteParamValueToStream<ParamType::TShaderProgramID>):
(angle::WriteParamValueToStream<ParamType::TTextureID>):
(angle::WriteParamValueToStream<ParamType::TTransformFeedbackID>):
(angle::WriteParamValueToStream<ParamType::TVertexArrayID>):
(angle::CallCapture::~CallCapture): Deleted.
(angle::ParamBuffer::~ParamBuffer): Deleted.
(angle::ParamCapture::~ParamCapture): Deleted.
(angle::FrameCapture::~FrameCapture): Deleted.
(angle::FrameCapture::anyClientArray const): Deleted.
(angle::FrameCapture::saveCapturedFrameAsCpp): Deleted.
(angle::FrameCapture::getAndIncrementCounter): Deleted.
(angle::FrameCapture::writeStringPointerParamReplay): Deleted.
(angle::FrameCapture::writeRenderbufferIDPointerParamReplay): Deleted.
(angle::FrameCapture::writeBinaryParamReplay): Deleted.
(angle::FrameCapture::writeCallReplay): Deleted.

  • src/libANGLE/FrameCapture.h:

(angle::CaptureGenHandles):

  • src/libANGLE/FrameCapture_mock.cpp: Added.

(angle::CallCapture::~CallCapture):
(angle::ParamBuffer::~ParamBuffer):
(angle::ParamCapture::~ParamCapture):
(angle::FrameCapture::FrameCapture):
(angle::FrameCapture::~FrameCapture):
(angle::FrameCapture::onEndFrame):
(angle::FrameCapture::replay):

  • src/libANGLE/Framebuffer.cpp:

(gl::Framebuffer::formsRenderingFeedbackLoopWith const):
(gl::Framebuffer::formsCopyingFeedbackLoopWith const):

  • src/libANGLE/Framebuffer.h:
  • src/libANGLE/FramebufferAttachment.cpp:

(gl::FramebufferAttachment::getRedSize const):
(gl::FramebufferAttachment::getGreenSize const):
(gl::FramebufferAttachment::getBlueSize const):
(gl::FramebufferAttachment::getAlphaSize const):
(gl::FramebufferAttachment::getDepthSize const):
(gl::FramebufferAttachment::getStencilSize const):

  • src/libANGLE/FramebufferAttachment.h:
  • src/libANGLE/GLES1State.cpp:

(gl::GLES1State::getActiveAttributesMask const):

  • src/libANGLE/GLES1State.h:
  • src/libANGLE/ImageIndex.cpp:
  • src/libANGLE/ImageIndex.h:
  • src/libANGLE/MemoryObject.cpp:

(gl::MemoryObject::MemoryObject):

  • src/libANGLE/MemoryObject.h:
  • src/libANGLE/MemoryProgramCache.cpp:
  • src/libANGLE/Program.cpp:

(gl::ProgramBindings::bindLocation):
(gl::ProgramBindings::getBindingByName const):
(gl::ProgramBindings::getBinding const):
(gl::ProgramBindings::begin const):
(gl::ProgramBindings::end const):
(gl::ProgramAliasedBindings::ProgramAliasedBindings):
(gl::ProgramAliasedBindings::~ProgramAliasedBindings):
(gl::ProgramAliasedBindings::bindLocation):
(gl::ProgramAliasedBindings::getBindingByName const):
(gl::ProgramAliasedBindings::getBinding const):
(gl::ProgramAliasedBindings::begin const):
(gl::ProgramAliasedBindings::end const):
(gl::ProgramState::getAttributeLocation const):
(gl::ProgramState::getFirstAttachedShaderStageType const):
(gl::ProgramState::getLastAttachedShaderStageType const):
(gl::Program::getFragmentInputBindingInfo const):
(gl::Program::link):
(gl::ProgramState::updateProgramInterfaceInputs):
(gl::ProgramState::updateProgramInterfaceOutputs):
(gl::Program::unlink):
(gl::Program::getActiveAttribute const):
(gl::Program::getActiveAttributeCount const):
(gl::Program::getActiveAttributeMaxLength const):
(gl::Program::getAttributes const):
(gl::Program::getInputResource const):
(gl::Program::getInputResourceIndex const):
(gl::Program::getResourceMaxNameSize const):
(gl::Program::getInputResourceMaxNameSize const):
(gl::Program::getOutputResourceMaxNameSize const):
(gl::Program::getResourceLocation const):
(gl::Program::getInputResourceLocation const):
(gl::Program::getOutputResourceLocation const):
(gl::Program::getOutputResourceIndex const):
(gl::Program::getResourceName const):
(gl::Program::getInputResourceName const):
(gl::Program::getOutputResourceName const):
(gl::Program::getUniformResourceName const):
(gl::Program::getBufferVariableResourceName const):
(gl::Program::getOutputResource const):
(gl::Program::getUniformLocationBindings const):
(gl::Program::linkUniforms):
(gl::Program::linkAttributes):
(gl::Program::linkValidateGlobalNames const):
(gl::Program::getMergedVaryings const):
(gl::Program::linkOutputVariables):
(gl::Program::serialize const):
(gl::Program::deserialize):

  • src/libANGLE/Program.h:

(gl::ProgramVaryingRef::get const):

  • src/libANGLE/ProgramLinkedResources.cpp:

(gl::UniformLinker::link):
(gl::UniformLinker::indexUniforms):
(gl::UniformLinker::gatherUniformLocationsAndCheckConflicts):

  • src/libANGLE/ProgramLinkedResources.h:
  • src/libANGLE/ProgramPipeline.cpp:

(gl::ProgramPipeline::ProgramPipeline):

  • src/libANGLE/ProgramPipeline.h:
  • src/libANGLE/Query.cpp:

(gl::Query::Query):

  • src/libANGLE/Query.h:
  • src/libANGLE/RefCountObject.h:

(gl::RefCountObject::RefCountObject):
(gl::RefCountObject::id const):
(gl::BindingPointer::id const):

  • src/libANGLE/Renderbuffer.cpp:

(gl::Renderbuffer::Renderbuffer):
(gl::Renderbuffer::getId const):

  • src/libANGLE/Renderbuffer.h:
  • src/libANGLE/Sampler.cpp:

(gl::Sampler::Sampler):

  • src/libANGLE/Sampler.h:
  • src/libANGLE/Semaphore.cpp:

(gl::Semaphore::Semaphore):

  • src/libANGLE/Semaphore.h:
  • src/libANGLE/Shader.cpp:

(gl::Shader::resolveCompile):
(gl::Shader::getTransformFeedbackVaryingMappedName):

  • src/libANGLE/State.cpp:

(gl::State::getSamplerTextureId const):
(gl::State::detachTexture):
(gl::State::detachSampler):
(gl::State::detachRenderbuffer):
(gl::State::removeTransformFeedbackBinding):
(gl::State::getActiveQueryId const):
(gl::State::detachBuffer):
(gl::State::getIntegerv):
(gl::State::getIntegeri_v):
(gl::State::syncImages):
(gl::State::onImageStateChange):

  • src/libANGLE/State.h:

(gl::State::getSamplerId const):
(gl::State::getRenderbufferId const):

  • src/libANGLE/Texture.cpp:

(gl::Texture::Texture):
(gl::Texture::setStorage):
(gl::Texture::getId const):

  • src/libANGLE/Texture.h:
  • src/libANGLE/TransformFeedback.cpp:

(gl::TransformFeedback::TransformFeedback):
(gl::TransformFeedback::detachBuffer):

  • src/libANGLE/TransformFeedback.h:
  • src/libANGLE/VaryingPacking.cpp:

(gl::VaryingPacking::collectAndPackUserVaryings):
(gl::VaryingPacking::packUserVaryings):

  • src/libANGLE/VertexArray.cpp:

(gl::VertexArray::detachBuffer):
(gl::VertexArray::bindVertexBufferImpl):

  • src/libANGLE/VertexArray.h:
  • src/libANGLE/capture_gles_2_0_params.cpp:

(gl::CaptureDeleteBuffers_buffersPacked):
(gl::CaptureDeleteFramebuffers_framebuffersPacked):
(gl::CaptureDeleteTextures_texturesPacked):
(gl::CaptureGenBuffers_buffersPacked):
(gl::CaptureGenFramebuffers_framebuffersPacked):
(gl::CaptureGenRenderbuffers_renderbuffersPacked):
(gl::CaptureGenTextures_texturesPacked):
(gl::CaptureShaderSource_string):

  • src/libANGLE/capture_gles_3_0_params.cpp:

(gl::CaptureDeleteQueries_idsPacked):
(gl::CaptureDeleteSamplers_samplersPacked):
(gl::CaptureDeleteTransformFeedbacks_idsPacked):
(gl::CaptureDeleteVertexArrays_arraysPacked):
(gl::CaptureGenQueries_idsPacked):
(gl::CaptureGenSamplers_samplersPacked):
(gl::CaptureGenTransformFeedbacks_idsPacked):
(gl::CaptureGenVertexArrays_arraysPacked):

  • src/libANGLE/capture_gles_3_1_params.cpp:

(gl::CaptureDeleteProgramPipelines_pipelinesPacked):
(gl::CaptureGenProgramPipelines_pipelinesPacked):

  • src/libANGLE/capture_gles_ext_params.cpp:

(gl::CaptureDeleteQueriesEXT_idsPacked):
(gl::CaptureGenQueriesEXT_idsPacked):

  • src/libANGLE/features.h:
  • src/libANGLE/formatutils.cpp:

(gl::UnsizedHalfFloatOESRGBATextureAttachmentSupport):
(gl::BuildInternalFormatInfoMap):
(gl::InternalFormat::computeDepthPitch const):
(gl::GetVertexFormatID):
(gl::GetVertexFormatFromID):
(gl::GetVertexFormatSize):

  • src/libANGLE/frame_capture_utils_autogen.cpp:

(angle::GetResourceIDTypeFromParamType):
(angle::GetResourceIDTypeName):

  • src/libANGLE/frame_capture_utils_autogen.h:
  • src/libANGLE/queryutils.cpp:

(gl::GetBufferVariableResourceProperty):
(gl::QueryProgramResourceLocation):
(gl::QueryProgramResourceiv):
(egl::QueryContextAttrib):

  • src/libANGLE/renderer/DeviceImpl.h:
  • src/libANGLE/renderer/Format.h:

(angle::Format::isVertexTypeHalfFloat const):

  • src/libANGLE/renderer/FormatID_autogen.h:
  • src/libANGLE/renderer/Format_table_autogen.cpp:

(angle::Format::InternalFormatToID):

  • src/libANGLE/renderer/angle_format.py:

(gl_format_channels):
(get_vertex_copy_function):

  • src/libANGLE/renderer/angle_format_map.json:
  • src/libANGLE/renderer/copyvertex.h:
  • src/libANGLE/renderer/copyvertex.inc.h:

(rx::CopyTo32FVertexData):
(rx::CopyXYZ10ToXYZW32FVertexData):
(rx::CopyW2XYZ10ToXYZW32FVertexData):

  • src/libANGLE/renderer/d3d/DeviceD3D.cpp:

(rx::DeviceD3D::getAttribute):
(rx::DeviceD3D::getDevice): Deleted.

  • src/libANGLE/renderer/d3d/DeviceD3D.h:
  • src/libANGLE/renderer/d3d/HLSLCompiler.cpp:

(rx::HLSLCompiler::ensureInitialized):
(rx::HLSLCompiler::compileToBinary):

  • src/libANGLE/renderer/d3d/ProgramD3D.cpp:

(rx::ProgramD3D::getVertexExecutableForCachedInputLayout):

  • src/libANGLE/renderer/d3d/RendererD3D.cpp:

(rx::DefaultGLErrorCode):

  • src/libANGLE/renderer/d3d/ShaderD3D.cpp:

(rx::ShaderD3D::compile):

  • src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp:

(rx::Buffer11::getConstantBufferRange):
(rx::Buffer11::NativeStorage::FillBufferDesc):

  • src/libANGLE/renderer/d3d/d3d11/Context11.cpp:

(rx::Context11::drawArrays):
(rx::Context11::drawArraysInstanced):
(rx::Context11::drawArraysInstancedBaseInstance):
(rx::Context11::drawArraysIndirect):

  • src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp:

(rx::DebugAnnotator11::initialize):

  • src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp:

(rx::Renderer11::Renderer11):
(rx::Renderer11::initialize):
(rx::Renderer11::callD3D11On12CreateDevice):
(rx::Renderer11::initializeD3DDevice):
(rx::Renderer11::generateDisplayExtensions const):
(rx::Renderer11::isValidNativeWindow const):
(rx::Renderer11::createNativeWindow const):
(rx::Renderer11::drawArrays):
(rx::Renderer11::release):
(rx::Renderer11::getShareHandleSupport const):
(rx::Renderer11::copyImageInternal):

  • src/libANGLE/renderer/d3d/d3d11/Renderer11.h:
  • src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp:

(rx::TextureStorage11::getSRVForImage):
(rx::TextureStorage11::getUAVForImage):

  • src/libANGLE/renderer/d3d/d3d11/Trim11.cpp:

(rx::Trim11::trim):
(rx::Trim11::registerForRendererTrimRequest):
(rx::Trim11::unregisterForRendererTrimRequest):

  • src/libANGLE/renderer/d3d/d3d11/Trim11.h:
  • src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp:

(rx::RoHelper::SupportedWindowsRelease):

  • src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp:

(rx::d3d11_gl::GenerateCaps):
(rx::d3d11::InitializeFeatures):

  • src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h:
  • src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp:

(rx::NativeWindow11WinRT::createSwapChain):

  • src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h:
  • src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h:
  • src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp:

(rx::d3d9::InitializeFeatures):

  • src/libANGLE/renderer/gen_angle_format_table.py:

(ceil_int):
(get_channel_struct):
(get_mip_generation_function):

  • src/libANGLE/renderer/gl/BlitGL.cpp:

(rx::BlitGL::copyImageToLUMAWorkaroundTexture):
(rx::BlitGL::copySubImageToLUMAWorkaroundTexture):
(rx::BlitGL::blitColorBufferWithShader):
(rx::BlitGL::copySubTexture):
(rx::BlitGL::copySubTextureCPUReadback):
(rx::BlitGL::copyTexSubImage):
(rx::BlitGL::clearRenderableTexture):
(rx::BlitGL::clearRenderbuffer):
(rx::BlitGL::clearFramebuffer):
(rx::BlitGL::clearRenderableTextureAlphaToOne):
(rx::BlitGL::initializeResources):
(rx::BlitGL::orphanScratchTextures):
(rx::BlitGL::setScratchTextureParameter):
(rx::BlitGL::getBlitProgram):
(rx::BlitGL::getBlitProgramType): Deleted.

  • src/libANGLE/renderer/gl/BlitGL.h:
  • src/libANGLE/renderer/gl/ContextGL.cpp:

(rx::ContextGL::createRenderbuffer):
(rx::ContextGL::setDrawArraysState):
(rx::ContextGL::setDrawElementsState):
(rx::ContextGL::drawArrays):
(rx::ContextGL::updateAttributesForBaseInstance):
(rx::ContextGL::resetUpdatedAttributes):
(rx::ContextGL::drawArraysInstancedBaseInstance):
(rx::ContextGL::drawElements):
(rx::ContextGL::drawElementsInstancedBaseVertexBaseInstance):
(rx::ContextGL::validateState const):

  • src/libANGLE/renderer/gl/ContextGL.h:
  • src/libANGLE/renderer/gl/ProgramGL.cpp:

(rx::ProgramGL::link):

  • src/libANGLE/renderer/gl/RenderbufferGL.cpp:

(rx::RenderbufferGL::RenderbufferGL):
(rx::RenderbufferGL::~RenderbufferGL):
(rx::RenderbufferGL::onDestroy):
(rx::RenderbufferGL::setStorage):
(rx::RenderbufferGL::setStorageMultisample):
(rx::RenderbufferGL::initializeContents):

  • src/libANGLE/renderer/gl/RenderbufferGL.h:
  • src/libANGLE/renderer/gl/ShaderGL.cpp:

(rx::ShaderGL::compile):

  • src/libANGLE/renderer/gl/StateManagerGL.cpp:

(rx::StateManagerGL::bindBufferBase):
(rx::StateManagerGL::bindBufferRange):
(rx::StateManagerGL::validateState const):

  • src/libANGLE/renderer/gl/StateManagerGL.h:
  • src/libANGLE/renderer/gl/SurfaceGL.cpp:

(rx::SurfaceGL::initializeContents):

  • src/libANGLE/renderer/gl/TextureGL.cpp:

(rx::TextureGL::setImageHelper):
(rx::TextureGL::setSubImage):
(rx::TextureGL::setCompressedImage):
(rx::TextureGL::setCompressedSubImage):
(rx::TextureGL::copyImage):
(rx::TextureGL::copySubTextureHelper):
(rx::TextureGL::setStorage):
(rx::TextureGL::setImageExternal):
(rx::TextureGL::setStorageMultisample):
(rx::TextureGL::setStorageExternalMemory):
(rx::TextureGL::setEGLImageTarget):
(rx::TextureGL::setLevelInfo):
(rx::TextureGL::initializeContents):

  • src/libANGLE/renderer/gl/VertexArrayGL.cpp:

(rx::VertexArrayGL::streamAttributes const):
(rx::VertexArrayGL::validateState const):

  • src/libANGLE/renderer/gl/VertexArrayGL.h:
  • src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp: Added.

(rx::DeviceCGL::DeviceCGL):
(rx::DeviceCGL::~DeviceCGL):
(rx::DeviceCGL::initialize):
(rx::DeviceCGL::getAttribute):
(rx::DeviceCGL::getType):
(rx::DeviceCGL::generateExtensions const):

  • src/libANGLE/renderer/gl/cgl/DeviceCGL.h: Added.
  • src/libANGLE/renderer/gl/cgl/DisplayCGL.h:
  • src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:

(rx::DisplayCGL::createDevice):
(rx::DisplayCGL::getCGLPixelFormat const):
(rx::DisplayCGL::generateExtensions const):

  • src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.mm:

(rx::IOSurfaceSurfaceCGL::initializeAlphaChannel):

  • src/libANGLE/renderer/gl/egl/DisplayEGL.cpp:

(rx::DisplayEGL::generateExtensions const):

  • src/libANGLE/renderer/gl/glx/DisplayGLX.cpp:

(rx::DisplayGLX::makeCurrent):

  • src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.cpp:

(rx::WindowSurfaceGLX::initialize):

  • src/libANGLE/renderer/gl/renderergl_utils.cpp:

(rx::nativegl_gl::GenerateCaps):
(rx::nativegl_gl::InitializeFeatures):
(rx::nativegl_gl::InitializeFrontendFeatures):
(rx::nativegl::SupportsCompute):
(rx::nativegl::GetBufferBindingQuery):
(rx::nativegl::GetBufferBindingString):

  • src/libANGLE/renderer/gl/renderergl_utils.h:
  • src/libANGLE/renderer/load_functions_data.json:
  • src/libANGLE/renderer/load_functions_table_autogen.cpp:

(angle::GetLoadFunctionsMap):

  • src/libANGLE/renderer/null/DeviceNULL.cpp:

(rx::DeviceNULL::getAttribute):
(rx::DeviceNULL::getDevice): Deleted.

  • src/libANGLE/renderer/null/DeviceNULL.h:
  • src/libANGLE/renderer/renderer_utils.cpp:

(rx::ShouldUseDebugLayers):

  • src/libANGLE/renderer/vulkan/BufferVk.cpp:

(rx::BufferVk::release):
(rx::BufferVk::mapRangeImpl):
(rx::BufferVk::setDataImpl):

  • src/libANGLE/renderer/vulkan/CommandGraph.cpp:

(rx::vk::CommandGraphResource::CommandGraphResource):
(rx::vk::CommandGraphResource::~CommandGraphResource):
(rx::vk::CommandGraphResource::isResourceInUse const):
(rx::vk::CommandGraphResource::recordCommands):
(rx::vk::CommandGraphResource::addWriteDependency):
(rx::vk::CommandGraphResource::addReadDependency):
(rx::vk::CommandGraphResource::startNewCommands):
(rx::vk::CommandGraphResource::onWriteImpl):
(rx::vk::SharedGarbage::SharedGarbage):
(rx::vk::SharedGarbage::operator=):
(rx::vk::SharedGarbage::destroyIfComplete):
(rx::vk::CommandGraph::~CommandGraph):
(rx::vk::CommandGraph::submitCommands):
(rx::vk::CommandGraph::releaseResourceUses):
(rx::vk::CommandGraph::releaseResourceUsesAndUpdateSerials):
(rx::vk::CommandGraphResource::resetQueueSerial): Deleted.

  • src/libANGLE/renderer/vulkan/CommandGraph.h:

(rx::vk::CommandGraphResource::getLatestSerial const):
(rx::vk::CommandGraphResource::hasStartedRenderPass const):
(rx::vk::CommandGraphResource::updateCurrentAccessNodes):
(rx::vk::CommandGraphResource::onGraphAccess):
(rx::vk::CommandGraphResource::appendToStartedRenderPass):
(rx::vk::CommandGraphResource::renderPassStartedButEmpty const):
(rx::vk::CommandGraphResource::clearRenderPassColorAttachment):
(rx::vk::CommandGraphResource::clearRenderPassDepthAttachment):
(rx::vk::CommandGraphResource::clearRenderPassStencilAttachment):
(rx::vk::CommandGraphResource::invalidateRenderPassColorAttachment):
(rx::vk::CommandGraphResource::invalidateRenderPassDepthAttachment):
(rx::vk::CommandGraphResource::invalidateRenderPassStencilAttachment):
(rx::vk::CommandGraphResource::getRenderPassRenderArea const):
(rx::vk::CommandGraphResource::addGlobalMemoryBarrier):
(rx::vk::CommandGraphResource::hasChildlessWritingNode const):
(rx::vk::CommandGraph::onResourceUse):
(rx::vk::CommandGraphResource::getStoredQueueSerial const): Deleted.
(rx::vk::CommandGraphResource::updateQueueSerial): Deleted.

  • src/libANGLE/renderer/vulkan/ContextVk.cpp:

(rx::CommandBatch::CommandBatch):
(rx::CommandBatch::operator=):
(rx::CommandBatch::destroy):
(rx::CommandQueue::destroy):
(rx::CommandQueue::init):
(rx::CommandQueue::checkCompletedCommands):
(rx::CommandQueue::releaseToCommandBatch):
(rx::CommandQueue::clearAllGarbage):
(rx::CommandQueue::allocatePrimaryCommandBuffer):
(rx::CommandQueue::releasePrimaryCommandBuffer):
(rx::CommandQueue::handleDeviceLost):
(rx::CommandQueue::hasInFlightCommands const):
(rx::CommandQueue::finishToSerialOrTimeout):
(rx::CommandQueue::submitFrame):
(rx::CommandQueue::getLastSubmittedFence const):
(rx::ContextVk::ContextVk):
(rx::ContextVk::onDestroy):
(rx::ContextVk::initialize):
(rx::ContextVk::setupDraw):
(rx::ContextVk::setupIndirectDraw):
(rx::ContextVk::setupIndexedIndirectDraw):
(rx::ContextVk::setupLineLoopIndexedIndirectDraw):
(rx::ContextVk::handleDirtyGraphicsVertexBuffers):
(rx::ContextVk::handleDirtyGraphicsIndexBuffer):
(rx::ContextVk::submitFrame):
(rx::ContextVk::flushCommandGraph):
(rx::ContextVk::synchronizeCpuGpuTime):
(rx::ContextVk::traceGpuEventImpl):
(rx::ContextVk::checkCompletedGpuEvents):
(rx::ContextVk::flushGpuEvents):
(rx::ContextVk::clearAllGarbage):
(rx::ContextVk::handleDeviceLost):
(rx::ContextVk::drawArraysIndirect):
(rx::ContextVk::drawElementsIndirect):
(rx::ContextVk::syncState):
(rx::ContextVk::onMakeCurrent):
(rx::ContextVk::dispatchComputeIndirect):
(rx::ContextVk::memoryBarrier):
(rx::ContextVk::writeAtomicCounterBufferDriverUniformOffsets):
(rx::ContextVk::updateActiveTextures):
(rx::ContextVk::updateActiveImages):
(rx::ContextVk::shouldFlush):
(rx::ContextVk::flushImpl):
(rx::ContextVk::finishImpl):
(rx::ContextVk::isSerialInUse const):
(rx::ContextVk::checkCompletedCommands):
(rx::ContextVk::finishToSerial):
(rx::ContextVk::finishToSerialOrTimeout):
(rx::ContextVk::getCompatibleRenderPass):
(rx::ContextVk::getRenderPassWithOps):
(rx::ContextVk::ensureSubmitFenceInitialized):
(rx::ContextVk::getNextSubmitFence):
(rx::ContextVk::getLastSubmittedFence const):
(rx::ContextVk::getTimestamp):
(rx::ContextVk::updateDefaultAttribute):
(rx::ContextVk::waitForSwapchainImageIfNecessary):
(rx::ContextVk::CommandBatch::CommandBatch): Deleted.
(rx::ContextVk::CommandBatch::operator=): Deleted.
(rx::ContextVk::CommandBatch::destroy): Deleted.
(rx::ContextVk::releaseToCommandBatch): Deleted.
(rx::ContextVk::recycleCommandBatch): Deleted.
(rx::ContextVk::getCommandGraph): Deleted.

  • src/libANGLE/renderer/vulkan/ContextVk.h:

(rx::ContextVk::onVertexAttributeChange):
(rx::ContextVk::getCurrentQueueSerial const):
(rx::ContextVk::getLastSubmittedQueueSerial const):
(rx::ContextVk::getLastCompletedQueueSerial const):
(rx::ContextVk::addGarbage):
(rx::ContextVk::getCommandGraph):
(rx::ContextVk::releaseObject): Deleted.

  • src/libANGLE/renderer/vulkan/DeviceVk.cpp:

(rx::DeviceVk::getAttribute):
(rx::DeviceVk::getDevice): Deleted.

  • src/libANGLE/renderer/vulkan/DeviceVk.h:
  • src/libANGLE/renderer/vulkan/DisplayVk.cpp:

(rx::DisplayVk::generateExtensions const):

  • src/libANGLE/renderer/vulkan/FramebufferVk.cpp:

(rx::FramebufferVk::destroy):
(rx::FramebufferVk::invalidate):
(rx::FramebufferVk::invalidateSub):
(rx::FramebufferVk::clearImpl):
(rx::FramebufferVk::getImplementationColorReadType const):
(rx::FramebufferVk::blitWithCommand):
(rx::FramebufferVk::blit):
(rx::FramebufferVk::resolveColorWithCommand):
(rx::FramebufferVk::readPixelsImpl):
(rx::FramebufferVk::onScissorChange):

  • src/libANGLE/renderer/vulkan/FramebufferVk.h:

(rx::FramebufferVk::appendToStartedRenderPass):

  • src/libANGLE/renderer/vulkan/GlslangWrapper.cpp:
  • src/libANGLE/renderer/vulkan/ImageVk.cpp:

(rx::ImageVk::onDestroy):
(rx::ImageVk::orphan):

  • src/libANGLE/renderer/vulkan/ImageVk.h:
  • src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp:

(rx::MemoryObjectVk::createImage):

  • src/libANGLE/renderer/vulkan/OverlayVk.cpp:

(rx::OverlayVk::createFont):
(rx::OverlayVk::cullWidgets):
(rx::OverlayVk::onPresent):

  • src/libANGLE/renderer/vulkan/PersistentCommandPool.cpp:

(rx::vk::PersistentCommandPool::destroy):
(rx::vk::PersistentCommandPool::allocate):
(rx::vk::PersistentCommandPool::alloc): Deleted.

  • src/libANGLE/renderer/vulkan/PersistentCommandPool.h:
  • src/libANGLE/renderer/vulkan/ProgramVk.cpp:

(rx::ProgramVk::reset):
(rx::ProgramVk::initDefaultUniformLayoutMapping):
(rx::ProgramVk::updateDefaultUniformsDescriptorSet):
(rx::ProgramVk::updateBuffersDescriptorSet):
(rx::ProgramVk::updateAtomicCounterBuffersDescriptorSet):
(rx::ProgramVk::updateImagesDescriptorSet):
(rx::ProgramVk::updateTransformFeedbackDescriptorSetImpl):
(rx::ProgramVk::updateDescriptorSets):

  • src/libANGLE/renderer/vulkan/ProgramVk.h:

(rx::ProgramVk::getGraphicsPipeline):

  • src/libANGLE/renderer/vulkan/README.md:
  • src/libANGLE/renderer/vulkan/RenderTargetVk.cpp:

(rx::RenderTargetVk::RenderTargetVk):
(rx::RenderTargetVk::init):
(rx::RenderTargetVk::reset):
(rx::RenderTargetVk::onColorDraw):
(rx::RenderTargetVk::onDepthStencilDraw):
(rx::RenderTargetVk::updateSwapchainImage):
(rx::RenderTargetVk::getImageForRead):
(rx::RenderTargetVk::getImageForWrite const):
(rx::RenderTargetVk::getFetchImageView const): Deleted.

  • src/libANGLE/renderer/vulkan/RenderTargetVk.h:
  • src/libANGLE/renderer/vulkan/RenderbufferVk.cpp:

(rx::RenderbufferVk::setStorageImpl):
(rx::RenderbufferVk::setStorageEGLImageTarget):
(rx::RenderbufferVk::releaseImage):

  • src/libANGLE/renderer/vulkan/RenderbufferVk.h:
  • src/libANGLE/renderer/vulkan/RendererVk.cpp:

(rx::RendererVk::~RendererVk):
(rx::RendererVk::onDestroy):
(rx::RendererVk::notifyDeviceLost):
(rx::RendererVk::initialize):
(rx::RendererVk::initializeDevice):
(rx::RendererVk::initFeatures):
(rx::RendererVk::queueSubmit):
(rx::RendererVk::cleanupGarbage):
(rx::RendererVk::getMaxFenceWaitTimeNs const):
(rx::RendererVk::onCompletedSerial):
(rx::RendererVk::nextSerial): Deleted.
(rx::RendererVk::addGarbage): Deleted.

  • src/libANGLE/renderer/vulkan/RendererVk.h:

(rx::CollectGarbage):
(rx::RendererVk::getMaxVertexAttribDivisor const):
(rx::RendererVk::collectGarbageAndReinit):
(rx::RendererVk::getCurrentQueueSerial const):
(rx::RendererVk::getLastSubmittedQueueSerial const):
(rx::RendererVk::getLastCompletedQueueSerial const):
(rx::RendererVk::shouldCleanupGarbage):

  • src/libANGLE/renderer/vulkan/SamplerVk.cpp:

(rx::SamplerVk::onDestroy):
(rx::SamplerVk::syncState):

  • src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp:

(rx::vk::priv::SecondaryCommandBuffer::executeCommands):
(rx::vk::priv::SecondaryCommandBuffer::dumpCommands const):

  • src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h:

(rx::vk::priv::SecondaryCommandBuffer::drawIndirect):
(rx::vk::priv::SecondaryCommandBuffer::drawIndexedIndirect):

  • src/libANGLE/renderer/vulkan/SemaphoreVk.cpp:

(rx::SemaphoreVk::onDestroy):

  • src/libANGLE/renderer/vulkan/SurfaceVk.cpp:

(rx::OffscreenSurfaceVk::AttachmentImage::initialize):
(rx::OffscreenSurfaceVk::AttachmentImage::destroy):
(rx::OffscreenSurfaceVk::OffscreenSurfaceVk):
(rx::WindowSurfaceVk::WindowSurfaceVk):
(rx::WindowSurfaceVk::createSwapChain):
(rx::WindowSurfaceVk::releaseSwapchainImages):
(rx::WindowSurfaceVk::destroySwapChainImages):
(rx::WindowSurfaceVk::present):
(rx::WindowSurfaceVk::nextSwapchainImage):

  • src/libANGLE/renderer/vulkan/SyncVk.cpp:

(rx::vk::SyncHelper::SyncHelper):
(rx::vk::SyncHelper::~SyncHelper):
(rx::vk::SyncHelper::releaseToRenderer):
(rx::vk::SyncHelper::initialize):
(rx::vk::SyncHelper::clientWait):
(rx::vk::SyncHelper::serverWait):
(rx::vk::SyncHelper::getStatus):
(rx::SyncVk::onDestroy):
(rx::SyncVk::serverWait):
(rx::EGLSyncVk::onDestroy):
(rx::EGLSyncVk::serverWait):
(rx::FenceSyncVk::FenceSyncVk): Deleted.
(rx::FenceSyncVk::~FenceSyncVk): Deleted.
(rx::FenceSyncVk::onDestroy): Deleted.
(rx::FenceSyncVk::initialize): Deleted.
(rx::FenceSyncVk::clientWait): Deleted.
(rx::FenceSyncVk::serverWait): Deleted.
(rx::FenceSyncVk::getStatus): Deleted.

  • src/libANGLE/renderer/vulkan/SyncVk.h:
  • src/libANGLE/renderer/vulkan/TextureVk.cpp:

(rx::TextureVk::onDestroy):
(rx::TextureVk::copySubImageImpl):
(rx::TextureVk::copySubTextureImpl):
(rx::TextureVk::copySubImageImplWithTransfer):
(rx::TextureVk::copySubImageImplWithDraw):
(rx::TextureVk::setStorageExternalMemory):
(rx::TextureVk::setEGLImageTarget):
(rx::TextureVk::ensureImageAllocated):
(rx::TextureVk::setImageHelper):
(rx::TextureVk::copyImageDataToBufferAndGetData):
(rx::TextureVk::copyImageDataToBuffer):
(rx::TextureVk::generateMipmapsWithCPU):
(rx::TextureVk::generateMipmap):
(rx::TextureVk::setBaseLevel):
(rx::TextureVk::changeLevels):
(rx::TextureVk::bindTexImage):
(rx::TextureVk::getAttachmentRenderTarget):
(rx::TextureVk::ensureImageInitialized):
(rx::TextureVk::initLayerRenderTargets):
(rx::TextureVk::syncState):
(rx::TextureVk::getReadImageView const):
(rx::TextureVk::getFetchImageView const):
(rx::TextureVk::getLayerLevelDrawImageView):
(rx::TextureVk::getLayerLevelStorageImageView):
(rx::TextureVk::initImage):
(rx::TextureVk::initImageViews):
(rx::TextureVk::releaseImage):
(rx::TextureVk::releaseImageViews):
(rx::TextureVk::releaseStagingBuffer):
(rx::TextureVk::getLevelCount const):
(rx::TextureVk::generateMipmapLevelsWithCPU):
(rx::TextureVk::TextureVkViews::TextureVkViews): Deleted.
(rx::TextureVk::TextureVkViews::~TextureVkViews): Deleted.
(rx::TextureVk::TextureVkViews::release): Deleted.
(rx::TextureVk::init3DRenderTargets): Deleted.
(rx::TextureVk::initCubeMapRenderTargets): Deleted.
(rx::TextureVk::getTextureViews const): Deleted.
(rx::TextureVk::initImageViewImpl): Deleted.

  • src/libANGLE/renderer/vulkan/TextureVk.h:

(): Deleted.

  • src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp:

(rx::TransformFeedbackVk::onBeginOrEnd):

  • src/libANGLE/renderer/vulkan/UtilsVk.cpp:

(rx::UtilsVk::ensureConvertIndexIndirectResourcesInitialized):
(rx::UtilsVk::ensureConvertIndexIndirectLineLoopResourcesInitialized):
(rx::UtilsVk::convertIndexIndirectBuffer):
(rx::UtilsVk::convertLineLoopIndexIndirectBuffer):
(rx::UtilsVk::startRenderPass):
(rx::UtilsVk::clearFramebuffer):
(rx::UtilsVk::blitResolveImpl):
(rx::UtilsVk::stencilBlitResolveNoShaderExport):
(rx::UtilsVk::copyImage):
(rx::UtilsVk::cullOverlayWidgets):
(rx::UtilsVk::drawOverlay):

  • src/libANGLE/renderer/vulkan/UtilsVk.h:
  • src/libANGLE/renderer/vulkan/VertexArrayVk.cpp:

(rx::VertexArrayVk::destroy):
(rx::VertexArrayVk::convertIndexBufferIndirectGPU):
(rx::VertexArrayVk::handleLineLoopIndirect):
(rx::VertexArrayVk::convertVertexBufferCPU):
(rx::VertexArrayVk::syncDirtyAttrib):
(rx::VertexArrayVk::updateStreamedAttribs):
(rx::VertexArrayVk::updateDefaultAttrib):
(rx::VertexArrayVk::updateClientAttribs): Deleted.

  • src/libANGLE/renderer/vulkan/VertexArrayVk.h:

(rx::VertexArrayVk::getStreamingVertexAttribsMask const):

  • src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp:

(rx::HardwareBufferImageSiblingVkAndroid::initImpl):
(rx::HardwareBufferImageSiblingVkAndroid::release):

  • src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.h:
  • src/libANGLE/renderer/vulkan/doc/FastOpenGLStateTransitions.md:
  • src/libANGLE/renderer/vulkan/doc/FormatTablesAndEmulation.md:
  • src/libANGLE/renderer/vulkan/doc/OpenGLLineSegmentRasterization.md:
  • src/libANGLE/renderer/vulkan/doc/ShaderModuleCompilation.md:
  • src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py:

(shader_path):

  • src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc:
  • src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc:
  • src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000008.inc:
  • src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000009.inc:
  • src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000018.inc:
  • src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000019.inc:
  • src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp:
  • src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp.json:
  • src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp:
  • src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json:
  • src/libANGLE/renderer/vulkan/vk_cache_utils.cpp:

(rx::vk::GraphicsPipelineDesc::initializePipeline const):
(rx::vk::GraphicsPipelineDesc::updateVertexInput):
(rx::vk::PipelineLayoutDesc::updatePushConstantRange):
(rx::RenderPassCache::addRenderPass):
(rx::GraphicsPipelineCache::release):
(rx::GraphicsPipelineCache::insertPipeline):

  • src/libANGLE/renderer/vulkan/vk_cache_utils.h:
  • src/libANGLE/renderer/vulkan/vk_caps_utils.cpp:

(rx::RendererVk::ensureCapsInitialized const):

  • src/libANGLE/renderer/vulkan/vk_format_map.json:
  • src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp:

(rx::vk::Format::initialize):

  • src/libANGLE/renderer/vulkan/vk_format_utils.cpp:

(rx::MapSwizzleState):

  • src/libANGLE/renderer/vulkan/vk_helpers.cpp:

(rx::vk::DynamicBuffer::allocate):
(rx::vk::DynamicBuffer::releaseBufferListToRenderer):
(rx::vk::DynamicBuffer::release):
(rx::vk::DynamicBuffer::releaseInFlightBuffers):
(rx::vk::DescriptorPoolHelper::release):
(rx::vk::LineLoopHelper::LineLoopHelper):
(rx::vk::LineLoopHelper::streamIndicesIndirect):
(rx::vk::LineLoopHelper::release):
(rx::vk::LineLoopHelper::destroy):
(rx::vk::BufferHelper::init):
(rx::vk::BufferHelper::release):
(rx::vk::ImageHelper::ImageHelper):
(rx::vk::ImageHelper::init):
(rx::vk::ImageHelper::initExternal):
(rx::vk::ImageHelper::releaseImage):
(rx::vk::ImageHelper::releaseStagingBuffer):
(rx::vk::ImageHelper::destroy):
(rx::vk::ImageHelper::getBaseLevel):
(rx::vk::ImageHelper::setBaseAndMaxLevels):
(rx::vk::ImageHelper::generateMipmapsWithBlit):
(rx::vk::ImageHelper::removeStagedUpdates):
(rx::vk::ImageHelper::stageSubresourceUpdate):
(rx::vk::ImageHelper::stageSubresourceUpdateAndGetData):
(rx::vk::ImageHelper::stageSubresourceUpdateFromBuffer):
(rx::vk::ImageHelper::stageSubresourceUpdateFromFramebuffer):
(rx::vk::ImageHelper::allocateStagingMemory):
(rx::vk::ImageHelper::flushStagedUpdates):
(rx::vk::ImageHelper::isUpdateStaged):
(rx::vk::ImageHelper::SubresourceUpdate::SubresourceUpdate):
(rx::vk::ImageHelper::SubresourceUpdate::release):
(rx::vk::FramebufferHelper::release):
(rx::vk::ShaderProgramHelper::release):
(rx::vk::DynamicBuffer::releaseBufferListToContext): Deleted.
(rx::vk::DynamicBuffer::releaseBufferListToDisplay): Deleted.
(rx::vk::ImageHelper::dumpResources): Deleted.

  • src/libANGLE/renderer/vulkan/vk_helpers.h:

(rx::vk::ShaderProgramHelper::getShader):
(rx::vk::ShaderProgramHelper::getGraphicsPipeline):

  • src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp:

(rx::vk::ShaderLibrary::destroy):
(rx::vk::ShaderLibrary::getConvertIndexIndirectLineLoop_comp):

  • src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.gni:
  • src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h:
  • src/libANGLE/renderer/vulkan/vk_utils.cpp:

(rx::HasKhronosValidationLayer):
(rx::HasStandardValidationLayer):
(rx::GetAvailableValidationLayers):
(rx::vk::StagingBuffer::init):
(rx::vk::StagingBuffer::release):
(rx::vk::GarbageObject::GarbageObject):
(rx::vk::GarbageObject::operator=):
(rx::vk::GarbageObject::destroy):
(rx::gl_vk::GetSamplerMipmapMode):
(rx::vk::StagingBuffer::dumpResources): Deleted.
(rx::vk::GarbageObjectBase::GarbageObjectBase): Deleted.
(rx::vk::GarbageObjectBase::destroy): Deleted.
(rx::vk::GarbageObject::destroyIfComplete): Deleted.

  • src/libANGLE/renderer/vulkan/vk_utils.h:

(rx::vk::GarbageObject::valid const):
(rx::vk::GarbageObject::Get):
(rx::vk::GetGarbage):
(rx::vk::GarbageObjectBase::GarbageObjectBase): Deleted.

  • src/libANGLE/renderer/vulkan/vk_wrapper.h:

(rx::vk::WrappedObject::getHandle const):
(rx::vk::WrappedObject::valid const):
(rx::vk::WrappedObject::ptr const):
(rx::vk::WrappedObject::release):
(rx::vk::WrappedObject::WrappedObject):
(rx::vk::WrappedObject::~WrappedObject):
(rx::vk::WrappedObject::operator=):
(rx::vk::priv::CommandBuffer::SupportsQueries):
(rx::vk::priv::CommandBuffer::getMemoryUsageStats const):
(rx::vk::priv::CommandBuffer::drawIndexedIndirect):
(rx::vk::priv::CommandBuffer::drawIndirect):
(rx::vk::WrappedObject::dumpResources): Deleted.
(rx::vk::priv::CommandBuffer::getMemoryUsageStats): Deleted.

  • src/libANGLE/validationEGL.cpp:

(egl::ValidateCreateContext):
(egl::ValidateMakeCurrent):
(egl::ValidateCompatibleSurface):
(egl::ValidateStreamConsumerGLTextureExternalKHR):
(egl::ValidateStreamConsumerGLTextureExternalAttribsNV):
(egl::ValidateQueryStringiANGLE):
(egl::ValidateCompatibleConfigs): Deleted.

  • src/libANGLE/validationEGL.h:
  • src/libANGLE/validationES.cpp:

(gl::ValidateRenderbufferStorageParametersBase):
(gl::ValidateTexStorageMultisample):

  • src/libANGLE/validationES.h:

(gl::ValidateVertexFormat):

  • src/libANGLE/validationES2.cpp:

(gl::ValidateES2TexStorageParameters):

  • src/libANGLE/validationES3.cpp:

(gl::ValidateES3TexStorageParametersBase):

  • src/libANGLE/validationES31.cpp:

(gl::err::ValidateProgramResourceIndex):

  • src/libGLESv2.gni:
  • src/libGLESv2/entry_points_egl_ext.cpp:
  • src/tests/BUILD.gn:
  • src/tests/angle_deqp_tests_main.cpp:

(main):

  • src/tests/angle_end2end_tests.gni:
  • src/tests/compiler_tests/DebugShaderPrecision_test.cpp:

(TEST_F):

  • src/tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp:

(sh::TEST):

  • src/tests/compiler_tests/ImmutableString_test_autogen.cpp:

(sh::TEST):

  • src/tests/compiler_tests/QualificationOrder_test.cpp:

(TEST_F):

  • src/tests/deqp_support/angle_deqp_gtest.cpp:

(angle::InitTestHarness):

  • src/tests/deqp_support/angle_deqp_libtester_main.cpp:
  • src/tests/deqp_support/deqp_egl_TestExpectations: Removed.
  • src/tests/deqp_support/deqp_gles2_TestExpectations: Removed.
  • src/tests/deqp_support/deqp_gles31_TestExpectations: Removed.
  • src/tests/deqp_support/deqp_gles3_TestExpectations: Removed.
  • src/tests/deqp_support/deqp_khr_gles2_TestExpectations: Removed.
  • src/tests/deqp_support/deqp_khr_gles31_TestExpectations: Removed.
  • src/tests/deqp_support/deqp_khr_gles3_TestExpectations: Removed.
  • src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp:
  • src/tests/deqp_support/tcuANGLEPlatform.cpp:

(tcu::ANGLEPlatform::ANGLEPlatform):

  • src/tests/deqp_support/tes31Context_override.cpp:

(deqp::gles31::Context::Context):
(deqp::gles31::Context::~Context):
(deqp::gles31::Context::createRenderContext):
(deqp::gles31::Context::destroyRenderContext):
(deqp::gles31::Context::getRenderTarget const):

  • src/tests/egl_tests/EGLDeviceCGLTest.cpp: Added.

(EGLDeviceCGLQueryTest::EGLDeviceCGLQueryTest):
(TEST_P):

  • src/tests/egl_tests/EGLDirectCompositionTest.cpp:
  • src/tests/egl_tests/EGLFeatureControlTest.cpp:

(TEST_P):

  • src/tests/egl_tests/EGLNoConfigContextTest.cpp: Added.

(EGLNoConfigContextTest::EGLNoConfigContextTest):
(TEST_P):

  • src/tests/gl_tests/BlendFuncExtendedTest.cpp:

(angle::EXTBlendFuncExtendedDrawTestES3::LinkProgram):

  • src/tests/gl_tests/ComputeShaderTest.cpp:
  • src/tests/gl_tests/CopyTexImageTest.cpp:

(angle::TEST_P):

  • src/tests/gl_tests/CopyTextureTest.cpp:

(angle::CopyTextureVariationsTest::initializeSourceTexture):
(angle::CopyTextureVariationsTest::testCopyTexture):
(angle::CopyTextureVariationsTest::testCopySubTexture):
(angle::TEST_P):

  • src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp:

(angle::DrawBaseVertexBaseInstanceTest::DrawBaseVertexBaseInstanceTest):
(angle::DrawBaseVertexBaseInstanceTest::vertexShaderSource300):

  • src/tests/gl_tests/FramebufferTest.cpp:

(TEST_P):

  • src/tests/gl_tests/GLSLTest.cpp:
  • src/tests/gl_tests/IndexBufferOffsetTest.cpp:
  • src/tests/gl_tests/InstancingTest.cpp:
  • src/tests/gl_tests/LineLoopTest.cpp:

(LineLoopTest::checkPixels):
(LineLoopTest::runTest):
(LineLoopIndirectTest::runTest):
(TEST_P):

  • src/tests/gl_tests/LinkAndRelinkTest.cpp:

(angle::TEST_P):

  • src/tests/gl_tests/MipmapTest.cpp:
  • src/tests/gl_tests/OcclusionQueriesTest.cpp:
  • src/tests/gl_tests/ParallelShaderCompileTest.cpp:

(angle::ParallelShaderCompileTest::TaskRunner::run):

  • src/tests/gl_tests/ProgramInterfaceTest.cpp:
  • src/tests/gl_tests/SimpleOperationTest.cpp:
  • src/tests/gl_tests/StateChangeTest.cpp:
  • src/tests/gl_tests/TextureTest.cpp:

(angle::SliceFormatColor):
(angle::SliceFormatColor32F):

  • src/tests/gl_tests/TimerQueriesTest.cpp:
  • src/tests/gl_tests/UniformBufferTest.cpp:
  • src/tests/gl_tests/VertexAttributeTest.cpp:

(angle::TypeStride):
(angle::Normalize10):
(angle::Normalize2):
(angle::Pack1010102):
(angle::VertexAttributeTest::checkPixels):
(angle::VertexAttributeTest::checkRGBPixels):
(angle::VertexAttributeTest::runTest):
(angle::TEST_P):

  • src/tests/gles1_conformance_tests/ConformanceTests.cpp:

(angle::TEST_P):

  • src/tests/perf_tests/ANGLEPerfTest.cpp:
  • src/tests/perf_tests/DrawCallPerf.cpp:

(angle::DrawArraysPerfParams::DrawArraysPerfParams): Deleted.
(angle::DrawArraysPerfParams::story const): Deleted.
(angle::operator<<): Deleted.
(angle::CreateSimpleTexture2D): Deleted.
(angle::DrawCallPerfBenchmark::DrawCallPerfBenchmark): Deleted.
(angle::DrawCallPerfBenchmark::initializeBenchmark): Deleted.
(): Deleted.

  • src/tests/perf_tests/EGLMakeCurrentPerf.cpp:
  • src/tests/perf_tests/LinkProgramPerfTest.cpp:

(angle::TEST_P):

  • src/tests/perf_tests/MultiviewPerf.cpp:

(angle::MultiviewCPUBoundBenchmark::initializeBenchmark):
(angle::MultiviewGPUBoundBenchmark::initializeBenchmark):
(angle::TEST_P):

  • src/tests/perf_tests/UniformsPerf.cpp:

(TEST_P):

  • src/tests/perf_tests/VulkanPipelineCachePerf.cpp:

(rx::VulkanPipelineCachePerfTest::step):

  • src/tests/perf_tests/glmark2Benchmark.cpp:
  • src/tests/test_expectations/GPUTestConfig.cpp:

(angle::GPUTestConfig::GPUTestConfig):

  • src/tests/test_expectations/GPUTestConfig.h:
  • src/tests/test_expectations/GPUTestExpectationsParser.cpp:

(angle::GPUTestExpectationsParser::parseLine):

  • src/tests/test_utils/ANGLETest.cpp:
  • src/tests/test_utils/ANGLETest.h:
  • src/tests/test_utils/angle_test_configs.cpp:

(angle::PlatformParameters::initDefaultParameters):
(angle::operator<<):
(angle::egl_platform::VULKAN_SWIFTSHADER):
(angle::ES2_VULKAN_SWIFTSHADER):

  • src/tests/test_utils/angle_test_configs.h:
  • src/tests/test_utils/angle_test_instantiate.cpp:

(angle::IsWindows7):

  • src/tests/test_utils/angle_test_instantiate.h:
  • src/third_party/compiler/README.chromium:
  • third_party/vulkan-headers/BUILD.gn: Removed.
  • third_party/vulkan-headers/vulkan_headers_script_deps.gni: Removed.
  • third_party/vulkan-loader/BUILD.gn:
  • third_party/vulkan-tools/BUILD.gn: Removed.
  • third_party/vulkan-validation-layers/BUILD.gn: Removed.
  • third_party/vulkan-validation-layers/dummy_spirv_tools_commit_id.h: Removed.
  • util/EGLWindow.cpp:
  • util/fuchsia/ScenicWindow.cpp:

(ScenicWindow::resetNativeWindow):

  • util/posix/crash_handler_posix.cpp: Renamed from Source/ThirdParty/ANGLE/util/posix/Posix_crash_handler.cpp.
  • util/posix/test_utils_posix.cpp: Renamed from Source/ThirdParty/ANGLE/util/posix/Posix_system_utils.cpp.
  • util/test_utils.h: Renamed from Source/ThirdParty/ANGLE/util/system_utils.h.
  • util/util.gni:
  • util/util_gl.h:
  • util/windows/WGLWindow.cpp:
  • util/windows/test_utils_win.cpp: Renamed from Source/ThirdParty/ANGLE/util/windows/Windows_system_utils.cpp.

(angle::PrintStackBacktrace):

  • util/windows/win32/test_utils_win32.cpp: Renamed from Source/ThirdParty/ANGLE/util/windows/win32/Win32_system_utils.cpp.
  • util/x11/X11Window.cpp:
12:17 PM Changeset in webkit [251017] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] API tests should output result summary in json format
https://bugs.webkit.org/show_bug.cgi?id=202854

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/steps.py:

(RunAPITests): Output results in json format as well.

12:14 PM Changeset in webkit [251016] by ddkilzer@apple.com
  • 5 edits
    62 adds in trunk

Get StorageAccess API features working on SQLite database implementation (195422)
https://bugs.webkit.org/show_bug.cgi?id=195422
<rdar://problem/54213519>

Patch by Kate Cheney <Kate Cheney> on 2019-10-11
Reviewed by Brent Fulgham.

Source/WebKit:

This patch migrates the http/tests/storageAccess/ Layout tests to
use the ITP database and uncovered 3 bugs in the process.

  1. It was previously blocking cookies to a third party domain which

was not marked as prevalent. Now it ensures that the user is prompted
using the storage acess API regarding that third party domain.

  1. It was not requesting storage access if cookies had previously been

blocked. Now it will only return early from
ResourceLoadStatisticsDatabaseStore::requestStorageAccessUnderOpener
if cookie access is allowed, and request storage access otherwise.

  1. hasUserGrantedStorageAccessThroughPrompt was returning true even

if the result was not previously granted storage access.

All of these fixes match behavior in
ResourceLoadStatisticsMemoryStore.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccessUnderOpener):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasUserGrantedStorageAccessThroughPrompt):

LayoutTests:

This patch migrates tests in http/tests/storageAccess to use the ITP
SQLite Database to ensure the storageAccess API features are working.
Additionally, the Safari UI flow was manually tested for the database
using tlstestwebkit.org (no automated tests exist for this).

It also updates the test expectations for two tests that consistently
timeout on the flakiness dashboard and will be looked into in a
separate radar.

Most storageAccess tests are skipped on ios because of incompatibility
with recognizing user interaction.

  • http/tests/storageAccess/deny-storage-access-under-opener-database-expected.txt: Added.
  • http/tests/storageAccess/deny-storage-access-under-opener-database.html: Added.
  • http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database-expected.txt: Added.
  • http/tests/storageAccess/deny-storage-access-under-opener-if-auto-dismiss-database.html: Added.
  • http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database-expected.txt: Added.
  • http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database.html: Added.
  • http/tests/storageAccess/deny-without-prompt-preserves-gesture-database-expected.txt: Added.
  • http/tests/storageAccess/deny-without-prompt-preserves-gesture-database.html: Added.
  • http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database-expected.txt: Added.
  • http/tests/storageAccess/grant-storage-access-under-opener-at-popup-user-gesture-database.html: Added.
  • http/tests/storageAccess/grant-with-prompt-preserves-gesture-database-expected.txt: Added.
  • http/tests/storageAccess/grant-with-prompt-preserves-gesture-database.html: Added.
  • http/tests/storageAccess/has-storage-access-crash-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-crash-database.html: Added.
  • http/tests/storageAccess/has-storage-access-false-by-default-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-false-by-default-database.html: Added.
  • http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-database.html: Added.
  • http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-database.html: Added.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database.html: Added.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html: Added.
  • http/tests/storageAccess/remove-requesting-iframe-database-expected.txt: Added.
  • http/tests/storageAccess/remove-requesting-iframe-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html: Added.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database.html: Added.
  • http/tests/storageAccess/request-storage-access-crash-database-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-crash-database.html: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-database.html: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-database.html: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture-database.html: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-iframe-database-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-iframe-database.html: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-database.html: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-database.html: Added.
  • http/tests/storageAccess/request-storage-access-top-frame-database-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-top-frame-database.html: Added.
  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:
12:03 PM Changeset in webkit [251015] by Antti Koivisto
  • 13 edits in trunk

Position::upstream/downstream should not need to call ensureLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=202203

Reviewed by Zalan Bujtas.

Source/WebCore:

This avoids forced switch to complex text layout path by Position constructor and will allow future cleanups.

Currently simple line path strips end of line whitespace when white-space:pre-wrap is set.
These are don't affect rendering but they are needed for editing positions.
This patch makes simple line path match the complex path by generating runs for these whitespaces.

  • dom/Position.cpp:

(WebCore::Position::upstream const):
(WebCore::Position::downstream const):
(WebCore::ensureLineBoxesIfNeeded): Deleted.

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::LineState::appendFragmentAndCreateRunIfNeeded):

Create a new run if isLineBreak bit is set.

(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::LineState::trailingWhitespaceWidth const):
(WebCore::SimpleLineLayout::computeLineLeft):

Also compute width of the hanging whitespace when aligning the line. This matches the code
in updateLogicalWidthForLeft/Right/CenterAlignedBlock in the complex path.

(WebCore::SimpleLineLayout::preWrap):

breakSpaces implies preWrap is off.

(WebCore::SimpleLineLayout::firstFragment):
(WebCore::SimpleLineLayout::createLineRuns):

Crete runs also for soft linebreaks in pre-wrap.
Add whitespace runs to the end of the line in pre-wrap.

(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):

Hang the whitespace run when wrapping.

(WebCore::SimpleLineLayout::removeTrailingWhitespace): Deleted.

Remainging logic moved to the callsite.

LayoutTests:

Some additional end of line whitespaces.

Skip imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-013.html.

This test starts failing because soft linebreak clears the trailing whitespace run.
The failing behavior aligns simple path with the complex path. The existing textarea-pre-wrap-013.html
test (which takes the complex path) is already skipped because of this.

  • platform/mac/fast/forms/targeted-frame-submission-expected.txt:
  • platform/mac/fast/forms/textarea-scroll-height-expected.txt:
  • platform/mac/fast/loader/text-document-wrapping-expected.txt:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/mac/http/tests/misc/acid3-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
11:47 AM Changeset in webkit [251014] by dino@apple.com
  • 3 edits in trunk/LayoutTests

Layout test fast/events/touch/ios/passive-by-default-on-document-and-window.html is a flaky failure on Internal iOS Testers
https://bugs.webkit.org/show_bug.cgi?id=202858
<rdar://51829520>

Reviewed by Tim Horton.

We can't guarantee how many touchmove events we'll get for a drag, so
this was flaky. Easiest thing to do is remove the listeners, since they
aren't an important part of the test. (We could have removed them on
firing too, which we do for the similar test that exercises the case
where we don't use the default options)

  • fast/events/touch/ios/passive-by-default-on-document-and-window-expected.txt:
  • fast/events/touch/ios/passive-by-default-on-document-and-window.html:
11:47 AM Changeset in webkit [251013] by keith_miller@apple.com
  • 3 edits
    1 add in trunk

Wasm B3IRGenerator should use arguments for control data.
https://bugs.webkit.org/show_bug.cgi?id=202855

Reviewed by Yusuke Suzuki.

JSTests:

  • wasm/stress/loop-more-args-than-results.js: Added.

Source/JavaScriptCore:

This was failing a test on our bots. I'm not sure how I missed
it... I also added another test for good measure.

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::ControlData::ControlData):

10:22 AM Changeset in webkit [251012] by dino@apple.com
  • 6 edits in trunk

REGRESSION: fast/events/touch/ios/long-press-on-image.html is failing
https://bugs.webkit.org/show_bug.cgi?id=202845
Source/WebKit:

Reviewed by Antoine Quint.

Update _contentsOfUserInterfaceItem so that it returns more information
on a context menu.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _contentsOfUserInterfaceItem:]):

LayoutTests:

<rdar://51717197>

Reviewed by Antoine Quint.

This test failed because images no longer pop up action sheets, but
instead use context menus.

We no longer need to test the actions in the context menu here, since
it is covered by the TestWebKitAPI/Tests/WebKitCocoa/ContextMenus test.

However, we can still use this test to ensure we are getting a
context menu on the correct element.

  • fast/events/touch/ios/long-press-on-image-expected.txt:
  • fast/events/touch/ios/long-press-on-image.html:
  • platform/iphone-7/fast/events/touch/force-press-on-link.html: This

test currently fails and needs to be rewritten (rdar://problem/52699530),
but at least update it to use the new data from the Internal API.

9:41 AM Changeset in webkit [251011] by commit-queue@webkit.org
  • 16 edits in trunk/Source/WebKit

Use sendWithAsyncReply for cookie getting/clearing functions
https://bugs.webkit.org/show_bug.cgi?id=202841

Patch by Alex Christensen <achristensen@webkit.org> on 2019-10-11
Reviewed by Carlos Garcia Campos.

No change in behavior. This just simplifies the message sending a bit.

  • NetworkProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::getHostnamesWithCookies):
(WebKit::WebCookieManager::deleteAllCookies):
(WebKit::WebCookieManager::deleteCookie):
(WebKit::WebCookieManager::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManager::getAllCookies):
(WebKit::WebCookieManager::getCookies):
(WebKit::WebCookieManager::setCookie):
(WebKit::WebCookieManager::setCookies):
(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):

  • NetworkProcess/Cookies/WebCookieManager.h:
  • NetworkProcess/Cookies/WebCookieManager.messages.in:
  • NetworkProcess/Cookies/mac/WebCookieManagerMac.mm:
  • UIProcess/API/APIHTTPCookieStore.cpp:

(API::HTTPCookieStore::cookies):
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::deleteCookie):
(API::HTTPCookieStore::setHTTPCookieAcceptPolicy):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setCookieAcceptPolicy:]):

  • UIProcess/API/glib/WebKitCookieManager.cpp:

(webkit_cookie_manager_set_accept_policy):
(webkit_cookie_manager_get_accept_policy):
(webkit_cookie_manager_add_cookie):
(webkit_cookie_manager_get_cookies):
(webkit_cookie_manager_delete_cookie):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::addSingleCookie):

  • UIProcess/AuxiliaryProcessProxy.h:

(WebKit::AuxiliaryProcessProxy::sendWithAsyncReply):

  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::processPoolDestroyed):
(WebKit::WebCookieManagerProxy::processDidClose):
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookie):
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManagerProxy::setCookies):
(WebKit::WebCookieManagerProxy::getAllCookies):
(WebKit::WebCookieManagerProxy::getCookies):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): Deleted.
(WebKit::WebCookieManagerProxy::didSetCookies): Deleted.
(WebKit::WebCookieManagerProxy::didGetCookies): Deleted.
(WebKit::WebCookieManagerProxy::didDeleteCookies): Deleted.
(WebKit::WebCookieManagerProxy::didGetHTTPCookieAcceptPolicy): Deleted.
(WebKit::WebCookieManagerProxy::didSetHTTPCookieAcceptPolicy): Deleted.

  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebCookieManagerProxy.messages.in:
9:29 AM Changeset in webkit [251010] by Keith Rollin
  • 2 edits in trunk/Source/WTF

Remove some support for < iOS 13
https://bugs.webkit.org/show_bug.cgi?id=202819
<rdar://problem/56164233>

Reviewed by Anders Carlsson.

Remove some support for iOS versions less than 13.0.

Update conditionals that reference IPHONE_OS_VERSION_MIN_REQUIRED
and
IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
values >= 130000. This means that expressions like
"IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and
"
IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True.

This removal is part of a series of patches effecting the removal of
dead code for old versions of iOS. This particular pass involves
changes in which Jiewen Tan was involved. These changes are isolated
from other similar changes in order to facilitate the reviewing
process.

  • wtf/Platform.h:
8:20 AM Changeset in webkit [251009] by commit-queue@webkit.org
  • 10 edits in trunk/LayoutTests

Layout Test media/W3C/audio/events/event_progress.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=181966

Patch by Peng Liu <Peng Liu> on 2019-10-11
Reviewed by Eric Carlson.

It is possible that video/audio elements fire "progress" event again
when the event handler is still processing the previous "progress" event.
We need to ignore all the events except the first one to make sure
the test cases generate consistent output.

In addition, this patch fixes some errors in JS file names and function parameters.

  • http/tests/resources/js-test-pre.js:

(isSuccessfullyParsed):

  • media/W3C/audio/events/event_order_loadstart_progress.html:
  • media/W3C/audio/events/event_progress.html:
  • media/W3C/audio/events/event_progress_manual.html:
  • media/W3C/video/events/event_order_loadstart_progress.html:
  • media/W3C/video/events/event_progress.html:
  • media/W3C/video/events/event_progress_manual.html:
  • media/W3C/w3cwrapper.js:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • resources/js-test-pre.js:

(isSuccessfullyParsed):

7:30 AM Changeset in webkit [251008] by Jonathan Bedard
  • 6 edits
    1 delete in trunk

Unreviewed, rolling out r250945.

Broke 18 Debug API tests

Reverted changeset:

"Add support for CompactPointerTuple<..., OptionSet<...>>"
https://bugs.webkit.org/show_bug.cgi?id=201316
https://trac.webkit.org/changeset/250945

7:18 AM Changeset in webkit [251007] by commit-queue@webkit.org
  • 8 edits in trunk

OfflineAudioContext does not validate allocation of destination buffer
https://bugs.webkit.org/show_bug.cgi?id=177259

Patch by Bjorn Melinder <bjornm@spotify.com> on 2019-10-11
Reviewed by Eric Carlson.

Moved the allocation of the destination buffer to the static
OfflineAudioContext::create method where we are able to handle a failed
allocation properly and return an Exception. This change handles both
negative lengths as well as too large lengths where the memory cannot
be allocated.

Source/WebCore:

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):

  • Modules/webaudio/AudioContext.h:
  • Modules/webaudio/OfflineAudioContext.cpp:

(WebCore::OfflineAudioContext::OfflineAudioContext):
(WebCore::OfflineAudioContext::create):

  • Modules/webaudio/OfflineAudioContext.h:

LayoutTests:

  • webaudio/offlineaudiocontext-constructor-expected.txt:
  • webaudio/offlineaudiocontext-constructor.html:
4:37 AM Changeset in webkit [251006] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Flaky test: imported/w3c/web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.destination-in.html
https://bugs.webkit.org/show_bug.cgi?id=202801

Patch by Chris Lord <Chris Lord> on 2019-10-11
Reviewed by Alexey Proskuryakov.

More OffscreenCanvas tests failing due to unhandled Promise rejection.
See also bug #202782.

2:04 AM Changeset in webkit [251005] by Konstantin Tokarev
  • 6 edits in trunk

[cmake] Use HINTS instead of PATHS when searching in paths from pkg-config
https://bugs.webkit.org/show_bug.cgi?id=202831

Reviewed by Carlos Garcia Campos.

HINTS and PATHS sections are similar, however HINTS is processed before
default system locations, while PATHS - after. If target file can be found
in the system, pkg-config results are ignored in case of PATHS, making it
impossible to override system version of library with PKG_CONFIG_PATH.

Note that CMake documentation recommends using PATHS for hard-coded guesses.

  • Source/cmake/FindEnchant.cmake:
  • Source/cmake/FindFontconfig.cmake:
  • Source/cmake/FindLibEpoxy.cmake:
  • Source/cmake/FindLibtasn1.cmake:
  • Source/cmake/FindSqlite.cmake:
1:53 AM Changeset in webkit [251004] by magomez@igalia.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK and WPE gardening after r251001. Removing crash expectations after
bug 202784 was fixed.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
1:21 AM Changeset in webkit [251003] by calvaris@igalia.com
  • 2 edits in trunk/Source/WTF

MediaTime pretty printer can print if time is invalid
https://bugs.webkit.org/show_bug.cgi?id=202735

Reviewed by Eric Carlson.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::toString const): Append ", invalid" if isInvalid().
(WTF::MediaTime::toJSONObject const): Set boolean invalid to true
when invalid.

Note: See TracTimeline for information about the timeline view.