Timeline
Nov 3, 2019:
- 11:33 PM Changeset in webkit [251979] by
-
- 2 edits in trunk/Source/WebKit
[WebAuthn] CtapAuthenticator::tryDowngrade should distinguish requestData().options
https://bugs.webkit.org/show_bug.cgi?id=203771
<rdar://problem/56832618>
Reviewed by Brent Fulgham.
CtapAuthenticator::tryDowngrade assumes the request is a getAssertion request. This is true
for most cases but not for Google's registration. For Google's registration, a quirk is
implemented to use U2F commands for registration if GoogleLegacyAppIdSupportExtension asks
us to do so.
No tests given there is no way to simulate google.com in our test infrastructures.
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::tryDowngrade):
- 8:11 PM Changeset in webkit [251978] by
-
- 7 edits1 add in trunk
LLIntGenerator should not allocate temporaries in between variables
https://bugs.webkit.org/show_bug.cgi?id=203787
Reviewed by Yusuke Suzuki.
JSTests:
- wasm/stress/local-ref.js: Added.
Source/JavaScriptCore:
The BytecodeGenerator requires that all variables must be allocated contiguously, before any
temporaries are allocated. Currently, we might end up allocating a temporary to materialize
the null constant to initialize locals of type Anyref/Funcref. Fix it by keeping track of the
locals that need to be initialized and adding a new callback to notify when we have finished
parsing locals. Only then we perform the delayed initialization of local refs.
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::didFinishParsingLocals):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::didFinishParsingLocals):
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parse):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::addLocal):
(JSC::Wasm::LLIntGenerator::didFinishParsingLocals):
- wasm/WasmValidate.cpp:
(JSC::Wasm::Validate::didFinishParsingLocals):
- 3:39 PM Changeset in webkit [251977] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Verification] Forced line break display runs don't have TextContext
https://bugs.webkit.org/show_bug.cgi?id=203779
<rdar://problem/56839710>
Reviewed by Antti Koivisto.
Display::Run's optional TextContext is not available for forced line breaks (since they are not text runs).
- layout/Verification.cpp:
(WebCore::Layout::checkForMatchingTextRuns):
- 12:34 PM Changeset in webkit [251976] by
-
- 9 edits1 add2 deletes in trunk
WKWebView can get stuck blank (Web Content process thinks the app is backgrounded)
https://bugs.webkit.org/show_bug.cgi?id=203774
<rdar://problem/53399054>
Reviewed by Chris Dumez.
Source/WebKit:
With careful timing, if a WKWebView swaps out its content view in the
background, the incoming view can fail to inform the Web Content process
when the app comes to the foreground, leaving the layer tree frozen.
This occurs because the last-sent state is stored per-WKApplicationStateTrackingView,
and the content view is the WKApplicationStateTrackingView, so it is possible
for e.g. a WKPDFView to be in the hierarchy, keeping the correct state,
with an initialized-but-never-parented WKContentView hanging off the WKWebView.
If it is never parented, WKContentView will think that the current application
state is foreground (_lastObservedStateWasBackground is initialized to NO).
If you go into the background with a WKPDFView as the current content view,
it will inform the Web Content process that the application has backgrounded.
If, still in the background, WKWebView swaps from the WKPDFView to
the WKContentView, and then comes into the foreground, when we get the
notification that the app came to the foreground, we will not forward it
to the Web Content process, because WKContentView's _lastObservedStateWasBackground
remains NO.
To fix this, move _lastObservedStateWasBackground to WebPageProxy, so that
it always tracks the most recently sent state, regardless of which content view
is active.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::lastObservedStateWasBackground const):
- UIProcess/ios/WKApplicationStateTrackingView.mm:
(-[WKApplicationStateTrackingView willMoveToWindow:]):
(-[WKApplicationStateTrackingView didMoveToWindow]):
(-[WKApplicationStateTrackingView _applicationDidEnterBackground]):
(-[WKApplicationStateTrackingView _applicationWillEnterForeground]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidEnterBackground):
(WebKit::WebPageProxy::applicationWillEnterForeground):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm: Added.
(TEST):
(isBackground):
(createHostViewForExtensionIdentifier):
- TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewResizeCrash.mm: Removed.
- TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewStablePresentationUpdateCallback.mm: Removed.
- TestWebKitAPI/cocoa/TestNavigationDelegate.h:
- TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[WKWebView _test_waitForDidFinishNavigationWithoutPresentationUpdate]):
Merge existing WKPDFView tests into one file, and add one for this bug.
- 12:01 PM Changeset in webkit [251975] by
-
- 8 edits1 copy in trunk/Source/WebCore
Add a helper function to schedule a task to dispatch an event to ActiveDOMObject
https://bugs.webkit.org/show_bug.cgi?id=203714
Reviewed by Chris Dumez.
Added two helper static member functions queueTaskKeepingObjectAlive and queueTaskToDispatchEvent
to ActiveDOMObject and deployed them in ServiceWorkerContainer.
No new tests since there should be no behavioral changes.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- dom/AbstractEventLoop.h:
- dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::queueTaskInEventLoop): Added.
- dom/ActiveDOMObject.h:
(WebCore::ActiveDOMObject::queueTaskKeepingObjectAlive): Added.
(WebCore::ActiveDOMObject::queueTaskToDispatchEvent): Added.
- dom/TaskSource.h: Added.
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::ready):
(WebCore::ServiceWorkerContainer::getRegistration):
(WebCore::ServiceWorkerContainer::getRegistrations):
(WebCore::ServiceWorkerContainer::jobFailedWithException):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
(WebCore::ServiceWorkerContainer::fireControllerChangeEvent):
(WebCore::ServiceWorkerContainer::enqueueTask): Deleted.
- workers/service/ServiceWorkerContainer.h:
- 10:28 AM Changeset in webkit [251974] by
-
- 15 edits in trunk/Source/WebCore
Make AXIsolatedTreeNode a subclass of AXCoreObject.
https://bugs.webkit.org/show_bug.cgi?id=203717
Reviewed by Chris Fleizach.
No new tests needed, no new functionality.
- AXIsolatedTreeNOde derives from AXCoreObject.
- AccessibilityObjectWrapper can now have a single pointer to a AXCoreObject instead of one for the live object and one for the isolated object.
- Simplified wrapper code by making it agnostic of the nature of the underlying AXCoreObject.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::characterOffsetForPoint):
(WebCore::AXObjectCache::characterOffsetForIndex):
(WebCore::AXObjectCache::createIsolatedAccessibilityTreeHierarchy):
(WebCore::AXObjectCache::generateIsolatedAccessibilityTree):
- accessibility/AXObjectCache.h:
- accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::attachWrapper):
- accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::attachWrapper):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(AccessibilityUnignoredAncestor):
(-[WebAccessibilityTextMarker initWithData:accessibilityObject:]):
(-[WebAccessibilityObjectWrapper initWithAccessibilityObject:]):
(-[WebAccessibilityObjectWrapper _accessibilityTreeAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityListAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityArticleAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityLandmarkAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityIsInTableCell]):
(-[WebAccessibilityObjectWrapper _accessibilityFieldsetAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityFrameAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):
(-[WebAccessibilityObjectWrapper tableCellParent]):
(-[WebAccessibilityObjectWrapper tableParent]):
(-[WebAccessibilityObjectWrapper accessibilityTitleElement]):
(-[WebAccessibilityObjectWrapper accessibilityDatetimeValue]):
(-[WebAccessibilityObjectWrapper detailParentForSummaryObject:]):
(-[WebAccessibilityObjectWrapper detailParentForObject:]):
(-[WebAccessibilityObjectWrapper treeItemParentForObject:]):
(AXAttributeStringSetStyle):
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):
(-[WebAccessibilityObjectWrapper accessibilityIsExpanded]):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::setRoot):
(WebCore::AXIsolatedTree::applyPendingChanges):
(WebCore::AXIsolatedTree::setRootNodeID): Deleted.
- accessibility/isolatedtree/AXIsolatedTree.h:
- accessibility/isolatedtree/AXIsolatedTreeNode.cpp:
(WebCore::AXIsolatedTreeNode::AXIsolatedTreeNode):
(WebCore::AXIsolatedTreeNode::create):
(WebCore::AXIsolatedTreeNode::initializeAttributeData):
(WebCore::AXIsolatedTreeNode::appendChild):
(WebCore::AXIsolatedTreeNode::children):
(WebCore::AXIsolatedTreeNode::parentObjectUnignored const):
(WebCore::AXIsolatedTreeNode::accessibilityHitTest const):
(WebCore::AXIsolatedTreeNode::updateBackingStore):
(WebCore::AXIsolatedTreeNode::parentObjectInterfaceUnignored const): Deleted.
- accessibility/isolatedtree/AXIsolatedTreeNode.h:
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::attachWrapper):
(WebCore::AXObjectCache::associateIsolatedTreeNode): Deleted.
- accessibility/mac/WebAccessibilityObjectWrapperBase.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(convertToNSArray):
(-[WebAccessibilityObjectWrapperBase initWithAccessibilityObject:]):
(-[WebAccessibilityObjectWrapperBase detach]):
(-[WebAccessibilityObjectWrapperBase updateObjectBackingStore]):
(-[WebAccessibilityObjectWrapperBase accessibilityObject]):
(-[WebAccessibilityObjectWrapperBase axBackingObject]):
(accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
(-[WebAccessibilityObjectWrapperBase isolatedTreeNode]): Deleted.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):
(convertToVector):
(-[WebAccessibilityObjectWrapper childrenVectorSize]):
(-[WebAccessibilityObjectWrapper childrenVectorArray]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
- accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::attachWrapper):
- 7:10 AM Changeset in webkit [251973] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Runs collapsed to zero advanced width are not always whitespace collapsed
https://bugs.webkit.org/show_bug.cgi?id=203778
<rdar://problem/56839642>
Reviewed by Antti Koivisto.
Just because a run collapses to zero advanced width, it does not necessarily mean it is a collapsed run (in whitespace collapsing sense)
e.g. trimmed trailing whitespace (m_collapsedToZeroAdvanceWidth should probably be renamed to something other than "collapsed" to avoid confusion).
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::close):
(WebCore::Layout::Line::appendTextContent):
- layout/inlineformatting/InlineLine.h:
(WebCore::Layout::Line::Run::setCollapsesToZeroAdvanceWidth):
- 7:08 AM Changeset in webkit [251972] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Pre-wrap: Overflown whitespace should stay on the current line
https://bugs.webkit.org/show_bug.cgi?id=203780
<rdar://problem/56839822>
Reviewed by Antti Koivisto.
white-space: pre-wrap needs clarification. According to CSS Text Module Level 3, content wrapping is as 'normal'
but apparently we need to keep the overlapping whitespace on the line (and hang it I'd assume).
- layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::isTrailingWhitespaceWithPreWrap):
(WebCore::Layout::LineBreaker::breakingContextForInlineContent):
Nov 2, 2019:
- 9:58 PM Changeset in webkit [251971] by
-
- 7 edits in trunk/Source
Versioning.
- 9:55 PM Changeset in webkit [251970] by
-
- 13 edits2 deletes in tags/Safari-609.1.10
Cherry-pick r251967. rdar://problem/56836147
Revert http://trac.webkit.org/r251875
Don't use memmove/memcpy/memset for memory that can be scanned concurrently
This is suspected to have broken performance tests on iOS.
JSTests:
- stress/torn-js-value-concurrent-collector.js: Removed.
Source/JavaScriptCore:
Also reverted http://trac.webkit.org/r251909, because that was necessary for clean revert.
gcSafeMemmove references undefined slowPathBackwardsMemmove on non-gcc compatible compilers
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/GCMemoryOperations.h: Removed.
- heap/Heap.h:
- runtime/ArrayConventions.cpp: (JSC::clearArrayMemset):
- runtime/ArrayPrototype.cpp: (JSC::copyElements):
- runtime/ButterflyInlines.h: (JSC::Butterfly::tryCreate): (JSC::Butterfly::createOrGrowPropertyStorage): (JSC::Butterfly::growArrayRight): (JSC::Butterfly::reallocArrayRightIfPossible): (JSC::Butterfly::resizeArray): (JSC::Butterfly::unshift): (JSC::Butterfly::shift):
- runtime/JSArray.cpp: (JSC::JSArray::unshiftCountSlowCase): (JSC::JSArray::appendMemcpy): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithArrayStorage): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage):
- runtime/JSObject.cpp: (JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements): (JSC::JSObject::convertFromCopyOnWrite): (JSC::JSObject::shiftButterflyAfterFlattening):
- runtime/JSObject.h:
- runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray):
- runtime/Structure.cpp: (JSC::Structure::flattenDictionaryStructure):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:53 PM Changeset in webkit [251969] by
-
- 1 copy in tags/Safari-609.1.10
Tag Safari-609.1.10.
- 8:44 PM Changeset in webkit [251968] by
-
- 6 edits in trunk/Source/WebCore
Port DOMCache / DOMCacheStorage to the HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203772
Reviewed by Sam Weinig.
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::DOMCache):
(WebCore::DOMCache::match):
(WebCore::DOMCache::matchAll):
(WebCore::DOMCache::addAll):
(WebCore::DOMCache::putWithResponseData):
(WebCore::DOMCache::put):
(WebCore::DOMCache::remove):
(WebCore::DOMCache::keys):
(WebCore::DOMCache::enqueueTask):
(WebCore::DOMCache::hasPendingActivity const): Deleted.
- Modules/cache/DOMCache.h:
- Modules/cache/DOMCacheStorage.cpp:
(WebCore::DOMCacheStorage::DOMCacheStorage):
(WebCore::DOMCacheStorage::doSequentialMatch):
(WebCore::DOMCacheStorage::match):
(WebCore::DOMCacheStorage::has):
(WebCore::DOMCacheStorage::open):
(WebCore::DOMCacheStorage::doOpen):
(WebCore::DOMCacheStorage::remove):
(WebCore::DOMCacheStorage::doRemove):
(WebCore::DOMCacheStorage::keys):
(WebCore::DOMCacheStorage::enqueueTask):
(WebCore::DOMCacheStorage::hasPendingActivity const): Deleted.
- Modules/cache/DOMCacheStorage.h:
- 5:49 PM Changeset in webkit [251967] by
-
- 13 edits2 deletes in trunk
Revert http://trac.webkit.org/r251875
Don't use memmove/memcpy/memset for memory that can be scanned concurrently
This is suspected to have broken performance tests on iOS.
JSTests:
- stress/torn-js-value-concurrent-collector.js: Removed.
Source/JavaScriptCore:
Also reverted http://trac.webkit.org/r251909, because that was necessary for clean revert.
gcSafeMemmove references undefined slowPathBackwardsMemmove on non-gcc compatible compilers
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/GCMemoryOperations.h: Removed.
- heap/Heap.h:
- runtime/ArrayConventions.cpp:
(JSC::clearArrayMemset):
- runtime/ArrayPrototype.cpp:
(JSC::copyElements):
- runtime/ButterflyInlines.h:
(JSC::Butterfly::tryCreate):
(JSC::Butterfly::createOrGrowPropertyStorage):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::reallocArrayRightIfPossible):
(JSC::Butterfly::resizeArray):
(JSC::Butterfly::unshift):
(JSC::Butterfly::shift):
- runtime/JSArray.cpp:
(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::fastSlice):
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):
- runtime/JSObject.cpp:
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::convertFromCopyOnWrite):
(JSC::JSObject::shiftButterflyAfterFlattening):
- runtime/JSObject.h:
- runtime/RegExpMatchesArray.h:
(JSC::createRegExpMatchesArray):
- runtime/Structure.cpp:
(JSC::Structure::flattenDictionaryStructure):
- 1:12 PM Changeset in webkit [251966] by
-
- 5 edits in trunk/Source/JavaScriptCore
The offline assembler is wrong about which immediates are supported by and/or/xor on ARM64
https://bugs.webkit.org/show_bug.cgi?id=203752
Reviewed by Tadeu Zagallo.
See https://dinfuehr.github.io/blog/encoding-of-immediate-values-on-aarch64/ for the details of which immediates are supported.
This patch is a minimal fix, ideally we should refactor all of the code dealing with immediates in risc.rb, but considering that I don't know ruby and this code is poorly/not tested, I went for the simplest possible fix.
- offlineasm/arm64.rb:
- offlineasm/mips.rb:
- offlineasm/risc.rb:
- 11:48 AM Changeset in webkit [251965] by
-
- 12 edits4 adds in trunk
[css-grid] Fix line name positions after auto repeat with no line names
https://bugs.webkit.org/show_bug.cgi?id=203670
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
Import WPT tests.
There are some test failures because integer repeat() is still expanded
at computed-value time (https://webkit.org/b/202259).
- web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-expected.txt:
- web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid-expected.txt:
- web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid.html:
- web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-withcontent-expected.txt: Added.
- web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-withcontent.html: Added.
- web-platform-tests/css/css-grid/parsing/grid-template-columns-computed.html:
- web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-expected.txt:
- web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-nogrid-expected.txt:
- web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-nogrid.html:
- web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-withcontent-expected.txt: Added.
- web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-withcontent.html: Added.
- web-platform-tests/css/css-grid/parsing/grid-template-rows-computed.html:
- web-platform-tests/css/css-grid/parsing/w3c-import.log:
Source/WebCore:
When serializing grid-template-rows/columns of a grid container, we need
to handle auto repeat() specially in order to insert the line names at
the correct places.
Before this patch, this was skipped for indices before the insertion
point of the auto repeat, and in case the auto repeat had no line name.
The latter logic was wrong, if there is an auto repeat we still need the
special code after the insertion point, even if it has no line names.
The proper condition to check is whether there is no auto repeat.
The patch also avoids a 2nd call to gridAutoRepeatRows/Columns since we
already have the value in a variable.
Tests: imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed.html
imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid.html
imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-withcontent.html
imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed.html
imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-nogrid.html
imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-withcontent.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::OrderedNamedLinesCollectorInGridLayout::OrderedNamedLinesCollectorInGridLayout):
(WebCore::OrderedNamedLinesCollectorInGridLayout::collectLineNamesForIndex const):
(WebCore::valueForGridTrackList):
- 9:54 AM Changeset in webkit [251964] by
-
- 2 edits1 copy1 add in trunk/LayoutTests
REGRESSION: [ Mac ] inspector/dom/getAccessibilityPropertiesForNode.html is failing
https://bugs.webkit.org/show_bug.cgi?id=203746
Unreviewed. Move custom test expectation under platform/gtk and revert generic
one to the previous state (it was wrongly updated in r251818).
- inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
- platform/gtk/inspector/dom/getAccessibilityPropertiesForNode-expected.txt: Copied from LayoutTests/inspector/dom/getAccessibilityPropertiesForNode-expected.txt.
- 12:36 AM Changeset in webkit [251963] by
-
- 31 edits1 add in trunk
Web Inspector: Add diagnostic logging for frontend feature usage
https://bugs.webkit.org/show_bug.cgi?id=203579
<rdar://problem/56717410>
Reviewed by Brian Burg.
.:
Original patch by Matt Baker <Matt Baker>.
- Source/cmake/OptionsMac.cmake:
- Source/cmake/WebKitFeatures.cmake:
Add
ENABLE_INSPECTOR_TELEMETRY, which is only enabled for macOS.
Source/JavaScriptCore:
Original patch by Matt Baker <Matt Baker>.
- Configurations/FeatureDefines.xcconfig:
Add
ENABLE_INSPECTOR_TELEMETRY, which is only enabled for macOS.
Source/WebCore:
Add
InspectorFrontendHostAPI for logging diagnostic events from the
Web Inspector UI. An event consists of a message string, such as "TabActivity"
or "SettingChanged", and a dictionary payload encoded as a JSON string.
Original patch by Matt Baker.
- inspector/InspectorFrontendHost.idl:
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::supportsDiagnosticLogging): Added.
(WebCore::valuePayloadFromJSONValue): Added.
(WebCore::InspectorFrontendHost::logDiagnosticEvent): Added.
- inspector/InspectorFrontendClient.h:
(WebCore::InspectorFrontendClient::supportsDiagnosticLogging): Added.
(WebCore::InspectorFrontendClient::logDiagnosticEvent): Added.
- Configurations/FeatureDefines.xcconfig:
Add
ENABLE_INSPECTOR_TELEMETRY, which is only enabled for macOS.
Source/WebCore/PAL:
Original patch by Matt Baker <Matt Baker>.
- Configurations/FeatureDefines.xcconfig:
Add
ENABLE_INSPECTOR_TELEMETRY, which is only enabled for macOS.
Source/WebInspectorUI:
Add a
DiagnosticControllerclass for reporting Web Inspector telemetry.
The controller initially measures a single "TabActivity" data point,
which logs the active tab during the specified time interval (one minute).
If the UI is not active during the time interval, no logging takes place.
The UI is considered to be active if mouse/keyboard interaction occurs
during the time interval, or the selectedTabContentViewchanges.
Original patch by Matt Baker <Matt Baker>.
- UserInterface/Controllers/DiagnosticController.js: Added.
(WI.DiagnosticController):
(WI.DiagnosticController.supportsDiagnosticLogging):
(WI.DiagnosticController.prototype.logDiagnosticMessage):
(WI.DiagnosticController.prototype._didInteractWithTabContent):
(WI.DiagnosticController.prototype._clearTabActivityTimeout):
(WI.DiagnosticController.prototype._beginTabActivityTimeout):
(WI.DiagnosticController.prototype._stopTrackingTabActivity):
(WI.DiagnosticController.prototype._handleWindowFocus):
(WI.DiagnosticController.prototype._handleWindowBlur):
(WI.DiagnosticController.prototype._handleWindowKeyDown):
(WI.DiagnosticController.prototype._handleWindowMouseDown):
(WI.DiagnosticController.prototype._handleTabBrowserSelectedTabContentViewDidChange):
- UserInterface/Main.html:
- UserInterface/Base/Main.js:
(WI.contentLoaded):
Source/WebKit:
This patch enables diagnostic logging for the Web Inspector web process
and adds the necessaryInspectorFrontendClientplumbing toWebInspectorUI.
Original patch by Matt Baker <Matt Baker>.
- WebProcess/WebPage/WebInspectorUI.h:
- WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::supportsDiagnosticLogging): Added.
(WebKit::WebInspectorUI::logDagnosticEvent): Added.
- WebProcess/WebPage/RemoteWebInspectorUI.h:
- WebProcess/WebPage/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::supportsDiagnosticLogging): Added.
(WebKit::RemoteWebInspectorUI::logDiagnosticEvent): Added.
- UIProcess/mac/WKInspectorViewController.mm:
(-[WKInspectorViewController configuration]):
Default to enabling diagnostic logging for the Web Inspector frontend window.
- Configurations/FeatureDefines.xcconfig:
Add
ENABLE_INSPECTOR_TELEMETRY, which is only enabled for macOS.
Source/WebKitLegacy/mac:
Original patch by Matt Baker <Matt Baker>.
- WebCoreSupport/WebInspectorClient.h:
- WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::supportsDiagnosticLogging): Added.
(WebInspectorFrontendClient::logDiagnosticEvent): Added.
- Configurations/FeatureDefines.xcconfig:
Add
ENABLE_INSPECTOR_TELEMETRY, which is only enabled for macOS.
Source/WTF:
Original patch by Matt Baker <Matt Baker>.
- wtf/FeatureDefines.h:
Add
ENABLE_INSPECTOR_TELEMETRY, which is only enabled for macOS.
Tools:
Original patch by Matt Baker <Matt Baker>.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
Add
ENABLE_INSPECTOR_TELEMETRY, which is only enabled for macOS.