Timeline



Nov 1, 2019:

6:27 PM Changeset in webkit [251962] by Devin Rousso
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: switching tabs should re-focus the previously focused element
https://bugs.webkit.org/show_bug.cgi?id=203744

Reviewed by Brian Burg.

  • UserInterface/Views/TabBrowser.js:

(WI.TabBrowser.prototype._tabBarItemSelected):
(WI.TabBrowser.prototype._saveFocusedNodeForTabContentView): Added.
(WI.TabBrowser.prototype._restoreFocusedNodeForTabContentView): Added.
Store the document.activeElement on the WI.TabContentView and .focus() it after we're
done showing the newly selected tab, but only if there isn't already something focused.

  • UserInterface/Views/TabBar.js:

(WI.TabBar.prototype.set selectedTabBarItem):

  • UserInterface/Views/LegacyTabBar.js:

(WI.LegacyTabBar.prototype.set selectedTabBarItem):
Include the previously selected tab bar item when dispatching selection change events.

  • UserInterface/Views/ContentBrowserTabContentView.js:

(WI.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObject):
Don't omit focus when revealing represented objects.

6:17 PM Changeset in webkit [251961] by Jonathan Bedard
  • 5 edits
    1 add in trunk/Tools

Python 3: Add support in webkitpy.layout_tests.model
https://bugs.webkit.org/show_bug.cgi?id=203702

Reviewed by Stephanie Lewis.

  • Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.model.
  • Scripts/webkitpy/layout_tests/models/test_configuration.py:

(SpecifierSorter.sort_specifiers): Convert iterator to list.
(TestConfigurationConverter.to_config_set): Use reduce from functors.
(TestConfigurationConverter.intersect_combination): Ditto.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationsModel.get_test_set_for_keyword): Use iterators in both Python 2
and Python 3.
(TestExpectationsModel._remove_from_sets): Ditto.
(TestExpectations.parse_generic_expectations): Covert iterators to lists for indexing.
(TestExpectations.parse_default_port_expectations): Ditto.
(TestExpectations.parse_override_expectations): Ditto.
(TestExpectations.remove_configuration_from_test): Use any instead of just checking the
first element in the set.

  • Scripts/webkitpy/layout_tests/models/test_run_results.py:

(summarize_results): Use items instead of iteritems.

5:54 PM Changeset in webkit [251960] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: Restrict WebSpeech voices to built-in voices only
https://bugs.webkit.org/show_bug.cgi?id=203689

Reviewed by Per Arne Vollan.

Only show built-in voices when requesting through WebKit to reduce fingerprinting surface area.

  • platform/ios/PlatformSpeechSynthesizerIOS.mm:

(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):

5:45 PM Changeset in webkit [251959] by Devin Rousso
  • 59 edits
    3 copies
    2 moves
    9 adds
    2 deletes in trunk

Web Inspector: Timelines: add a timeline that shows information about any recorded CSS animation/transition
https://bugs.webkit.org/show_bug.cgi?id=203651
<rdar://problem/56128726>

Reviewed by Brian Burg.

Source/JavaScriptCore:

Unlike all other forms of Web Animations, CSS animations/transitions, are _not_ created by
JavaScript, and therefore can seemingly appear out of nowhere. This patch expands the Media
timeline to be the Media & Animations timeline, which tracks when CSS animations/transitions
are created, started, delayed, iterated, canceled, or finished.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • inspector/protocol/Animation.json: Added.
  • inspector/protocol/Timeline.json:

Add an Animation domain for handling the tracking of CSS Web Animations.

Source/WebCore:

Unlike all other forms of Web Animations, CSS animations/transitions, are _not_ created by
JavaScript, and therefore can seemingly appear out of nowhere. This patch expands the Media
timeline to be the Media & Animations timeline, which tracks when CSS animations/transitions
are created, started, delayed, iterated, canceled, or finished.

Test: inspector/animation/tracking.html

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::apply):

  • animation/WebAnimation.h:
  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::~WebAnimation):
(WebCore::WebAnimation::contextDestroyed): Added.
(WebCore::WebAnimation::setEffectInternal):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willApplyKeyframeEffect): Added.
(WebCore::InspectorInstrumentation::didChangeWebAnimationEffect): Added.
(WebCore::InspectorInstrumentation::willDestroyWebAnimation): Added.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willApplyKeyframeEffectImpl): Added.
(WebCore::InspectorInstrumentation::didChangeWebAnimationEffectImpl): Added.
(WebCore::InspectorInstrumentation::willDestroyWebAnimationImpl): Added.
Add instrumentation points for CSS animations/transitions.

  • inspector/agents/InspectorAnimationAgent.h: Added.
  • inspector/agents/InspectorAnimationAgent.cpp: Added.

(WebCore::InspectorAnimationAgent::InspectorAnimationAgent):
(WebCore::InspectorAnimationAgent::didCreateFrontendAndBackend):
(WebCore::InspectorAnimationAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorAnimationAgent::startTracking):
(WebCore::InspectorAnimationAgent::stopTracking):
(WebCore::isDelayed):
(WebCore::InspectorAnimationAgent::willApplyKeyframeEffect):
(WebCore::InspectorAnimationAgent::didChangeWebAnimationEffect):
(WebCore::InspectorAnimationAgent::willDestroyWebAnimation):
(WebCore::InspectorAnimationAgent::stopTrackingDeclarativeAnimation):

  • inspector/InstrumentingAgents.h:

(WebCore::InstrumentingAgents::persistentInspectorAnimationAgent const): Added.
(WebCore::InstrumentingAgents::setPersistentInspectorAnimationAgent): Added.
(WebCore::InstrumentingAgents::trackingInspectorAnimationAgent const): Added.
(WebCore::InstrumentingAgents::setTrackingInspectorAnimationAgent): Added.

  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::reset):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::createLazyAgents):
Add an Animation domain for handling the tracking of CSS Web Animations.

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

(WebCore::InspectorTimelineAgent::toggleInstruments):
(WebCore::InspectorTimelineAgent::toggleAnimationInstrument): Added.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebInspectorUI:

Unlike all other forms of Web Animations, CSS animations/transitions, are _not_ created by
JavaScript, and therefore can seemingly appear out of nowhere. This patch expands the Media
timeline to be the Media & Animations timeline, which tracks when CSS animations/transitions
are created, started, delayed, iterated, canceled, or finished.

  • UserInterface/Protocol/AnimationObserver.js: Added.

(WI.AnimationObserver.prototype.trackingStart):
(WI.AnimationObserver.prototype.trackingUpdate):
(WI.AnimationObserver.prototype.trackingComplete):

  • UserInterface/Protocol/Target.js:

(WI.Target.prototype.get AnimationAgent): Added.

  • UserInterface/Main.html:
  • UserInterface/Base/Main.js:

(WI.loaded):

  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WI.loaded):
Add an Animation domain for handling the tracking of CSS Web Animations.

  • UserInterface/Models/MediaInstrument.js:

(WI.MediaInstrument.prototype.startInstrumentation):
(WI.MediaInstrument.prototype.stopInstrumentation):
(WI.MediaInstrument):

  • UserInterface/Models/MediaTimeline.js: Added.

(WI.MediaTimeline.prototype.recordForTrackingAnimationId):
(WI.MediaTimeline.prototype.recordForMediaElementEvents):
(WI.MediaTimeline.prototype.reset):
(WI.MediaTimeline.prototype.addRecord):

  • UserInterface/Models/MediaTimelineRecord.js:

(WI.MediaTimelineRecord):
(WI.MediaTimelineRecord.async fromJSON):
(WI.MediaTimelineRecord.prototype.toJSON):
(WI.MediaTimelineRecord.prototype.get trackingAnimationId): Added.
(WI.MediaTimelineRecord.prototype.get timestamps): Added.
(WI.MediaTimelineRecord.prototype.get activeStartTime): Added.
(WI.MediaTimelineRecord.prototype.get updatesDynamically): Added.
(WI.MediaTimelineRecord.prototype.get usesActiveStartTime): Added.
(WI.MediaTimelineRecord.prototype.get displayName):
(WI.MediaTimelineRecord.prototype.get subtitle): Added.
(WI.MediaTimelineRecord.prototype.saveIdentityToCookie):
(WI.MediaTimelineRecord.prototype.updateProgress): Added.
(WI.MediaTimelineRecord.prototype.addDOMEvent): Added.
(WI.MediaTimelineRecord.prototype.powerEfficientPlaybackStateChanged): Added.
(WI.MediaTimelineRecord.prototype._updateTimes): Added.
(WI.MediaTimelineRecord.fromJSON): Deleted.
(WI.MediaTimelineRecord.prototype.get domEvent): Deleted.
(WI.MediaTimelineRecord.prototype.get isPowerEfficient): Deleted.

  • UserInterface/Models/Timeline.js:

(WI.Timeline.create):

  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager):
(WI.TimelineManager.prototype.async processJSON):
(WI.TimelineManager.prototype.animationTrackingStarted): Added.
(WI.TimelineManager.prototype.animationTrackingUpdated): Added.
(WI.TimelineManager.prototype.animationTrackingCompleted): Added.
(WI.TimelineManager.prototype._updateAutoCaptureInstruments):
(WI.TimelineManager.prototype._handleDOMNodeDidFireEvent):
(WI.TimelineManager.prototype._handleDOMNodePowerEfficientPlaybackStateChanged):
Start/Stop tracking animations based on whether the Media & Animations timeline is enabled.

  • UserInterface/Views/MediaTimelineOverviewGraph.js:

(WI.MediaTimelineOverviewGraph):
(WI.MediaTimelineOverviewGraph.get maximumRowCount): Added.
(WI.MediaTimelineOverviewGraph.prototype.reset):
(WI.MediaTimelineOverviewGraph.prototype.layout):
(WI.MediaTimelineOverviewGraph.prototype.updateSelectedRecord):
(WI.MediaTimelineOverviewGraph.prototype._processRecord): Added.
(WI.MediaTimelineOverviewGraph.prototype._processRecord.compareByStartTime): Added.
(WI.MediaTimelineOverviewGraph.prototype._handleRecordAdded):
(WI.MediaTimelineOverviewGraph.prototype._handleTimesUpdated): Added.
(WI.MediaTimelineOverviewGraph.prototype.shown): Deleted.
(WI.MediaTimelineOverviewGraph.prototype.hidden): Deleted.

  • UserInterface/Views/MediaTimelineOverviewGraph.css:

(.timeline-overview-graph.media): Added.
(.timeline-overview-graph.media > .graph-row): Added.
(.timeline-overview-graph.media > .graph-row > .timeline-record-bar): Added.
(.timeline-overview-graph.media > .graph-row > .timeline-record-bar:not(.unfinished) > .segment:not(.inactive)): Added.
(.timeline-overview-graph.media:nth-child(even) > .graph-row > .timeline-record-bar:not(.unfinished) > .segment:not(.inactive)): Added.
(.timeline-overview-graph.media > .timeline-record-bar): Deleted.
(.timeline-overview-graph.media > .timeline-record-bar > .segment): Deleted.

  • UserInterface/Views/MediaTimelineView.js:

(WI.MediaTimelineView):
(WI.MediaTimelineView.prototype.shown): Added.
(WI.MediaTimelineView.prototype.hidden): Added.
(WI.MediaTimelineView.prototype.closed):
(WI.MediaTimelineView.prototype.reset):
(WI.MediaTimelineView.prototype.dataGridSortComparator):
(WI.MediaTimelineView.prototype.dataGridSortComparator.compareDOMNodes):
(WI.MediaTimelineView.prototype._processPendingRecords):

  • UserInterface/Views/MediaTimelineDataGridNode.js:

(WI.MediaTimelineDataGridNode):
(WI.MediaTimelineDataGridNode.prototype.get data):
(WI.MediaTimelineDataGridNode.prototype.createCellContent):
(WI.MediaTimelineDataGridNode.prototype.timelineRecordBarCustomChildren): Added.
(WI.MediaTimelineDataGridNode.prototype.timelineRecordBarCustomChildren.addReadySegment): ADded.
(WI.MediaTimelineDataGridNode.prototype.timelineRecordBarCustomChildren.addDelaySegment): ADded.
(WI.MediaTimelineDataGridNode.prototype.timelineRecordBarCustomChildren.addActiveSegment): ADded.
(WI.MediaTimelineDataGridNode.prototype.timelineRecordBarCustomChildren.addFullScreenSegment): ADded.
(WI.MediaTimelineDataGridNode.prototype.timelineRecordBarCustomChildren.addPowerEfficientPlaybackSegment): ADded.
(WI.MediaTimelineDataGridNode.prototype.timelineRecordBarCustomChildren.addPausedSegment): ADded.
(WI.MediaTimelineDataGridNode.prototype.timelineRecordBarCustomChildren.addPlayingSegment): ADded.
(WI.MediaTimelineDataGridNode.prototype.filterableDataForColumn):
(WI.MediaTimelineDataGridNode.prototype._createNameCellDocumentFragment): Added.
(WI.MediaTimelineDataGridNode.prototype.iconClassNames): Deleted.

  • UserInterface/Views/TimelineRecordBar.js:

(WI.TimelineRecordBar):
(WI.TimelineRecordBar.prototype.refresh):
(WI.TimelineRecordBar.prototype._handleClick):

  • UserInterface/Views/TimelineRecordBar.css:

(.timeline-record-bar):
(.timeline-record-bar > :matches(img, .segment)):
(.timeline-record-bar > img):
(.timeline-record-bar > .segment):
(body[dir=ltr] .timeline-record-bar > .segment):
(body[dir=ltr] .timeline-record-bar > .segment:first-of-type):
(body[dir=ltr] .timeline-record-bar > .segment:last-of-type):
(body[dir=rtl] .timeline-record-bar > .segment):
(body[dir=rtl] .timeline-record-bar > .segment:first-of-type):
(body[dir=rtl] .timeline-record-bar > .segment:last-of-type):
(.timeline-record-bar > .segment:not(:last-of-type)):
(.timeline-record-bar.selected > .segment):
(.timeline-record-bar > .segment.inactive,):
(.timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(:focus .selected .timeline-record-bar:not(.has-custom-children) > .segment):
(:focus .selected .timeline-record-bar:not(.has-custom-children) > .segment.inactive):
(:focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(.timeline-record-bar.timeline-record-type-network > .segment):
(.timeline-record-bar.timeline-record-type-network > .segment.inactive):
(.timeline-record-bar.timeline-record-type-layout > .segment):
(.timeline-record-bar.timeline-record-type-layout.paint > .segment,):
(.timeline-record-bar.timeline-record-type-script > .segment):
(.timeline-record-bar.timeline-record-type-script.garbage-collected > .segment,):
(.timeline-record-bar.timeline-record-type-media > .segment):
(.timeline-record-bar.has-custom-children.timeline-record-type-media > .segment):
(.timeline-record-bar.has-custom-children.timeline-record-type-media > .segment.css-animation-ready):
(.timeline-record-bar.has-custom-children.timeline-record-type-media > .segment:matches(.css-animation-delay, .media-element-paused)):
(.timeline-record-bar.has-custom-children.timeline-record-type-media.media-element > .segment):
(.timeline-record-bar.has-custom-children.timeline-record-type-media.media-element > .segment.media-element-full-screen):
(.timeline-record-bar.has-custom-children.timeline-record-type-media.media-element > .segment.media-element-power-efficient-playback):
(body[dir=ltr] .timeline-record-bar > .segment.inactive,): Deleted.
(body[dir=ltr] .timeline-record-bar.has-inactive-segment > .segment:not(.inactive),): Deleted.
(:focus .selected .timeline-record-bar > .segment): Deleted.
(:focus .selected .timeline-record-bar > .segment.inactive): Deleted.
(body[dir=ltr] :focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): Deleted.
(body[dir=rtl] :focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): Deleted.
Allow timeline record bars to be customized through a delegate callback. If provided, it
will be used instead of any default content. It is expected to return an array of objects,
each having a startTime number, classNames array, and title string. It can also have a
endTime number and an image string. If endTime is NaN, the record is unfinished. If
image is provided, an <img> will be used instead of a segment, allowing for markers.

  • UserInterface/Views/TimelineDataGridNode.js:

(WI.TimelineDataGridNode.prototype.createCellContent):
Add a default fallback for WI.DOMNode values.

  • UserInterface/Views/TimelineTabContentView.js:

(WI.TimelineTabContentView.displayNameForTimelineType):
(WI.TimelineTabContentView.iconClassNameForRecord):
(WI.TimelineTabContentView.displayNameForRecord):

  • UserInterface/Views/TimelineRecordTreeElement.js:
  • UserInterface/Views/TimelineIcons.css:

(.animation-frame-record .icon):
(.css-animation-record .icon): Added.
(.css-transition-record .icon): Added.
(.media-element-record .icon): Added.
(.animation-record .icon): Deleted.
(.dom-event-record .icon): Deleted.
(.dom-event-record.fullscreen .icon): Deleted.
(.power-efficient-playback-state-changed-record .icon): Deleted.

  • UserInterface/Images/DOMEventFullscreen.svg: Removed.
  • UserInterface/Images/EventCancel.svg: Added.
  • UserInterface/Images/EventIteration.svg: Added.
  • UserInterface/Images/EventPause.svg:
  • UserInterface/Images/EventPlay.svg:
  • UserInterface/Images/EventProcessing.svg:
  • UserInterface/Images/EventStop.svg:
  • UserInterface/Images/PowerEfficientPlaybackStateChanged.svg: Removed.
  • UserInterface/Images/TimelineRecordAnimationFrame.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/TimelineRecordAnimation.svg.
  • UserInterface/Images/TimelineRecordCSSAnimation.svg: Added.
  • UserInterface/Images/TimelineRecordCSSTransition.svg: Added.
  • UserInterface/Images/TimelineRecordMediaElement.svg: Added.

Add new media icons.

  • UserInterface/Models/TimelineRecording.js:

(WI.TimelineRecording.async import): Added.
(WI.TimelineRecording.import): Deleted.

  • UserInterface/Models/TimelineRecord.js:
  • UserInterface/Models/CPUTimelineRecord.js:
  • UserInterface/Models/HeapAllocationsTimelineRecord.js:

(WI.HeapAllocationsTimelineRecord.async fromJSON): Added.
(WI.HeapAllocationsTimelineRecord.fromJSON): Deleted.

  • UserInterface/Models/LayoutTimelineRecord.js:
  • UserInterface/Models/MemoryTimelineRecord.js:
  • UserInterface/Models/RenderingFrameTimelineRecord.js:
  • UserInterface/Models/ResourceTimelineRecord.js:
  • UserInterface/Models/ScriptTimelineRecord.js:

Make the importing of timeline records async so we can attempt to rehydrate the DOM nodes
of any media records (as well as wait for heap snapshots).

  • UserInterface/Models/DOMNode.js:

(WI.DOMNode):
(WI.DOMNode.prototype.isMediaElement): Added.
(WI.DOMNode.prototype._shouldListenForEventListeners): Deleted.

  • Localizations/en.lproj/localizedStrings.js:

Source/WTF:

  • wtf/Markable.h:

(WTF::operator==):
(WTF::operator!=):
Add extra utility operators.

Tools:

  • TestWebKitAPI/Tests/WTF/Markable.cpp:

(TestWebKitAPI::TEST):
Add tests for extra utility operators.

LayoutTests:

  • inspector/animation/tracking.html: Added.
  • inspector/animation/tracking-expected.txt: Added.
5:19 PM Changeset in webkit [251958] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: default to focusing the console prompt if no other content is focused after opening Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=203743

Reviewed by Eric Carlson and Brian Burg.

  • UserInterface/Base/Main.js:

(WI.isContentAreaFocused): Added.
(WI.isConsoleFocused):
(WI._focusChanged):
(WI._restoreCookieForOpenTabs):

5:14 PM Changeset in webkit [251957] by Said Abou-Hallawa
  • 3 edits
    2 adds in trunk

SVG pair properties must be detached from their owner before it's deleted
https://bugs.webkit.org/show_bug.cgi?id=203545

Reviewed by Simon Fraser.

Source/WebCore:

SVGAnimatedPropertyPairAccessor needs to override its detach() method so
each of its pair properties detaches itself from the owner.
SVGPointerMemberAccessor does the same thing but for a single property
which covers all the list properties as well.

Test: svg/custom/pair-properties-detach.html

  • svg/properties/SVGAnimatedPropertyPairAccessor.h:

LayoutTests:

  • svg/custom/pair-properties-detach-expected.txt: Added.
  • svg/custom/pair-properties-detach.html: Added.
5:13 PM PrivacyFeaturesinWebKit created by Jon Davis
5:13 PM Changeset in webkit [251956] by beidson@apple.com
  • 9 edits in trunk

Promote "_getWebArchive" to API.
<rdar://problem/17317547> and https://bugs.webkit.org/show_bug.cgi?id=203767

Reviewed by Andy Estes.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView createWebArchiveDataWithCompletionHandler:]):
(-[WKWebView _getWebArchiveDataWithCompletionHandler:]):

Tools:

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController saveAsPDF:]):
(-[BrowserWindowController saveAsWebArchive:]):

  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController validateMenuItem:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController saveAsWebArchive:]):

5:05 PM ImprovingInteropwithWPT edited by Jon Davis
(diff)
4:59 PM WebKitWindowsPort created by Jon Davis
4:59 PM Changeset in webkit [251955] by Jonathan Bedard
  • 7 edits in trunk/Tools

Python 3: Add support in webkitpy.common
https://bugs.webkit.org/show_bug.cgi?id=202462

Reviewed by Stephanie Lewis.

  • Scripts/test-webkitpy-python3: Add webkitpy.common.
  • Scripts/webkitpy/common/find_files_unittest.py: Use full import path.
  • Scripts/webkitpy/common/lru_cache_unittest.py:

(LRUCacheTest.test_size_one_pop): Convert iterator to list

  • Scripts/webkitpy/common/prettypatch_unittest.py: Check for byte array explicitly.
  • Scripts/webkitpy/common/read_checksum_from_png_unittest.py: Use unicode compatible

StringIO.
(ReadChecksumFromPngTest.test_read_checksum):

  • Scripts/webkitpy/common/timeout_context.py:

(Timeout.enter): Use range instead of xrange.

4:55 PM Changeset in webkit [251954] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Mark VeryLow priority requests using a request dictionary key
https://bugs.webkit.org/show_bug.cgi?id=203594

Patch by Benjamin Nham <Ben Nham> on 2019-11-01
Reviewed by Alex Christensen.

Mark very-low-pri beacon/ping loads using a request dictionary key. PLT currently ignores
these loads by checking if a request's CFURLRequestPriority is 0, but that won't work
anymore once I make VeryLow and Low pri requests both have a priority of 0 for
https://bugs.webkit.org/show_bug.cgi?id=203423.

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdatePlatformRequest):

4:53 PM November 2019 Meeting edited by Jon Davis
(diff)
4:51 PM UndoAPI created by Jon Davis
4:46 PM Changeset in webkit [251953] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Port FileReader to the HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203749

Reviewed by Ryosuke Niwa.

  • dom/AbstractEventLoop.h:
  • fileapi/FileReader.cpp:

(WebCore::FileReader::FileReader):
(WebCore::FileReader::stop):
(WebCore::FileReader::hasPendingActivity const):
(WebCore::FileReader::abort):
(WebCore::FileReader::didStartLoading):
(WebCore::FileReader::didReceiveData):
(WebCore::FileReader::didFinishLoading):
(WebCore::FileReader::didFail):
(WebCore::FileReader::enqueueTask):

  • fileapi/FileReader.h:
4:39 PM zliboptimizationsforARM edited by Jon Davis
(diff)
4:38 PM zliboptimizationsforARM created by Jon Davis
4:34 PM Changeset in webkit [251952] by beidson@apple.com
  • 3 edits
    1 copy
    2 moves in trunk/Source/WebKit

Rejigger WKWebArchive headers.
https://bugs.webkit.org/show_bug.cgi?id=203648

Reviewed by Andy Estes.

  • Shared/API/c/mac/WKWebArchiveRef.cpp: Renamed from Source/WebKit/Shared/API/c/mac/WKWebArchive.cpp.

(WKWebArchiveGetTypeID):
(WKWebArchiveCreate):
(WKWebArchiveCreateWithData):
(WKWebArchiveCreateFromRange):
(WKWebArchiveCopyMainResource):
(WKWebArchiveCopySubresources):
(WKWebArchiveCopySubframeArchives):
(WKWebArchiveCopyData):

  • Shared/API/c/mac/WKWebArchiveRef.h: Copied from Source/WebKit/Shared/API/c/mac/WKWebArchive.h.
  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebArchive.h: Renamed from Source/WebKit/Shared/API/c/mac/WKWebArchive.h.
  • WebKit.xcodeproj/project.pbxproj:
4:32 PM Python3 created by Jon Davis
4:27 PM HandlingTestExpectations created by Jon Davis
4:13 PM WKWebViewAnEmbeddersPerspective created by Jon Davis
4:07 PM Changeset in webkit [251951] by sbarati@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Refactor uses of StructureStubInfo 'thisGPR' to a union for thisGPR and prototypeGPR
https://bugs.webkit.org/show_bug.cgi?id=203693

Reviewed by Mark Lam and Yusuke Suzuki.

I'm going to be adding a third overload for this field when making
GetByVal inline caching part of StructureStubInfo. It's nicer for
each use case of this field to use it by the proper name.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):

  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::regenerate):

  • bytecode/PolymorphicAccess.h:

(JSC::AccessGenerationState::AccessGenerationState):

  • bytecode/StructureStubInfo.h:
  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITGetByIdWithThisGenerator::JITGetByIdWithThisGenerator):
(JSC::JITInstanceOfGenerator::JITInstanceOfGenerator):

4:02 PM TheStateofJSC2019 edited by Ross Kirsling
(diff)
4:00 PM November 2019 Meeting edited by Jon Davis
(diff)
3:59 PM TheStateofJSC2019 created by Ross Kirsling
3:49 PM Changeset in webkit [251950] by eric.carlson@apple.com
  • 39 edits
    7 adds in trunk

Add experimental TextTrackCue API
https://bugs.webkit.org/show_bug.cgi?id=203649
<rdar://problem/55675172>

Reviewed by Jer Noble.

Source/WebCore:

Tests: media/track/texttrackcue/texttrackcue-addcue.html

media/track/texttrackcue/texttrackcue-constructor.html
media/track/texttrackcue/texttrackcue-displaycue.html

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::updateCaptionDisplaySizes):

  • Modules/mediacontrols/MediaControlsHost.h:
  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/WebCoreBuiltinNames.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(NeedsRuntimeCheck):
(GenerateRuntimeEnableConditionalString):

  • bindings/scripts/IDLAttributes.json:
  • bindings/scripts/preprocess-idls.pl:

(GenerateConstructorAttributes):

  • dom/DocumentFragment.idl:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateRenderer):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::textTrackRemoveCue):
(WebCore::HTMLMediaElement::configureTextTrackDisplay):
(WebCore::HTMLMediaElement::captionPreferencesChanged):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
(WebCore::MediaControlTextTrackContainerElement::processActiveVTTCue):
(WebCore::MediaControlTextTrackContainerElement::updateActiveCuesFontSize):
(WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
(WebCore::MediaControlTextTrackContainerElement::updateStyleForTextTrackRepresentation):

  • html/shadow/MediaControlElements.h:
  • html/track/TextTrack.cpp:

(WebCore::TextTrack::setMode):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::cueBoxShadowPseudoId):
(WebCore::TextTrackCue::cueBackdropShadowPseudoId):
(WebCore::cueAttributName):
(WebCore::cueBackgroundAttributName):
(WebCore::TextTrackCueBox::TextTrackCueBox):
(WebCore::TextTrackCueBox::getCue const):
(WebCore::isLegalNode):
(WebCore::invalidNodeException):
(WebCore::checkForInvalidNodeTypes):
(WebCore::tagPseudoObjects):
(WebCore::removePseudoAttributes):
(WebCore::TextTrackCue::create):
(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::didChange):
(WebCore::TextTrackCue::setIsActive):
(WebCore::TextTrackCue::toJSON const):
(WebCore::TextTrackCue::debugString const):
(WebCore::TextTrackCue::getCueAsHTML):
(WebCore::TextTrackCue::isRenderable const):
(WebCore::TextTrackCue::getDisplayTree):
(WebCore::TextTrackCue::removeDisplayTree):
(WebCore::TextTrackCue::setFontSize):
(WebCore::TextTrackCue::rebuildDisplayTree):

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCueBox::create):
(WebCore::TextTrackCueBox::applyCSSProperties):
(WebCore::TextTrackCueBox::~TextTrackCueBox):
(WebCore::TextTrackCue::cueType const):
(WebCore::TextTrackCue::recalculateStyles):
(WebCore::TextTrackCue::updateDisplayTree):
(WebCore::TextTrackCue::isRenderable const): Deleted.

  • html/track/TextTrackCue.idl:
  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::isEqual const):
(WebCore::TextTrackCueGeneric::isOrderedBefore const):
(WebCore::TextTrackCueGeneric::isPositionedAbove const):

  • html/track/TextTrackCueGeneric.h:

(isType):

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::VTTCueBox):
(WebCore::VTTCueBox::applyCSSProperties):
(WebCore::VTTCue::getDisplayTree):
(WebCore::VTTCue::removeDisplayTree):
(WebCore::VTTCue::setFontSize):
(WebCore::toVTTCue):
(WebCore::VTTCueBox::create): Deleted.
(WebCore::VTTCueBox::getCue const): Deleted.
(WebCore::VTTCueBox::vttCueBoxShadowPseudoId): Deleted.
(WebCore::VTTCue::cueBackdropShadowPseudoId): Deleted.

  • html/track/VTTCue.h:

(WebCore::VTTCueBox::create):
(isType):

  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::appendTextTrackCueBox):
(WebCore::VTTRegion::getDisplayTree):
(WebCore::VTTRegion::prepareRegionDisplayTree):

  • html/track/VTTRegion.h:
  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride const):

  • page/Settings.yaml:
  • rendering/RenderVTTCue.cpp:

(WebCore::RenderVTTCue::RenderVTTCue):

Source/WebKit:

  • Shared/WebPreferences.yaml:

LayoutTests:

  • media/track/texttrackcue/texttrackcue-addcue-expected.txt: Added.
  • media/track/texttrackcue/texttrackcue-addcue.html: Added.
  • media/track/texttrackcue/texttrackcue-constructor-expected.txt: Added.
  • media/track/texttrackcue/texttrackcue-constructor.html: Added.
  • media/track/texttrackcue/texttrackcue-displaycue-expected.txt: Added.
  • media/track/texttrackcue/texttrackcue-displaycue.html: Added.
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
3:49 PM ImprovingInteropwithWPT edited by Jon Davis
(diff)
3:49 PM ImprovingInteropwithWPT edited by Jon Davis
Added second presenter credit and link to API reference (diff)
3:48 PM Changeset in webkit [251949] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=176240
<rdar://problem/51445000>

Patch by Kate Cheney <Kate Cheney> on 2019-11-01
Reviewed by Alexey Proskuryakov.

Flakiness no longer reproducible.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
3:42 PM November 2019 Meeting edited by Jon Davis
Added placeholder links to transcripts for lightning talks (diff)
3:42 PM Back-Forward-Cache.pdf attached to DOMBindingsEventLoopNotes by rniwa@webkit.org
Back forward cache slides
3:41 PM Better-DOM-Code.pdf attached to DOMBindingsEventLoopNotes by rniwa@webkit.org
Better DOM code slides
3:21 PM November 2019 Meeting edited by Jon Davis
(diff)
3:18 PM ImprovingInteropwithWPT created by Jon Davis
3:16 PM Changeset in webkit [251948] by BJ Burg
  • 2 edits in trunk/Source/WebKit

REGRESSION(r248696): Element Click on Mac is adding an extra page topContentInsets to y-coordinate
https://bugs.webkit.org/show_bug.cgi?id=203765
<rdar://problem/56014369>

Reviewed by Devin Rousso.

  • UIProcess/Automation/mac/WebAutomationSessionMac.mm:

(WebKit::WebAutomationSession::platformSimulateMouseInteraction):
The topContentInsets is accounted for by rootViewToWindow(), so don't add it in manually.

2:59 PM Changeset in webkit [251947] by Alan Coon
  • 3 edits
    1 move
    2 deletes in tags/Safari-609.1.8.1/Source/WebKit

Cherry-pick r251889. rdar://problem/56787012

REGRESSION (r251215): Mail failed to build
https://bugs.webkit.org/show_bug.cgi?id=203700
<rdar://problem/56787012>

Reviewed by Antoine Quint.

Revert the private modulemap. It didn't include enough things
and caused some internal builds to fail.

We'll put it back with everything included sometime soon.

  • Configurations/WebKit.xcconfig:
  • Modules/OSX.modulemap: Renamed from Source/WebKit/Modules/macOS.modulemap.
  • Modules/iOS.private.modulemap: Removed.
  • Modules/macOS.private.modulemap: Removed.
  • Shared/API/Cocoa/WebKitPrivate.h:

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

2:57 PM Changeset in webkit [251946] by Alan Coon
  • 7 edits in tags/Safari-609.1.8.1/Source

Versioning.

2:55 PM Changeset in webkit [251945] by Alan Coon
  • 1 copy in tags/Safari-609.1.8.1

New tag.

2:39 PM Changeset in webkit [251944] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

macOS WK1: requestidlecallback/requestidlecallback-document-gc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=203758

Reviewed by Wenson Hsieh.

Fix the test by delaying the check until the next run loop via setTimeout.
This is needed to make GC work reliably in WK1.

  • requestidlecallback/requestidlecallback-document-gc.html:
2:38 PM Changeset in webkit [251943] by Alan Coon
  • 21 edits in tags/Safari-608.4.4.1

Apply patch. rdar://problem/56280706

2:31 PM Changeset in webkit [251942] by Alan Coon
  • 7 edits in tags/Safari-608.4.4.1/Source

Versioning.

2:29 PM Changeset in webkit [251941] by timothy_horton@apple.com
  • 18 edits
    1 add in trunk

macCatalyst: Get TestWebKitAPI building
https://bugs.webkit.org/show_bug.cgi?id=203728

Reviewed by Alexey Proskuryakov.

.:

  • Makefile:

Descend into Tools/.

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:
  • gtest/xcode/Config/SDKVariant.xcconfig: Added.

Add SDKVariant.xcconfig to gtest so that it builds into the correct directory.

Tools:

  • Makefile:

Only build gtest and TestWebKitAPI for macCatalyst.

  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:

Make use of WK_COCOA_TOUCH instead of SDK conditionals.

  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
  • TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
  • TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:

Fix some #ifdefs for macCatalyst.

  • TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm:

(-[LegacyLoadingDelegate webViewDidFinishLoad:]):

  • TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:

(-[AsyncPolicyDelegateForInsetTest webView:didFinishNavigation:]):
(TestWebKitAPI::TEST):
Util::runUntil wants a bool, not a BOOL.

  • TestWebKitAPI/config.h:

Import WebKitLegacy.h after WebKit.h. Traditionally WebKit.h includes
WebKitLegacy.h, except in macCatalyst. Many tests depend on being able
to get WebKitLegacy.h this way.

  • Scripts/webkitpy/style/checkers/sdkvariant.py:
  • Scripts/webkitpy/port/factory.py:
  • Scripts/webkitpy/port/mac.py:

Add a MacCatalyst port behind --maccatalyst, and do the bare minimum
required to get it working and finding the right binaries.
It inherits from Mac instead of iOS because for the purposes of
finding and running binaries, dealing with I/O, etc., these are
100% bona fide macOS products.

2:23 PM Changeset in webkit [251940] by commit-queue@webkit.org
  • 5 edits in trunk

HasProperty? result of Proxy in prototype chain is ignored
https://bugs.webkit.org/show_bug.cgi?id=203560

Patch by Alexey Shvayka <Alexey Shvayka> on 2019-11-01
Reviewed by Ross Kirsling.

JSTests:

  • stress/proxy-get-prototype-of.js: Correct Proxy "has" trap test.
  • test262/expectations.yaml: Mark 6 test cases as passing.

Source/JavaScriptCore:

Before this change, when HasProperty? was called on ordinary object with Proxy in prototype chain,
falsy result of Proxy's "has" trap was ignored and prototype chain was inspected further.

According to spec, OrdinaryHasProperty unconditionally returns result of parent's HasProperty? call.
(step 5.a of https://tc39.es/ecma262/#sec-ordinaryhasproperty)

  • runtime/JSObjectInlines.h:

(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):

2:10 PM Changeset in webkit [251939] by Alan Coon
  • 1 copy in tags/Safari-608.4.4.1

New tag.

1:55 PM Changeset in webkit [251938] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Improve summary string when there are flaky failures in API tests
https://bugs.webkit.org/show_bug.cgi?id=203747

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(AnalyzeAPITestsResults.analyzeResults): Display pre-existing failure string string only
if there are pre-existing API test failures.

1:49 PM BackForwardCacheNotes created by Jon Davis
1:43 PM DOMBindingsEventLoopNotes created by Jon Davis
1:42 PM November 2019 Meeting edited by Jon Davis
(diff)
1:36 PM Changeset in webkit [251937] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

1:25 PM Changeset in webkit [251936] by Alan Coon
  • 1 copy in tags/Safari-608.4.7

Tag Safari-608.4.7.

1:19 PM Changeset in webkit [251935] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

Investigate if mach lookup access to *.apple-extension-service, *.viewservice, and com.apple.uikit.viewservice.* can be denied
https://bugs.webkit.org/show_bug.cgi?id=203626

Reviewed by Alexey Proskuryakov.

Modify the allow rule for these services to include the telemetry option.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
1:05 PM PlayStationWebKitPortUpdate2019 edited by stephan.szabo@sony.com
(diff)
12:57 PM November 2019 Meeting edited by cavalcantii@gmail.com
(diff)
12:34 PM Changeset in webkit [251934] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Port ServiceWorkerContainer to the HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203680

Reviewed by Ryosuke Niwa.

  • dom/AbstractEventLoop.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
(WebCore::ServiceWorkerContainer::ready):
(WebCore::ServiceWorkerContainer::getRegistration):
(WebCore::ServiceWorkerContainer::getRegistrations):
(WebCore::ServiceWorkerContainer::jobFailedWithException):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
(WebCore::ServiceWorkerContainer::enqueueTask):

  • workers/service/ServiceWorkerContainer.h:
12:34 PM Changeset in webkit [251933] by Nikita Vasilyev
  • 5 edits in trunk

Web Inspector: Display color swatches for p3 colors
https://bugs.webkit.org/show_bug.cgi?id=203439
<rdar://problem/56637250>

Reviewed by Devin Rousso.

Source/WebInspectorUI:

Detect color(display-p3 0 1 0) as a color in the style editor.

  • UserInterface/Models/Color.js:

(WI.Color):
(WI.Color.fromString):
(WI.Color.prototype.copy):
(WI.Color.prototype.toString):
(WI.Color.prototype.isKeyword):
(WI.Color.prototype._toFunctionString):

LayoutTests:

  • inspector/model/color-expected.txt:
  • inspector/model/color.html:
12:21 PM November 2019 Meeting edited by Jonathan Bedard
(diff)
12:17 PM Changeset in webkit [251932] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r249831): content view is empty if a breakpoint is hit in the main resource
https://bugs.webkit.org/show_bug.cgi?id=203722
<rdar://problem/56802409>

Reviewed by Joseph Pecoraro.

  • UserInterface/Models/SourceCode.js:

(WI.SourceCode.prototype.get currentRevision):
(WI.SourceCode.prototype.revisionContentDidChange):
(WI.SourceCode.prototype._initializeCurrentRevisionIfNeeded):
(WI.SourceCode.prototype._processContent):
Don't wait to lazily clone the originalRevision and use it as the currentRevision. Some
listeners expect the currentRevision to already be set by the time this happens, so as
soon as the original revision's content is changed, clone it into the currentRevision.

11:54 AM November 2019 Meeting edited by Jon Davis
(diff)
11:37 AM PlayStationWebKitPortUpdate2019 edited by Jon Davis
(diff)
11:36 AM PlayStationWebKitPortUpdate2019 created by Jon Davis
11:36 AM November 2019 Meeting edited by Jon Davis
(diff)
11:35 AM November 2019 Meeting edited by Jon Davis
(diff)
11:27 AM Changeset in webkit [251931] by Wenson Hsieh
  • 2 edits in trunk/Tools

TestWebKitAPI.EditorStateTests.TypingAttributesTextAlignmentStartEnd is flaky in iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=203733
<rdar://problem/56814640>

Reviewed by Tim Horton.

Try to fix the flaky test by making EditingTestHarness more robust. Instead of checking for expected editor
state entries after the next presentation update, wait for the latest editor state entry to contain the expected
values.

  • TestWebKitAPI/EditingTestHarness.mm:

(-[EditingTestHarness _execCommand:argument:expectEntries:]):

Preserve the existing log statement by printing it out once after a few seconds, if the entry is still not found
in the last known editor state.

11:22 AM November 2019 Meeting edited by Jon Davis
Added links to transcripts, talk title update for JSC (diff)
11:20 AM IgaliaFocusandGoals2020 edited by alex
(diff)
11:16 AM Changeset in webkit [251930] by rniwa@webkit.org
  • 11 edits
    4 adds in trunk

Integrate media query evaluation into HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203134
<rdar://problem/56396316>

Reviewed by Antti Koivisto.

Source/WebCore:

Moved the code to call media query listeners to HTML5 event loop's step to update the rendering:
https://html.spec.whatwg.org/multipage/webappapis.html#update-the-rendering

Tests: fast/media/mq-inverted-colors-live-update-for-listener.html

fast/media/mq-prefers-reduced-motion-live-update-for-listener.html

  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::evaluateAll): Renamed from styleResolverChanged.

  • css/MediaQueryMatcher.h:
  • dom/Document.cpp:

(WebCore::Document::updateElementsAffectedByMediaQueries): Split from evaluateMediaQueryList.
This function is still called right after each layout update so that picture element may start
requesting newly selected image resources without having to wait for a rendering update.
But this function will no longer execute arbitrary scripts.
(WebCore::Document::evaluateMediaQueriesAndReportChanges): Split from evaluateMediaQueryList.
Evaluates media query listeners.

  • dom/Document.h:
  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::setEmulatedMedia): Force the evaluation of media queries for now
but this code should really be scheduling a rendering update instead so added a FIXME.

  • page/Frame.cpp:

(WebCore::Frame::setPrinting): Evaluate media queries. We should consider invoking the full
algorithm to update the rendering here. e.g. intersection observer may add more contents.

  • page/Page.cpp:

(WebCore::Page::updateStyleAfterChangeInEnvironment): Schedule a rendering update after
accessibility settings have changed.
(WebCore::Page::updateRendering): Call evaluateMediaQueriesAndReportChanges.
(WebCore::Page::accessibilitySettingsDidChange): Schedule a rendering update after accessibility
settings have changed.
(WebCore::Page::appearanceDidChange): Ditto.

LayoutTests:

Added tests for listening to accessiblity related media queries without having any style rules
get affected by those media queries so that we can catch any future regressions. For now,
changing accessiblity settings seem to always schedule a rendering update so there is nothing to do
when these accessibility settings do change.

  • fast/media/media-query-list-07.html: Fixed the test to be compatible with new behavior.
  • fast/media/mq-inverted-colors-live-update-for-listener-expected.txt: Added.
  • fast/media/mq-inverted-colors-live-update-for-listener.html: Added.
  • fast/media/mq-prefers-reduced-motion-live-update-for-listener-expected.txt: Added.
  • fast/media/mq-prefers-reduced-motion-live-update-for-listener.html: Added.
11:01 AM WebKitGoalsfor2020 created by Jon Davis
10:59 AM Igalia -- WebKit Contributors Meeting 2019.pdf attached to IgaliaFocusandGoals2020 by alex
Igalia Focus and Goals 2020
10:57 AM Changeset in webkit [251929] by Alan Coon
  • 2 edits in tags/Safari-609.1.9/Source/WebKit

Cherry-pick r251897. rdar://problem/56765698

[iOS] Fix mach lookup sandbox violations in the Mail app
https://bugs.webkit.org/show_bug.cgi?id=203697

Reviewed by Alexey Proskuryakov.

Allow mach lookup to the services "com.apple.logd.events" and "com.apple.distributed_notifications@1v3",
which are seen when running the Mail application. Also allow "com.apple.aggregated", which was previously
allowed, and is showing up in reports.

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

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

10:57 AM Changeset in webkit [251928] by Alan Coon
  • 3 edits
    1 move
    2 deletes in tags/Safari-609.1.9/Source/WebKit

Cherry-pick r251889. rdar://problem/56787012

REGRESSION (r251215): Mail failed to build
https://bugs.webkit.org/show_bug.cgi?id=203700
<rdar://problem/56787012>

Reviewed by Antoine Quint.

Revert the private modulemap. It didn't include enough things
and caused some internal builds to fail.

We'll put it back with everything included sometime soon.

  • Configurations/WebKit.xcconfig:
  • Modules/OSX.modulemap: Renamed from Source/WebKit/Modules/macOS.modulemap.
  • Modules/iOS.private.modulemap: Removed.
  • Modules/macOS.private.modulemap: Removed.
  • Shared/API/Cocoa/WebKitPrivate.h:

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

10:56 AM IgaliaFocusandGoals2020 edited by alex
(diff)
10:35 AM IgaliaFocusandGoals2020 edited by Jon Davis
Fixed link formatting (diff)
10:31 AM IgaliaFocusandGoals2020 created by Jon Davis
Created page and added a link to the presentation.
10:29 AM November 2019 Meeting edited by Jon Davis
Adding placeholder links for presentations (diff)
10:27 AM Changeset in webkit [251927] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] Pass clobber-old-results parameter to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=203736

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(RunWebKitTests): Added --clobber-old-results paramter to run-webkit-tests. Also re-ordered
--no-new-test-results and --no-show-results to match with build.webkit.org configuration.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
10:18 AM Changeset in webkit [251926] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the watchOS build after r251896

  • Configurations/WebCore.xcconfig:

Whoops.

10:16 AM Changeset in webkit [251925] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Turn on the Picture-in-Picture API feature by default
https://bugs.webkit.org/show_bug.cgi?id=203725

Patch by Peng Liu <Peng Liu> on 2019-11-01
Reviewed by Jer Noble.

Source/WebCore:

No new tests are required.

  • page/Settings.yaml:

Source/WebKit:

  • Shared/WebPreferences.yaml:
10:09 AM November 2019 Meeting edited by alex
(diff)
10:07 AM November 2019 Meeting edited by alex
(diff)
10:04 AM Changeset in webkit [251924] by rniwa@webkit.org
  • 7 edits
    2 adds in trunk

Don't leak documents with a pending requestIdleCallback
https://bugs.webkit.org/show_bug.cgi?id=203708

Reviewed by Simon Fraser.

Source/WebCore:

Remove all tasks associated with a stopped document right away instead of waiting for
WindowEventLoop::run to execute so that even when author scripts synchronously add and remove
multiple documents, we don't end up leaking all of them until we yield to the run loop.

Also moved the code to suspend & resume event loops from CachedFrame to Document's
ActiveDOMObjects related functions for consistency.

Test: requestidlecallback/requestidlecallback-document-gc.html

  • dom/Document.cpp:

(WebCore::Document::suspendActiveDOMObjects): Moved the code from CachedFrameBase::restore.
(WebCore::Document::resumeActiveDOMObjects): Ditto from CachedFrame.
(WebCore::Document::stopActiveDOMObjects): Remove all tasks associated with this document.

  • dom/Document.h:

(WebCore::Document::eventLoopIfExists): Deleted.

  • dom/WindowEventLoop.cpp:

(WebCore::WindowEventLoop::stop):
(WebCore::WindowEventLoop::run):

  • dom/WindowEventLoop.h:
  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::CachedFrame):

LayoutTests:

Added a test for removing iframes with a pending idle callback and test that
the current documents of those iframes are collected immediately by GCController.collect.

  • requestidlecallback/requestidlecallback-document-gc-expected.txt: Added.
  • requestidlecallback/requestidlecallback-document-gc.html: Added.
9:28 AM Changeset in webkit [251923] by Caio Lima
  • 4 edits in trunk/JSTests

[JSC][MIPS] Skip tests failing in RELEASE_ASSERT_NOT_REACHED() at CallFrame.cpp:81
https://bugs.webkit.org/show_bug.cgi?id=203738

Unreviewed gardening.

  • stress/allocation-sinking-hints-are-valid-ssa.js:
  • stress/has-instance-exception-check.js:
  • stress/regress-176485.js:
9:19 AM Changeset in webkit [251922] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Sources: tab isn't visible after removal of Debugger Tab and Resources Tab
https://bugs.webkit.org/show_bug.cgi?id=203719
<rdar://problem/56802389>

Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WI.loaded):
If the Debugger Tab identifier or Resources Tab identifier still exists in the list of open
tabs, remove both and replace the first one with the Sources Tab identifier.

9:08 AM Changeset in webkit [251921] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: make the default content of the Inspector Bootstrap Script a comment that explains how it works
https://bugs.webkit.org/show_bug.cgi?id=203704

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.async createBootstrapScript):

  • Localizations/en.lproj/localizedStrings.js:
8:57 AM Changeset in webkit [251920] by commit-queue@webkit.org
  • 24 edits in trunk

Picture-in-Picture layout test cases interfere with each other
https://bugs.webkit.org/show_bug.cgi?id=203614

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

Source/WebCore:

Fix test running issues, no new test is needed.

Add a member variable m_pictureInPictureAPITestEnabled to the HTMLVideoElement class.
When this variable is true, HTMLVideoElement::setFullscreenMode() will mock the
behavior of the Picture-in-Picture mode changing without the AVKit/CoreMedia involvement.
So we can run multiple layout test cases for Picture-in-Picture API simultaneously.
Note: this solution only tests the code for the Picture-in-Picture API implementation!
We still need to use the API tests to test the Picture-in-Picture implementation end-to-end.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::setFullscreenMode):
(WebCore::HTMLVideoElement::setPictureInPictureAPITestEnabled):

  • html/HTMLVideoElement.h:
  • html/HTMLVideoElement.idl:
  • testing/Internals.cpp:

(WebCore::Internals::setPictureInPictureAPITestEnabled):

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

LayoutTests:

Use "internals.setPictureInPictureAPITestEnabled(video, true)" to test
the picture-in-picture API implementation without AVKit/CoreMedia stuffs.

  • media/picture-in-picture-api-enter-pip-1-expected.txt:
  • media/picture-in-picture-api-enter-pip-1.html:
  • media/picture-in-picture-api-enter-pip-2-expected.txt:
  • media/picture-in-picture-api-enter-pip-2.html:
  • media/picture-in-picture-api-enter-pip-3-expected.txt:
  • media/picture-in-picture-api-enter-pip-3.html:
  • media/picture-in-picture-api-enter-pip-4-expected.txt:
  • media/picture-in-picture-api-enter-pip-4.html:
  • media/picture-in-picture-api-exit-pip-1-expected.txt:
  • media/picture-in-picture-api-exit-pip-1.html:
  • media/picture-in-picture-api-exit-pip-2-expected.txt:
  • media/picture-in-picture-api-exit-pip-2.html:
  • media/picture-in-picture-api-pip-events-expected.txt:
  • media/picture-in-picture-api-pip-events.html:
  • media/picture-in-picture-api-pip-window-expected.txt:
  • media/picture-in-picture-api-pip-window.html:
8:53 AM Changeset in webkit [251919] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Settings: Blackbox: hide icon is missing
https://bugs.webkit.org/show_bug.cgi?id=203727

Reviewed by Timothy Hatcher.

  • UserInterface/Images/Hide.svg:

WI.ImageUtilities.useSVGSymbol links directly to a specific part of the SVG resource based
on an id attribute (default to #root if not otherwise given). As a result, any <style>
that are not a child of that specific part won't be included, meaning that any CSS variables
used for controlling colors won't exist. Adding a fallback value to the var() for these
cases allows a specific part to be used without needing any surrounding styles.

  • UserInterface/Views/BlackboxSettingsView.css:

(.settings-view.blackbox > p > .toggle-script-blackbox):
Slightly adjust the size and vertical alignment to better match the surrounding text.

8:37 AM Changeset in webkit [251918] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: enable line wrapping by default
https://bugs.webkit.org/show_bug.cgi?id=203726

Reviewed by Timothy Hatcher.

  • UserInterface/Base/Setting.js:
8:35 AM Changeset in webkit [251917] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][IFC] Add support for text-align: justify
https://bugs.webkit.org/show_bug.cgi?id=203715
<rdar://problem/56804607>

Reviewed by Antti Koivisto.

Add basic support for text-align: justify. Register expansion opportunities as the text content is being
appended to the line (Line::appendTextContent) and distribute the extra space when the line is being closed (Line::close).
Now LFC rendering of OpenSource/PerformanceTests/Layout/line-layout-simple.html visually matches trunk rendering.

  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::paintInlineContent):

  • layout/displaytree/DisplayRun.h:

(WebCore::Display::Run::TextContext::resetExpansion):

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::Run::expand):
(WebCore::Layout::Line::close):
(WebCore::Layout::Line::justifyRuns):
(WebCore::Layout::Line::alignContentHorizontally):
(WebCore::Layout::Line::appendTextContent):

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::isTextAlignJustify const):
(WebCore::Layout::Line::Run::setCollapsesToZeroAdvanceWidth):
(WebCore::Layout::Line::Run::adjustExpansionBehavior):
(WebCore::Layout::Line::Run::expand): Deleted.

  • layout/inlineformatting/InlineLineLayout.cpp:

(WebCore::Layout::LineLayout::close):

8:20 AM Changeset in webkit [251916] by Antti Koivisto
  • 12 edits in trunk/Source/WebCore

Style::Builder should not depend on StyleResolver
https://bugs.webkit.org/show_bug.cgi?id=203729

Reviewed by Zalan Bujtas.

With all style building state in builder, we can remove the back-reference to style resolver.

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::createFilterOperations):

  • css/CSSFilterImageValue.h:
  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::gradientWithStylesResolved):
(WebCore::CSSGradientValue::resolveRGBColors):

Add helper for resolving basic colors without style builder.

  • css/CSSGradientValue.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::State::setStyle):
(WebCore::StyleResolver::applyMatchedProperties):

Register content attributes encountered during style building.

(WebCore::StyleResolver::State::updateConversionData): Deleted.

This is now created by BuilderState constructor.

(WebCore::StyleResolver::styleImage): Deleted.
(WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement): Deleted.
(WebCore::StyleResolver::colorFromPrimitiveValue const): Deleted.
(WebCore::filterOperationForType): Deleted.
(WebCore::StyleResolver::createFilterOperations): Deleted.

Move image mapping functions to BuilderState.

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::cssToLengthConversionData const): Deleted.

  • html/HTMLInputElement.cpp:

(WebCore::autoFillStrongPasswordMaskImage):
(WebCore::HTMLInputElement::createInnerTextStyle):

Create mask image without requiring style resolver.

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::Builder):

  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyValueZoom):
(WebCore::Style::BuilderCustom::applyValueContent):
(WebCore::Style::BuilderCustom::applyValueFontSize):
(WebCore::Style::BuilderCustom::applyValueAlt):

  • style/StyleBuilderState.cpp:

(WebCore::Style::BuilderState::BuilderState):

No more m_styleResolver.

(WebCore::Style::BuilderState::createStyleImage):
(WebCore::Style::filterOperationForType):
(WebCore::Style::BuilderState::createFilterOperations):
(WebCore::Style::BuilderState::isColorFromPrimitiveValueDerivedFromElement):
(WebCore::Style::BuilderState::colorFromPrimitiveValue const):
(WebCore::Style::BuilderState::registerContentAttribute):

Collect content attributes so they can be applied later by StyleResolver.

  • style/StyleBuilderState.h:

(WebCore::Style::BuilderState::builder):
(WebCore::Style::BuilderState::rootElementStyle const):

Restore this to be nullable for simplicity.

(WebCore::Style::BuilderState::registeredContentAttributes const):
(WebCore::Style::BuilderState::styleResolver): Deleted.

7:41 AM November 2019 Meeting edited by Jon Davis
Updated Igalia talk name (diff)
7:40 AM November 2019 Meeting edited by Jon Davis
Changed the afternoon schedule (diff)
7:26 AM Changeset in webkit [251915] by Fujii Hironori
  • 2 edits in trunk/Tools

[CMake] TestWebCore shouldn't link with WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=203672

Reviewed by Don Olmstead.

TestWebCore doesn't need to link with WebCoreTestSupport. And, it
causes a problem for Windows because WebCoreTestSupport imports
WebCore symbols by using dllimport, however, WebCore is not a DLL.
(Bug 203663 Comment 4)

  • TestWebKitAPI/CMakeLists.txt: Changed TestWebCore not to link

with WebCoreTestSupport. Changed TestWebCore to link with
WebCoreHeaderInterface instead.

5:55 AM Changeset in webkit [251914] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

CanvasRenderingContext2DBase: use CanvasBase more extensively
https://bugs.webkit.org/show_bug.cgi?id=182685

Patch by Zan Dobersek <zdobersek@igalia.com> and Chris Lord <Chris Lord> on 2019-11-01
Reviewed by Adrian Perez de Castro.

In CanvasRenderingContext2DBase, stop downcasting the CanvasBase object
to HTMLCanvasElement where not necessary, and where necessary, do so
after testing that the CanvasBase object is indeed a HTMLCanvasElement.

All the functionality that previously required downcasting has now moved
into the CanvasBase class. Combined with these changes, this will allow
OffscreenCanvas to leverage CanvasRenderingContext2DBase for 2D
rasterization.

CanvasStyle is similarly modified to work on CanvasBase objects, only
retrieving current color value from the inline style only in case of
an HTMLCanvasElement derivative.

No new tests -- no change in behavior.

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::setStrokeStyle):
(WebCore::CanvasRenderingContext2DBase::setFillStyle):
(WebCore::CanvasRenderingContext2DBase::setShadowColor):
(WebCore::CanvasRenderingContext2DBase::setShadow):
(WebCore::CanvasRenderingContext2DBase::didDraw):
(WebCore::CanvasRenderingContext2DBase::getImageData const):
(WebCore::CanvasRenderingContext2DBase::putImageData):
(WebCore::CanvasRenderingContext2DBase::platformLayer const):

  • html/canvas/CanvasStyle.cpp:

(WebCore::currentColor):
(WebCore::parseColorOrCurrentColor):

  • html/canvas/CanvasStyle.h:
1:44 AM Changeset in webkit [251913] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Turn on IOSurface support in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=203026
<rdar://problem/56320993>

  • platform/ios/TestExpectations:

Adjust some more test expectations after turning on accelerated drawing.
This is starting to get concerning.

Oct 31, 2019:

11:34 PM Changeset in webkit [251912] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, speculative GTK build fix r251886
https://bugs.webkit.org/show_bug.cgi?id=203703

  • wasm/WasmSlowPaths.h:
10:53 PM Changeset in webkit [251911] by Tadeu Zagallo
  • 2 edits in trunk/Source/JavaScriptCore

Fix GTK build after r251886
https://bugs.webkit.org/show_bug.cgi?id=203703

Reviewed by Yusuke Suzuki.

slow_path_wasm_throw_exception was missing extern "C" in the implementation file.

  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::slow_path_wasm_throw_exception):

10:03 PM Changeset in webkit [251910] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Turn on IOSurface support in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=203026
<rdar://problem/56320993>

  • platform/ios/TestExpectations:

Adjust some more test expectations after turning on accelerated drawing.

10:01 PM Changeset in webkit [251909] by Tadeu Zagallo
  • 2 edits in trunk/Source/JavaScriptCore

gcSafeMemmove references undefined slowPathBackwardsMemmove on non-gcc compatible compilers
https://bugs.webkit.org/show_bug.cgi?id=203721

Reviewed by Fujii Hironori.

  • heap/GCMemoryOperations.h:

(JSC::gcSafeMemmove):

9:41 PM Changeset in webkit [251908] by Fujii Hironori
  • 3 edits in trunk/Source/WebCore

[WinCairo][Clang] Unreviewed build fix
https://bugs.webkit.org/show_bug.cgi?id=203663

ServiceWorkerThreadProxy::notifyNetworkStateChange was not
exported from WebKit.dll even though it's marked with
WEBCORE_TESTSUPPORT_EXPORT because any symbols in the object file of
ServiceWorkerThreadProxy.cpp is not referred by WebKit.dll.

WebCoreTestSupport.lib(ServiceWorkerInternals.cpp.obj) : error LNK2019: unresolved external symbol

"declspec(dllimport) public: void cdecl WebCore::ServiceWorkerThreadProxy::notifyNetworkStateChange(bool)"
(imp_?notifyNetworkStateChange@ServiceWorkerThreadProxy@WebCore@@QEAAX_N@Z) referenced in function
"public: <auto>
cdecl public: void __cdecl WebCore::ServiceWorkerInternals::setOnline(bool)'::1'::<lambda_0>::operator()(void)const "
(??R<lambda_0>@?0??setOnline@ServiceWorkerInternals@WebCore@@QEAAX_N@Z@QEBA?A?<auto>@@XZ)

Uninline ServiceWorkerThreadProxy::identifier temporarily.
I will revert this change after fixing this issue properly in Bug 203663.

No behavioral changes.

  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::identifier const):

  • workers/service/context/ServiceWorkerThreadProxy.h:
9:07 PM Changeset in webkit [251907] by Chris Dumez
  • 8 edits in trunk/Source/WebKit

Take down the gesture snapshot early when the back/forward cache is not leveraged
https://bugs.webkit.org/show_bug.cgi?id=203713
<rdar://problem/56803910>

Reviewed by Tim Horton.

Take down the gesture snapshot as soon as the gesture is done when the back/forward cache
is not leveraged. Otherwise, the snapshot may stay up for a long time (while we load, parse
and restore scroll position) and it would look to the user as if the view was unresponsive.
Showing the page slowly loading in such cases is less confusing as the user knows what's
going on and is even able to interact with the partially loaded page.

  • Shared/WebBackForwardListItem.cpp:

(WebKit::WebBackForwardListItem::hasCachedWebPage const):

  • Shared/WebBackForwardListItem.h:
  • UIProcess/ViewGestureController.cpp:

(WebKit::ViewGestureController::endSwipeGesture):

  • UIProcess/ViewGestureController.h:
  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::makeSnapshotBlank):
(WebKit::ViewGestureController::endSwipeGesture):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::makeSnapshotBlank):

9:00 PM Changeset in webkit [251906] by Tadeu Zagallo
  • 2 edits in trunk/Source/JavaScriptCore

Fix build when WTF_CPU_NEEDS_ALIGNED_ACCESS=1 after r251886
https://bugs.webkit.org/show_bug.cgi?id=203718

Reviewed by Yusuke Suzuki.

  • bytecompiler/BytecodeGeneratorBaseInlines.h:

(JSC::BytecodeGeneratorBase<Traits>::alignWideOpcode16):
(JSC::BytecodeGeneratorBase<Traits>::alignWideOpcode32):

8:58 PM Changeset in webkit [251905] by Tadeu Zagallo
  • 2 edits in trunk/Source/JavaScriptCore

offlineasm should emit the suffixes for floating point instructions on Windows x86
https://bugs.webkit.org/show_bug.cgi?id=203720

Reviewed by Yusuke Suzuki.

  • offlineasm/x86.rb:
8:23 PM Changeset in webkit [251904] by Tadeu Zagallo
  • 2 edits in trunk/Source/JavaScriptCore

Disable Wasm interpreter on WinCairo
https://bugs.webkit.org/show_bug.cgi?id=203705

Reviewed by Yusuke Suzuki.

The interpreter does not build on WinCairo.

  • llint/LowLevelInterpreter.asm:
8:22 PM Changeset in webkit [251903] by ysuzuki@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

[JSC] Remove metadata(CallFrame*) accessor
https://bugs.webkit.org/show_bug.cgi?id=203712

Reviewed by Tadeu Zagallo.

We should pass CodeBlock* explicitly to remove unnecessary use of CallFrame*, which is very error-prone.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareCatchOSREntry):

  • dfg/DFGOSREntry.h:
  • generator/Metadata.rb:
  • jit/JITOperations.cpp:
7:11 PM Changeset in webkit [251902] by Caio Lima
  • 13 edits in trunk

Temporary skip broken tests on MIPS that is broken due to OSR exit to LLInt
https://bugs.webkit.org/show_bug.cgi?id=203710

Unreviewed gardening.

JSTests:

  • microbenchmarks/call-spread-call.js:
  • microbenchmarks/throw.js:
  • stress/allocation-sinking-hints-are-valid-ssa-2.js:
  • stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js:
  • stress/arrowfunction-lexical-bind-supercall-4.js:
  • stress/arrowfunction-tdz-3.js:
  • stress/function-constructor-semantics.js:
  • stress/stress-cleared-calllinkinfo.js:
  • stress/typedarray-configure-index.js:
  • stress/v8-deltablue-strict.js:

PerformanceTests/SunSpider:

  • tests/v8-v6/v8-deltablue.js:
6:39 PM Changeset in webkit [251901] by Jonathan Bedard
  • 2 edits in trunk/Tools

REGRESSION (r251808): run-webkit-test cannot show results.html
https://bugs.webkit.org/show_bug.cgi?id=203709
<rdar://problem/56798620>

Reviewed by Stephanie Lewis.

  • Scripts/webkitpy/port/darwin.py:

(DarwinPort.show_results_html_file): os.devnull is a string, not a file.

5:53 PM Changeset in webkit [251900] by Brent Fulgham
  • 15 edits in trunk/Source/WebCore

[FTW] Adopt DirectWrite in place of Uniscribe
https://bugs.webkit.org/show_bug.cgi?id=203548
<rdar://problem/56695130>

Reviewed by Fujii Hironori.

This patch switches from the Uniscribe text controller to a
DirectWrite based ComplexTextController.

  • PlatformFTW.cmake:
  • platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::ComplexTextController): Treat Windows
like any other ComplexTextController platform.

  • platform/graphics/Font.cpp:

(WebCore::Font::platformGlyphInit): Add hack for DirectWrite
zero-width space handling.

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::widthOfTextRange const): Don't use Uniscribe.

  • platform/graphics/FontPlatformData.h:

(WebCore::FontPlatformData::dwFontCollection const):
(WebCore::FontPlatformData::faceName const):

  • platform/graphics/win/ComplexTextControllerDirectWrite.cpp:

(WebCore::shape): Added,
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
Added.

  • platform/graphics/win/DirectWriteUtilities.cpp:

(WebCore::DirectWrite::createWithPlatformFont): Modify to return a
pair of font and font collection.
(WebCore::DirectWrite::fontWeight): Added stub.
(WebCore::DirectWrite::fontStyle): Ditto.
(WebCore::DirectWrite::fontStretch): Ditto.

  • platform/graphics/win/DirectWriteUtilities.h:
  • platform/graphics/win/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::fontPlatformData): Add more
information to help DirectWrite handle font styles.

  • platform/graphics/win/FontPlatformDataDirect2D.cpp:

(WebCore::FontPlatformData::platformDataInit):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::createFallbackFont): Deleted.

  • platform/graphics/win/FontWin.cpp:
  • platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp:

(WebCore::GlyphPage::fill): Update to handle multiple runs in a
given string.

  • platform/graphics/win/TextAnalyzerHelper.cpp:

(WebCore::TextAnalyzerHelper::TextAnalyzerHelper): Update to handle
analysis of strings with multiple runs.
(WebCore::TextAnalyzerHelper::SetScriptAnalysis): Ditto.

  • platform/graphics/win/TextAnalyzerHelper.h:
5:39 PM Changeset in webkit [251899] by Alan Coon
  • 21 edits in branches/safari-608-branch

Revert "Revert everything related to rdar://problem/56280706".

This reverts commit r251890.

5:39 PM Changeset in webkit [251898] by Matt Baker
  • 2 edits in trunk/Tools

Changed my emails list.

  • Scripts/webkitpy/common/config/contributors.json:
5:31 PM Changeset in webkit [251897] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Fix mach lookup sandbox violations in the Mail app
https://bugs.webkit.org/show_bug.cgi?id=203697

Reviewed by Alexey Proskuryakov.

Allow mach lookup to the services "com.apple.logd.events" and "com.apple.distributed_notifications@1v3",
which are seen when running the Mail application. Also allow "com.apple.aggregated", which was previously
allowed, and is showing up in reports.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
5:08 PM Changeset in webkit [251896] by timothy_horton@apple.com
  • 19 edits
    4 adds
    1 delete in trunk

Turn on IOSurface support in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=203026
<rdar://problem/56320993>

Reviewed by Simon Fraser.

Source/WebCore:

  • Configurations/WebCore.xcconfig:

Always link IOSurface now that we always have it. We continue to only link
IOSurfaceAccelerator on iOS hardware, since it's only available there.

  • platform/graphics/cocoa/IOSurface.h:

Turn off RGB10 in the Simulator.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
Disable CoreImage rendering via IOSurface for the system preview badge,
since it does not seem to work in the simulator.

Source/WebKit:

  • Configurations/WebKit.xcconfig:

Always link IOSurface now that we always have it.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:

Turn on Accelerated Drawing and Accelerated Drawing for Canvas by default.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _takeViewSnapshot]):
Don't use RGB10 if we don't have it.

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
Don't use render server snapshotting in hidden windows, because it
(correctly, but unhelpfully) cannot capture contents in that case.

Source/WTF:

  • wtf/Platform.h:

Turn on HAVE(IOSURFACE) and USE(IOSURFACE_CANVAS_BACKING_STORE) in the simulator.
Add HAVE(IOSURFACE_COREIMAGE_SUPPORT).

Tools:

  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:

(createBitmapContextFromWebView):
Don't use RGB10 if we don't have it.

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:

(TEST):
Don't allocate many megabytes on the stack.
This isn't currently a problem, but if you accidentally run the tests on
a 3x simulator it starts crashing.

LayoutTests:

  • compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt:
  • platform/ios-device/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/ios/compositing/canvas/accelerated-canvas-compositing-expected.txt: Added.
  • platform/ios/compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt: Removed.
  • platform/ios/fast/canvas/canvas-render-layer-expected.txt: Added.
  • platform/ios/fast/canvas/canvas-scale-shadowBlur-expected.txt: Added.
  • platform/ios/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_html_image-expected.txt: Removed.

Move and expand the scope of some TestExpectations for canvas tests
that fail due to noise introduced in the hardware accelerated drawing path.
We will separately investigate how to mitigate this, but it already affects
iOS on-device testing (as well as macOS in most cases). The tiny reduction
in coverage here is well worth the massive improvement in coverage of
accelerated drawing code paths.

  • fast/images/exif-orientation-canvas-expected.html:

Due to rdar://problem/56755864, <canvas> and <img> render slightly differently.
Use <canvas> for the reference as well, but use transforms to translate it
instead of depending on EXIF orientation support, to continue testing
the intended behavior.

4:54 PM Changeset in webkit [251895] by jer.noble@apple.com
  • 7 edits
    2 adds in trunk

[EME] Batch multiple key requests into one request and response
https://bugs.webkit.org/show_bug.cgi?id=203580
<rdar://problem/54853345>

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac/media/encrypted-media/fps-multiple-pssh.html

Add a path for -didProvideRequests: giving an NSArray of AVContentKeyRequests to result in
an EME message containing a JSON object containing keyIDs and licence request payloads.

  • CDMInstanceSessionFairPlayStreamingAVFObjC now defines a "Request" as a Vector of AVContentKeyRequests.
  • When we receive an NSArray of AVContentKeyRequests, we store that as a single "Request" in m_currentRequest and m_requests, or in m_pendingRequests.
  • Generating a key request message from such a vector will result in a JSON object in the format of [{ keyID: ..., payload: ...}, ...].
  • Clients can update these all at once with a matching JSON object in the same format, or alternatively of the format [{ keyID: ..., error: ...}, ...] to indicate to the CDN that there was an error encountered while completing the key request.
  • There are a couple of helper classes that facilitate collecting delegate callbacks and completion handlers into a single final callback: UpdateResponseCollector and CallbackAggregator.
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:

(-[WebCoreFPSContentKeySessionDelegate contentKeySession:didProvideContentKeyRequests:forInitializationData:]):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::UpdateResponseCollector::UpdateResponseCollector):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::UpdateResponseCollector::addSuccessfulResponse):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::UpdateResponseCollector::addErrorResponse):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::UpdateResponseCollector::fail):
(WebCore::parseJSONValue):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForKeyIDs const):
(WebCore::keyIDsForRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyIDs):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::closeSession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequests):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRenewingRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didFailToProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestDidSucceed):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::nextRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::lastKeyRequest const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyStatuses const):

Source/WTF:

Support appending an r-value reference Vector to another.

  • wtf/Vector.h:

(WTF::minCapacity>::appendVector):

LayoutTests:

  • platform/mac/TestExpectations:
  • platform/mac/media/encrypted-media/fps-multiple-pssh-expected.txt: Added.
  • platform/mac/media/encrypted-media/fps-multiple-pssh.html: Added.
4:37 PM Changeset in webkit [251894] by Tadeu Zagallo
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix LowLevelInterpreter32_64.asm after r251886
https://bugs.webkit.org/show_bug.cgi?id=194257

ci2d was renamed to ci2ds and I also missed LowLevelInterpreter32_64.asm

  • llint/LowLevelInterpreter32_64.asm:
4:28 PM Changeset in webkit [251893] by Tadeu Zagallo
  • 4 edits in trunk/Source/JavaScriptCore

Unreviewed, fix cloop builds after r251886
https://bugs.webkit.org/show_bug.cgi?id=194257

ci2d was renamed to ci2ds, but I missed cloop.rb, arm.rb and mips.rb

  • offlineasm/arm.rb:
  • offlineasm/cloop.rb:
  • offlineasm/mips.rb:
4:27 PM Changeset in webkit [251892] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

4:18 PM Changeset in webkit [251891] by Kocsen Chung
  • 1 copy in tags/Safari-608.4.6

Tag Safari-608.4.6.

4:11 PM Changeset in webkit [251890] by Kocsen Chung
  • 21 edits in branches/safari-608-branch

Revert everything related to rdar://problem/56280706

This reverts commit r251884, r251873, r251803.

3:48 PM Changeset in webkit [251889] by dino@apple.com
  • 3 edits
    1 move
    2 deletes in trunk/Source/WebKit

REGRESSION (r251215): Mail failed to build
https://bugs.webkit.org/show_bug.cgi?id=203700
<rdar://problem/56787012>

Reviewed by Antoine Quint.

Revert the private modulemap. It didn't include enough things
and caused some internal builds to fail.

We'll put it back with everything included sometime soon.

  • Configurations/WebKit.xcconfig:
  • Modules/OSX.modulemap: Renamed from Source/WebKit/Modules/macOS.modulemap.
  • Modules/iOS.private.modulemap: Removed.
  • Modules/macOS.private.modulemap: Removed.
  • Shared/API/Cocoa/WebKitPrivate.h:
3:45 PM Changeset in webkit [251888] by achristensen@apple.com
  • 16 edits in trunk

Enable more features in Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=203699

Patch by Alex Christensen <achristensen@apple.com> on 2019-10-31
Rubber-stamped by Tim Horton.

.:

  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

  • Modules/pictureinpicture/PictureInPictureWindow.h:
  • PlatformMac.cmake:
  • layout/inlineformatting/InlineFormattingContext.cpp:
  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:

Source/WebCore/PAL:

  • pal/CMakeLists.txt:
  • pal/PlatformMac.cmake:

Source/WebKit:

  • PlatformMac.cmake:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::createCaptureSource):

Source/WebKitLegacy:

  • PlatformMac.cmake:
3:40 PM Changeset in webkit [251887] by Russell Epstein
  • 13 edits in trunk/Source

Unreviewed, rolling out r251861.

Caused 50+ Layout Test Crashes

Reverted changeset:

"Use SecurityOriginData in NetworkProcess where possible
without other changes"
https://bugs.webkit.org/show_bug.cgi?id=203615
https://trac.webkit.org/changeset/251861

3:32 PM Changeset in webkit [251886] by Tadeu Zagallo
  • 87 edits
    5 copies
    11 adds
    1 delete in trunk

[WebAssembly] Create a Wasm interpreter
https://bugs.webkit.org/show_bug.cgi?id=194257
<rdar://problem/44186794>

Reviewed by Saam Barati.

Source/JavaScriptCore:

Add an interpreter tier to WebAssembly which reuses the LLInt infrastructure. The interpreter
currently tiers up straight to OMG and can OSR enter at the prologue and from loops. The initial
implementation of the interpreter is very naive, but despite the lack of optimizations it still
shows a 2x improvement on the WebAssembly subtests in JetStream2 and 2x improvement on the
PSPDFKit benchmark. It reduces "compilation" times by ~3x and it's neutral on throughput.

The interpreter follows the same calling conventions as the BBQ/OMG, this means that:

  • We have to allocate locals for all argument registers and write all arguments registers to the stack in the prologue.
  • Calls have to allocate space for at least as many arguments as the number of argument registers. Before each call, all argument registers must be loaded from the stack, and after we return from the call, all registers must be stored back to the stack, in case they contain return values. We carefully layout the stack so that the arguments that would already have to be passed in the stack end up in the right place. The stack layout for calls is:

[ gprs ][ fprs ][ optional stack arguments ][ callee frame ]

sp

  • The return opcode has to load all registers from the stack, since they might need to contain results of the function.
  • The calling convention requires that the callee should store itself in the callee slot of the call frame, which is impossible in the interpreter, since the code we execute is the same for all callees. In order to work around that, we generate an entry thunk to the wasm interpreter for each function. All this thunk does is store the callee in the call frame and tail call the interpreter.
  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumper<Block>::constantName const):
(JSC::BytecodeDumper<Block>::dumpValue):
(JSC::BytecodeDumper<Block>::dumpBytecode):
(JSC::CodeBlockBytecodeDumper<Block>::vm const):
(JSC::CodeBlockBytecodeDumper<Block>::identifier const):
(JSC::CodeBlockBytecodeDumper<Block>::dumpIdentifiers):
(JSC::CodeBlockBytecodeDumper<Block>::dumpConstants):
(JSC::CodeBlockBytecodeDumper<Block>::dumpExceptionHandlers):
(JSC::CodeBlockBytecodeDumper<Block>::dumpSwitchJumpTables):
(JSC::CodeBlockBytecodeDumper<Block>::dumpStringSwitchJumpTables):
(JSC::CodeBlockBytecodeDumper<Block>::dumpBlock):

  • bytecode/BytecodeDumper.h:

(JSC::BytecodeDumper::dumpValue):
(JSC::BytecodeDumper::BytecodeDumper):

  • bytecode/BytecodeGeneratorification.cpp:

(JSC::performGeneratorification):

  • bytecode/BytecodeList.rb:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecode/Fits.h:
  • bytecode/Instruction.h:

(JSC::BaseInstruction::BaseInstruction):
(JSC::BaseInstruction::Impl::opcodeID const):
(JSC::BaseInstruction::opcodeID const):
(JSC::BaseInstruction::name const):
(JSC::BaseInstruction::isWide16 const):
(JSC::BaseInstruction::isWide32 const):
(JSC::BaseInstruction::hasMetadata const):
(JSC::BaseInstruction::sizeShiftAmount const):
(JSC::BaseInstruction::size const):
(JSC::BaseInstruction::is const):
(JSC::BaseInstruction::as const):
(JSC::BaseInstruction::cast):
(JSC::BaseInstruction::cast const):
(JSC::BaseInstruction::wide16 const):
(JSC::BaseInstruction::wide32 const):

  • bytecode/InstructionStream.h:

(JSC::InstructionStream::iterator::operator+=):
(JSC::InstructionStream::iterator::operator++):
(JSC::InstructionStreamWriter::iterator::operator+=):
(JSC::InstructionStreamWriter::iterator::operator++):

  • bytecode/Opcode.cpp:
  • bytecode/Opcode.h:
  • bytecode/PreciseJumpTargetsInlines.h:
  • bytecode/UnlinkedCodeBlock.h:
  • bytecode/VirtualRegister.cpp:

(JSC::VirtualRegister::VirtualRegister):

  • bytecode/VirtualRegister.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::GenericLabel<JSGeneratorTraits>::setLocation):
(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/BytecodeGeneratorBase.h: Added.
  • bytecompiler/BytecodeGeneratorBaseInlines.h: Added.

(JSC::shrinkToFit):
(JSC::BytecodeGeneratorBase<Traits>::BytecodeGeneratorBase):
(JSC::BytecodeGeneratorBase<Traits>::newLabel):
(JSC::BytecodeGeneratorBase<Traits>::newEmittedLabel):
(JSC::BytecodeGeneratorBase<Traits>::reclaimFreeRegisters):
(JSC::BytecodeGeneratorBase<Traits>::emitLabel):
(JSC::BytecodeGeneratorBase<Traits>::recordOpcode):
(JSC::BytecodeGeneratorBase<Traits>::alignWideOpcode16):
(JSC::BytecodeGeneratorBase<Traits>::alignWideOpcode32):
(JSC::BytecodeGeneratorBase<Traits>::write):
(JSC::BytecodeGeneratorBase<Traits>::newRegister):
(JSC::BytecodeGeneratorBase<Traits>::newTemporary):
(JSC::BytecodeGeneratorBase<Traits>::addVar):
(JSC::BytecodeGeneratorBase<Traits>::allocateCalleeSaveSpace):

  • bytecompiler/Label.h:

(JSC::GenericBoundLabel::GenericBoundLabel):
(JSC::GenericBoundLabel::target):
(JSC::GenericBoundLabel::saveTarget):
(JSC::GenericBoundLabel::commitTarget):

  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGOperations.cpp:
  • generator/Argument.rb:
  • generator/DSL.rb:
  • generator/GeneratedFile.rb:
  • generator/Opcode.rb:
  • generator/Options.rb:
  • generator/Section.rb:
  • generator/Wasm.rb: Added.
  • interpreter/Register.h:
  • interpreter/RegisterInlines.h:

(JSC::Register::operator=):

  • jit/JITArithmetic.cpp:
  • jit/JITOpcodes.cpp:
  • llint/LLIntData.cpp:

(JSC::LLInt::initialize):

  • llint/LLIntData.h:

(JSC::LLInt::wasmExceptionInstructions):

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LLIntSlowPaths.cpp:
  • llint/LLIntThunks.cpp:

(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::wasmFunctionEntryThunk):

  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • llint/WebAssembly.asm: Added.
  • offlineasm/arm64.rb:
  • offlineasm/instructions.rb:
  • offlineasm/parser.rb:
  • offlineasm/registers.rb:
  • offlineasm/transform.rb:
  • offlineasm/x86.rb:
  • parser/Nodes.h:
  • runtime/Error.cpp:

(JSC::FindFirstCallerFrameWithCodeblockFunctor::operator() const):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finishCreation):

  • runtime/Options.cpp:

(JSC::overrideDefaults):

  • runtime/OptionsList.h:
  • runtime/SamplingProfiler.cpp:

(JSC::FrameWalker::recordJITFrame):
(JSC::FrameWalker::resetAtMachineFrame):

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::isControlTypeIf):
(JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::isControlTypeIf):

  • wasm/WasmBBQPlan.cpp:

(JSC::Wasm::BBQPlan::prepareImpl):
(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::compileFunction):
(JSC::Wasm::BBQPlan::didCompleteCompilation):
(JSC::Wasm::BBQPlan::initializeCallees):

  • wasm/WasmBBQPlan.h:
  • wasm/WasmBBQPlanInlines.h: Removed.
  • wasm/WasmCallee.cpp:

(JSC::Wasm::Callee::Callee):
(JSC::Wasm::Callee::dump const):
(JSC::Wasm::JITCallee::JITCallee):
(JSC::Wasm::LLIntCallee::setEntrypoint):
(JSC::Wasm::LLIntCallee::entrypoint const):
(JSC::Wasm::LLIntCallee::calleeSaveRegisters):
(JSC::Wasm:: const):

  • wasm/WasmCallee.h:

(JSC::Wasm::Callee::setOSREntryCallee):
(JSC::Wasm::JITCallee::wasmToWasmCallsites):
(JSC::Wasm::JITCallee:: const):

  • wasm/WasmCallingConvention.h:
  • wasm/WasmCodeBlock.cpp:

(JSC::Wasm::CodeBlock::CodeBlock):

  • wasm/WasmCodeBlock.h:

(JSC::Wasm::CodeBlock::wasmEntrypointCalleeFromFunctionIndexSpace):
(JSC::Wasm::CodeBlock::wasmBBQCalleeFromFunctionIndexSpace):
(JSC::Wasm::CodeBlock::wasmToWasmExitStub):

  • wasm/WasmCompilationMode.cpp:

(JSC::Wasm::makeString):

  • wasm/WasmCompilationMode.h:
  • wasm/WasmEmbedder.h:
  • wasm/WasmEntryPlan.cpp: Added.

(JSC::Wasm::EntryPlan::EntryPlan):
(JSC::Wasm::EntryPlan::stateString):
(JSC::Wasm::EntryPlan::moveToState):
(JSC::Wasm::EntryPlan::didReceiveFunctionData):
(JSC::Wasm::EntryPlan::parseAndValidateModule):
(JSC::Wasm::EntryPlan::prepare):
(JSC::Wasm::EntryPlan::ThreadCountHolder::ThreadCountHolder):
(JSC::Wasm::EntryPlan::ThreadCountHolder::~ThreadCountHolder):
(JSC::Wasm::EntryPlan::complete):
(JSC::Wasm::EntryPlan::compileFunctions):
(JSC::Wasm::EntryPlan::work):

  • wasm/WasmEntryPlan.h: Copied from Source/JavaScriptCore/wasm/WasmBBQPlan.h.

(JSC::Wasm::EntryPlan::parseAndValidateModule):
(JSC::Wasm::EntryPlan::exports const):
(JSC::Wasm::EntryPlan::internalFunctionCount const):
(JSC::Wasm::EntryPlan::takeModuleInformation):
(JSC::Wasm::EntryPlan::takeWasmToWasmExitStubs):
(JSC::Wasm::EntryPlan::takeWasmToWasmCallsites):
(JSC::Wasm::EntryPlan::hasBeenPrepared const):
(JSC::Wasm::EntryPlan::tryReserveCapacity):

  • wasm/WasmFunctionCodeBlock.cpp: Added.

(JSC::Wasm::FunctionCodeBlock::setInstructions):
(JSC::Wasm::FunctionCodeBlock::dumpBytecode):
(JSC::Wasm::FunctionCodeBlock::addOutOfLineJumpTarget):
(JSC::Wasm::FunctionCodeBlock::outOfLineJumpOffset):
(JSC::Wasm::FunctionCodeBlock::outOfLineJumpTarget):
(JSC::Wasm::FunctionCodeBlock::addSignature):
(JSC::Wasm::FunctionCodeBlock::signature const):
(JSC::Wasm::FunctionCodeBlock::addJumpTable):
(JSC::Wasm::FunctionCodeBlock::jumpTable const const):
(JSC::Wasm::FunctionCodeBlock::numberOfJumpTables const):

  • wasm/WasmFunctionCodeBlock.h: Added.

(JSC::Wasm::FunctionCodeBlock::FunctionCodeBlock):
(JSC::Wasm::FunctionCodeBlock::getConstant const):
(JSC::Wasm::FunctionCodeBlock::functionIndex const):
(JSC::Wasm::FunctionCodeBlock::addJumpTarget):
(JSC::Wasm::FunctionCodeBlock::numberOfJumpTargets):
(JSC::Wasm::FunctionCodeBlock::lastJumpTarget):
(JSC::Wasm::FunctionCodeBlock::outOfLineJumpOffset):
(JSC::Wasm::FunctionCodeBlock::bytecodeOffset):
(JSC::Wasm::FunctionCodeBlock::tierUpCounter):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):

  • wasm/WasmInstance.h:
  • wasm/WasmLLIntGenerator.cpp: Added.

(JSC::Wasm::LLIntGenerator::ControlType::ControlType):
(JSC::Wasm::LLIntGenerator::ControlType::loop):
(JSC::Wasm::LLIntGenerator::ControlType::topLevel):
(JSC::Wasm::LLIntGenerator::ControlType::block):
(JSC::Wasm::LLIntGenerator::ControlType::if_):
(JSC::Wasm::LLIntGenerator::ControlType::targetLabelForBranch const):
(JSC::Wasm::LLIntGenerator::fail const):
(JSC::Wasm::LLIntGenerator::unifyValuesWithBlock):
(JSC::Wasm::LLIntGenerator::emptyExpression):
(JSC::Wasm::LLIntGenerator::createStack):
(JSC::Wasm::LLIntGenerator::isControlTypeIf):
(JSC::Wasm::LLIntGenerator::addEndToUnreachable):
(JSC::Wasm::LLIntGenerator::setParser):
(JSC::Wasm::LLIntGenerator::dump):
(JSC::Wasm::LLIntGenerator::virtualRegisterForLocal):
(JSC::Wasm::LLIntGenerator::tmpsForSignature):
(JSC::Wasm::LLIntGenerator::jsNullConstant):
(JSC::Wasm::LLIntGenerator::isConstant):
(JSC::Wasm::parseAndCompileBytecode):
(JSC::Wasm::LLIntGenerator::LLIntGenerator):
(JSC::Wasm::LLIntGenerator::finalize):
(JSC::Wasm::LLIntGenerator::callInformationFor):
(JSC::Wasm::LLIntGenerator::addArguments):
(JSC::Wasm::LLIntGenerator::addLocal):
(JSC::Wasm::LLIntGenerator::addConstant):
(JSC::Wasm::LLIntGenerator::getLocal):
(JSC::Wasm::LLIntGenerator::setLocal):
(JSC::Wasm::LLIntGenerator::getGlobal):
(JSC::Wasm::LLIntGenerator::setGlobal):
(JSC::Wasm::LLIntGenerator::addLoop):
(JSC::Wasm::LLIntGenerator::addTopLevel):
(JSC::Wasm::LLIntGenerator::addBlock):
(JSC::Wasm::LLIntGenerator::addIf):
(JSC::Wasm::LLIntGenerator::addElse):
(JSC::Wasm::LLIntGenerator::addElseToUnreachable):
(JSC::Wasm::LLIntGenerator::addReturn):
(JSC::Wasm::LLIntGenerator::addBranch):
(JSC::Wasm::LLIntGenerator::addSwitch):
(JSC::Wasm::LLIntGenerator::endBlock):
(JSC::Wasm::LLIntGenerator::addCall):
(JSC::Wasm::LLIntGenerator::addCallIndirect):
(JSC::Wasm::LLIntGenerator::addRefIsNull):
(JSC::Wasm::LLIntGenerator::addRefFunc):
(JSC::Wasm::LLIntGenerator::addTableGet):
(JSC::Wasm::LLIntGenerator::addTableSet):
(JSC::Wasm::LLIntGenerator::addTableSize):
(JSC::Wasm::LLIntGenerator::addTableGrow):
(JSC::Wasm::LLIntGenerator::addTableFill):
(JSC::Wasm::LLIntGenerator::addUnreachable):
(JSC::Wasm::LLIntGenerator::addCurrentMemory):
(JSC::Wasm::LLIntGenerator::addGrowMemory):
(JSC::Wasm::LLIntGenerator::addSelect):
(JSC::Wasm::LLIntGenerator::load):
(JSC::Wasm::LLIntGenerator::store):
(JSC::GenericLabel<Wasm::GeneratorTraits>::setLocation):

  • wasm/WasmLLIntGenerator.h: Copied from Source/JavaScriptCore/wasm/WasmCompilationMode.h.
  • wasm/WasmLLIntPlan.cpp: Added.

(JSC::Wasm::LLIntPlan::prepareImpl):
(JSC::Wasm::LLIntPlan::compileFunction):
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
(JSC::Wasm::LLIntPlan::initializeCallees):

  • wasm/WasmLLIntPlan.h: Copied from Source/JavaScriptCore/wasm/WasmOMGForOSREntryPlan.h.
  • wasm/WasmLLIntTierUpCounter.cpp: Copied from Source/JavaScriptCore/wasm/WasmCompilationMode.cpp.

(JSC::Wasm::LLIntTierUpCounter::addOSREntryDataForLoop):
(JSC::Wasm::LLIntTierUpCounter::osrEntryDataForLoop const const):

  • wasm/WasmLLIntTierUpCounter.h: Copied from Source/JavaScriptCore/wasm/WasmOMGForOSREntryPlan.h.

(JSC::Wasm::LLIntTierUpCounter::LLIntTierUpCounter):
(JSC::Wasm::LLIntTierUpCounter::optimizeAfterWarmUp):
(JSC::Wasm::LLIntTierUpCounter::checkIfOptimizationThresholdReached):
(JSC::Wasm::LLIntTierUpCounter::optimizeSoon):

  • wasm/WasmMemoryInformation.cpp:

(JSC::Wasm::PinnedRegisterInfo::get):

  • wasm/WasmModule.cpp:

(JSC::Wasm::makeValidationResult):
(JSC::Wasm::makeValidationCallback):
(JSC::Wasm::Module::validateSync):
(JSC::Wasm::Module::validateAsync):

  • wasm/WasmOMGForOSREntryPlan.cpp:

(JSC::Wasm::OMGForOSREntryPlan::OMGForOSREntryPlan):
(JSC::Wasm::OMGForOSREntryPlan::work):

  • wasm/WasmOMGForOSREntryPlan.h:
  • wasm/WasmOMGPlan.cpp:

(JSC::Wasm::OMGPlan::work):

  • wasm/WasmSlowPaths.cpp: Added.

(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::doWasmCall):
(JSC::LLInt::doWasmCallIndirect):
(JSC::LLInt::slow_path_wasm_throw_exception):
(JSC::LLInt::slow_path_wasm_popcount):
(JSC::LLInt::slow_path_wasm_popcountll):

  • wasm/WasmSlowPaths.h: Added.
  • wasm/WasmTable.cpp:

(JSC::Wasm::FuncRefTable::function const):
(JSC::Wasm::FuncRefTable::instance const):

  • wasm/WasmTable.h:
  • wasm/WasmTierUpCount.h:
  • wasm/WasmValidate.cpp:

(JSC::Wasm::Validate::isControlTypeIf):

  • wasm/js/JSToWasm.cpp:

(JSC::Wasm::createJSToWasmWrapper):

  • wasm/js/JSToWasm.h:
  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::calleeSaves const):

Tools:

Add a mode that runs WebAssembly tests without the LLInt (i.e. only Air)
and update the no-air mode to also disable the LLInt tier.

  • Scripts/run-jsc-stress-tests:
3:26 PM Changeset in webkit [251885] by Nikita Vasilyev
  • 6 edits in trunk

Web Inspector: Color picker: incorrect saturation when selecting color on color square
https://bugs.webkit.org/show_bug.cgi?id=203695
<rdar://problem/56793697>

Reviewed by Matt Baker.

Source/WebInspectorUI:

The saturation component in HSV does NOT equal the saturation component in HSL.
Use the proper HSV to HSL conversion.

  • UserInterface/Models/Color.js:

(WI.Color.hsv2hsl): Added.

  • UserInterface/Views/ColorSquare.js:

(WI.ColorSquare.prototype.get tintedColor):
(WI.ColorSquare.prototype.get _lightness): Deleted.

LayoutTests:

  • inspector/model/color-expected.txt:
  • inspector/model/color.html:
3:16 PM Changeset in webkit [251884] by Alan Coon
  • 2 edits in branches/safari-608-branch/Source/WebKit/UIProcess/API/C

Unreviewed build fix. rdar://problem/56280706

3:01 PM November 2019 Meeting edited by Jon Davis
(diff)
3:01 PM November 2019 Meeting edited by Jon Davis
Updated registration message. (diff)
3:01 PM November 2019 Meeting edited by Jon Davis
Updated title for Sony's presentation. (diff)
3:00 PM Changeset in webkit [251883] by Devin Rousso
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r251038): Elements: Computed: variables are shown in the Properties section instead of in the Variables section
https://bugs.webkit.org/show_bug.cgi?id=203668

Reviewed by Matt Baker.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WI.ComputedStyleDetailsPanel.prototype.initialLayout):

  • UserInterface/Views/ComputedStyleSection.js:

(WI.ComputedStyleSection):
(WI.ComputedStyleSection.prototype.set propertyVisibilityMode): Added.
(WI.ComputedStyleSection.prototype.get propertiesToRender):
Reintroduce the propertyVisibilityMode concept to WI.ComputedStyleSection so that the
Computed details panel can prevent CSS variables from being shown in the Properites section.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.get propertiesToRender):
Replace variable getter with isVariable to match r251038.

2:53 PM Changeset in webkit [251882] by ysuzuki@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

[JSC] Make String#localeCompare faster by inlining JSGlobalObject::defaultCollator
https://bugs.webkit.org/show_bug.cgi?id=203696

Reviewed by Mark Lam.

We found that JSGlobalObject::defaultCollator is not inlined and it takes some time in JetStream2/cdjs.
We use LazyProperty mechanism here and make JSGlobalObject::defaultCollator function inlinable simple one.
This patch improves JetStream2/cdjs by 2%.

  • runtime/IntlCollator.cpp:

(JSC::IntlCollator::initializeCollator):

  • runtime/IntlObject.cpp:

(JSC::intlBooleanOption):
(JSC::intlStringOption):
(JSC::intlNumberOption):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
(JSC::JSGlobalObject::defaultCollator): Deleted.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::defaultCollator const):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncLocaleCompare):

2:49 PM Changeset in webkit [251881] by Alan Coon
  • 1 copy in tags/Safari-608.3.10.0.4

Tag Safari-608.3.10.0.4.

2:32 PM Changeset in webkit [251880] by Alan Coon
  • 3 edits in branches/safari-608.3.10.0-branch/Source/WebKit

Cherry-pick r251370. rdar://problem/56763315

Add more release logging for "Unexpectedly resumed" assertion
https://bugs.webkit.org/show_bug.cgi?id=203196

Reviewed by Geoffrey Garen.

  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::processDidResume):
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::processTaskStateDidChange):

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

2:32 PM Changeset in webkit [251879] by Alan Coon
  • 5 edits in branches/safari-608.3.10.0-branch/Source/WebKit

Cherry-pick r251304. rdar://problem/56763315

[iOS] "Unexpectedly Resumed" process assertion may cause us to get terminated
https://bugs.webkit.org/show_bug.cgi?id=203046
<rdar://problem/56179592>

Reviewed by Geoffrey Garen.

This patch implements the following to avoid getting terminated:

  1. Schedule the task to release the assertion on a background thread instead of the main thread so that we end up releasing the task even if the main thread is somehow hung.
  2. Add an invalidation handler to the process assertion which releases the assertion upon expiration.
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::processWasUnexpectedlyUnsuspended):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::processDidResume):
  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::processTaskStateDidChange):

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

2:29 PM Changeset in webkit [251878] by Alan Coon
  • 7 edits in branches/safari-608.3.10.0-branch/Source

Versioning.

2:08 PM Changeset in webkit [251877] by commit-queue@webkit.org
  • 12 edits in trunk

SVGGeometryElement.getPointAtLength should clamp its argument to [0, length]
https://bugs.webkit.org/show_bug.cgi?id=203687

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-31
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-01-expected.txt:

Source/WebCore:

The spec link is:

https://svgwg.org/svg2-draft/types.html#__svg__SVGGeometryElement__getPointAtLength

-- Fix the SVGGeometryElement.idl to match the specs.
-- Fix the path utility functions to return zeros in case of an error.

The callers never used the return values.

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::getPointAtLength const):

  • rendering/svg/RenderSVGShape.h:
  • svg/SVGGeometryElement.cpp:

(WebCore::SVGGeometryElement::getPointAtLength const):

  • svg/SVGGeometryElement.h:
  • svg/SVGGeometryElement.idl:
  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::getTotalLength const):
(WebCore::SVGPathElement::getPointAtLength const):
(WebCore::SVGPathElement::getPathSegAtLength const):

  • svg/SVGPathElement.h:
  • svg/SVGPathUtilities.cpp:

(WebCore::getSVGPathSegAtLengthFromSVGPathByteStream):
(WebCore::getTotalLengthOfSVGPathByteStream):
(WebCore::getPointAtLengthOfSVGPathByteStream):

  • svg/SVGPathUtilities.h:
2:06 PM Changeset in webkit [251876] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

1:50 PM Changeset in webkit [251875] by sbarati@apple.com
  • 13 edits
    2 adds in trunk

Don't use memmove/memcpy/memset for memory that can be scanned concurrently
https://bugs.webkit.org/show_bug.cgi?id=203228
<rdar://problem/56401852>

Reviewed by Robin Morisset.

JSTests:

  • stress/torn-js-value-concurrent-collector.js: Added.

(foo):

Source/JavaScriptCore:

We had code inside various places of the runtime which would call into system
memcpy/memmove/memset when updating a live butterfly. This means that the
concurrent collector could be scanning such butterflies while a memcpy/memmove/memset
was running. Those functions don't guarantee anything about the minimum
alignment of the stores they do. And implementations for them frequently have
byte copy loops for low byte copy counts. This lead to us seeing torn JSValues
inside the concurrent collector during Array.prototype.splice. This patch
introduces new functions for doing memcpy/memmove/memset for data structures
which may be concurrently scanned. The loops are written using inline assembly
for gcc compatible compilers on 64 bit platforms. The inline assembly
ensures we never write to memory using instructions that store fewer
than 8 bytes. On other platforms, we just use a volatile pointer to
ensure the compiler doesn't turn the loop into a function call or a
series of stores which may be smaller than 8 bytes.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/GCMemoryOperations.h: Added.

(JSC::gcSafeMemcpy):
(JSC::gcSafeMemmove):
(JSC::gcSafeZeroMemory):

  • 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:41 PM Changeset in webkit [251874] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

Move ImageBuffer-related functionality from HTMLCanvasElement to CanvasBase
https://bugs.webkit.org/show_bug.cgi?id=182503

Patch by Zan Dobersek <zdobersek@igalia.com> and Chris Lord <Chris Lord> on 2019-10-31
Reviewed by Ryosuke Niwa.

Move the ImageBuffer member variable, other related member variables and
majority of methods that operate on these from the HTMLCanvasElement
class up to the CanvasBase class. This will make it possible for the
OffscreenCanvas implementation to leverage the same code when using 2D
contexts for painting.

Most of the moved methods are public, while the setImageBuffer() method
is made protected so that it's still accessible from the inheriting
class.

Along with setImageBuffer(), the active pixel memory counter is moved
into the CanvasBase class. It's still using static storage, but is now
a member of the class with protected access. The storage has been made
atomic so as to allow its consistency to be maintained when accessed
from multiple threads (which may happen in the future).

The m_size member variable is also moved up into the CanvasBase class.
Constructor is changed so that the passed-in IntSize argument is used
to initialize it. Canvas implementations are still the owners of their
respective canvas contexts and are responsible for the destruction of
both the context and the ImageBuffer, in that order.

HTMLCanvasElement destructor still has to invoke
CanvasBase::notifyObserversCanvasDestroyed() since some CanvasObserver
derivatives perform virtual method calls on the CanvasBase object for
typecasting purposes in their canvasDestroyed() implementation.
Calling virtual methods on an object that's being destroyed is normally
discouraged and should be fixed separately, but it works as long as
invocations are done before the HTMLCanvasElement object is destroyed
completely (as has been the case so far).

CanvasRenderingContext2DBase is already changed in unwindStateStack()
to call CanvasBase::existingDrawingContext() and not downcast the
CanvasBase object to HTMLCanvasElement. This is done now due to
unwindStateStack() being called from the destructor, which is now
invoked from the CanvasBase destructor and not the HTMLCanvasElement
destructor, avoiding virtual method calls on the CanvasBase object as
it's being destroyed.

This patch doesn't address various methods using const qualifier and
then working around that by requiring member variables to be mutable.
This should be amended as much as possible in a separate patch.

No new tests -- no change in functionality, only refactoring.

  • html/CanvasBase.cpp:

(WebCore::CanvasBase::CanvasBase):
(WebCore::CanvasBase::~CanvasBase):
(WebCore::CanvasBase::drawingContext const):
(WebCore::CanvasBase::existingDrawingContext const):
(WebCore::CanvasBase::buffer const):
(WebCore::CanvasBase::baseTransform const):
(WebCore::CanvasBase::makeRenderingResultsAvailable):
(WebCore::CanvasBase::memoryCost const):
(WebCore::CanvasBase::externalMemoryCost const):
(WebCore::CanvasBase::callTracingActive const):
(WebCore::CanvasBase::setImageBuffer const):
(WebCore::CanvasBase::activePixelMemory):
(WebCore::CanvasBase::resetGraphicsContextState const):

  • html/CanvasBase.h:

(WebCore::CanvasBase::width const):
(WebCore::CanvasBase::height const):
(WebCore::CanvasBase::size const):
(WebCore::CanvasBase::setSize):
(WebCore::CanvasBase::hasCreatedImageBuffer const):
(WebCore::CanvasBase::createImageBuffer const):

  • html/CustomPaintCanvas.cpp:

(WebCore::CustomPaintCanvas::CustomPaintCanvas):
(WebCore::CustomPaintCanvas::~CustomPaintCanvas):

  • html/CustomPaintCanvas.h:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::HTMLCanvasElement):
(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::setSize):
(WebCore::HTMLCanvasElement::createContext2d):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::setSurfaceSize):
(WebCore::HTMLCanvasElement::toDataURL):
(WebCore::HTMLCanvasElement::toBlob):
(WebCore::HTMLCanvasElement::createImageBuffer const):
(WebCore::HTMLCanvasElement::setImageBufferAndMarkDirty):

  • html/HTMLCanvasElement.h:
  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::OffscreenCanvas):
(WebCore::OffscreenCanvas::~OffscreenCanvas):
(WebCore::OffscreenCanvas::setWidth):
(WebCore::OffscreenCanvas::setHeight):
(WebCore::OffscreenCanvas::transferToImageBitmap):
(WebCore::OffscreenCanvas::createImageBuffer const):

  • html/OffscreenCanvas.h:
1:36 PM Changeset in webkit [251873] by Alan Coon
  • 1 edit in branches/safari-608-branch/Source/WebKit/UIProcess/API/C/WKContext.h

Unreviewed build fix. rdar://problem/56280706

1:22 PM Changeset in webkit [251872] by Devin Rousso
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: Debugger: make sure the blackbox config is removed before iterating all existing scripts
https://bugs.webkit.org/show_bug.cgi?id=203666

Reviewed by Matt Baker.

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

(Inspector::InspectorDebuggerAgent::setShouldBlackboxURL):

1:20 PM Changeset in webkit [251871] by Devin Rousso
  • 11 edits in trunk

Web Inspector: DOMDebugger: Node Removed breakpoints should fire whenever the node is removed from the main DOM tree, not just when it's removed from it's parent
https://bugs.webkit.org/show_bug.cgi?id=203349

Reviewed by Matt Baker.

Source/WebCore:

Test: inspector/dom-debugger/dom-breakpoints.html

Replace targetNode (which was a Runtime.RemoteObject) with a targetNodeId (which is a
DOM.NodeId) when dispatching DOMDebugger pauses. Additionally, include the ancestor's
DOM.NodeId as the targetNodeId whenever an ancestor is removed that has a descendant
with a node removed DOM breakpoint.

  • inspector/agents/page/PageDOMDebuggerAgent.h:
  • inspector/agents/page/PageDOMDebuggerAgent.cpp:

(WebCore::PageDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::PageDOMDebuggerAgent::descriptionForDOMEvent):

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

(WebCore::InspectorDOMAgent::pushNodeToFrontend): Added.

Source/WebInspectorUI:

Replace targetNode (which was a Runtime.RemoteObject) with a targetNodeId (which is a
DOM.NodeId) when dispatching DOMDebugger pauses. Additionally, include the ancestor's
DOM.NodeId as the targetNodeId whenever an ancestor is removed that has a descendant
with a node removed DOM breakpoint.

  • UserInterface/Views/SourcesNavigationSidebarPanel.js:

(WI.SourcesNavigationSidebarPanel.prototype._updatePauseReasonSection):

  • Localizations/en.lproj/localizedStrings.js:

LayoutTests:

  • inspector/dom-debugger/dom-breakpoints.html:
  • inspector/dom-debugger/dom-breakpoints-expected.txt:
12:59 PM Changeset in webkit [251870] by Andres Gonzalez
  • 8 edits in trunk/Source/WebCore

Rename AccessibilityObject::matchedParent as Accessibility::findAncestor and re-implement in a generic way so that can be used with both AccessibilityObjects and AXIsolatedTreeNodes.
https://bugs.webkit.org/show_bug.cgi?id=203654

Reviewed by Chris Fleizach.

No new tests necessary since this does not change functionality.

  • Deleted AccessibilityObject::matchedParent and replaced with Accessibility::findAncestor.
  • Accessibility::findAncestor is a template function that can be used with both AccessibilityObjects and AXIsolatedTreeNodes.
  • Created the namespace Accessibility for implementation details that need not to be exposed to client code.
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::helpText const):
(WebCore::AccessibilityNodeObject::textUnderElement const):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::parentObjectUnignored const):
(WebCore::AccessibilityObject::isDescendantOfRole const):
(WebCore::AccessibilityObject::ancestorAccessibilityScrollView const):
(WebCore::AccessibilityObject::headingElementForNode):
(WebCore::AccessibilityObject::isDescendantOfObject const):
(WebCore::AccessibilityObject::liveRegionAncestor const):
(WebCore::AccessibilityObject::isExpanded const):
(WebCore::AccessibilityObject::isAXHidden const):
(WebCore::AccessibilityObject::focusableAncestor):
(WebCore::AccessibilityObject::editableAncestor):
(WebCore::AccessibilityObject::radioGroupAncestor const):
(WebCore::AccessibilityObject::matchedParent): Deleted.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:

(WebCore::Accessibility::findAncestor):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::hasPopup const):

  • accessibility/AccessibilitySVGElement.cpp:

(WebCore::AccessibilitySVGElement::computeAccessibilityIsIgnored const):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityTreeAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityListAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityArticleAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityLandmarkAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityIsInTableCell]):
(-[WebAccessibilityObjectWrapper _accessibilityFieldsetAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityFrameAncestor]):
(-[WebAccessibilityObjectWrapper tableCellParent]):
(-[WebAccessibilityObjectWrapper tableParent]):
(-[WebAccessibilityObjectWrapper accessibilityDatetimeValue]):
(-[WebAccessibilityObjectWrapper detailParentForSummaryObject:]):
(-[WebAccessibilityObjectWrapper detailParentForObject:]):
(-[WebAccessibilityObjectWrapper treeItemParentForObject:]):
(AXAttributeStringSetStyle):

12:56 PM Changeset in webkit [251869] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-build] Display pre-existing API test names in the build summary
https://bugs.webkit.org/show_bug.cgi?id=199525

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(AnalyzeAPITestsResults.analyzeResults): Include the names of pre-existing test failures in summary string and
limit the number of failures to display to NUM_API_FAILURES_TO_DISPLAY.

12:29 PM Changeset in webkit [251868] by Truitt Savell
  • 3 edits
    2 moves
    1 delete in trunk/Source/WebKit

Unreviewed, rolling out r251854.

Broke iOS build

Reverted changeset:

"Rejigger WKWebArchive headers."
https://bugs.webkit.org/show_bug.cgi?id=203648
https://trac.webkit.org/changeset/251854

12:26 PM Changeset in webkit [251867] by rniwa@webkit.org
  • 8 edits
    2 adds in trunk

Integrate resize event with HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=202964

Reviewed by Geoffrey Garen and Simon Fraser.

Source/WebCore:

Dispatch resize events in "run the resize steps" during the "update the rendering":
https://html.spec.whatwg.org/multipage/webappapis.html#update-the-rendering

Existing code in WebCore which was dispatching or scheduling dispatching of resize events now simply sets
a flag on document and schedules a rendering update. In Page::updateRendering, we fire resize events on
any documents with this flag set.

Test: fast/events/resize-subframe-in-rendering-update.html

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::beginLoadTimerFired): Fixed the flakiness in SVG animation tests observed
after this patch was landed previously. The issue was that this code was calling FrameLoader's
checkLoadComplete before checkCompleted. checkCompleted starts SVG animations in Document::implicitClose
whereas checkLoadComplete can cause DumpRenderTree to end the test. As a result, depending on when this
function was called relative to other work being done in the main thread, DumpRenderTree could prematurely
end and dump the test result even though SVG animation would have immediately started in either scenario.
Unfortunately I couldn't come up with a new deterministic test for this issue since the exact condition
under which this problem comes up seems quite racy (which makes sense given this only manifested as flaky
failures in existing tests).

  • dom/Document.cpp:

(WebCore::Document::setNeedsDOMWindowResizeEvent): Added.
(WebCore::Document::setNeedsVisualViewportResize): Added.
(WebCore::Document::runResizeSteps): Added. https://drafts.csswg.org/cssom-view/#run-the-resize-steps

  • dom/Document.h:
  • page/FrameView.cpp:

(WebCore::FrameView::sendResizeEventIfNeeded): Now sets m_needsDOMWindowResizeEvent on Document instead of
enqueuing a resize event.

  • page/Page.cpp:

(WebCore::Page::updateRendering): Call runResizeSteps on each document.
(WebCore::Page::collectDocuments): Added.

  • page/Page.h:
  • page/VisualViewport.cpp:

(WebCore::VisualViewport::enqueueResizeEvent):

LayoutTests:

Added a regression test and fixed an existing test to work with the new behavior.

  • fast/events/resize-subframe-in-rendering-update-expected.txt: Added.
  • fast/events/resize-subframe-in-rendering-update.html: Added.
  • fast/shadow-dom/trusted-event-scoped-flags.html:
12:23 PM Changeset in webkit [251866] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix; move PictureInPictureSupport.h include outside HAVE(AVKIT) check.

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:
12:19 PM Changeset in webkit [251865] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Update results for fast/css/hsl-color.html on win
https://bugs.webkit.org/show_bug.cgi?id=203592

Unreviewed test gardening

  • platform/win/fast/css/hsl-color-expected.txt:
11:55 AM Changeset in webkit [251864] by Antti Koivisto
  • 15 edits
    2 adds in trunk/Source/WebCore

Introduce Style::Builder
https://bugs.webkit.org/show_bug.cgi?id=203682

Reviewed by Zalan Bujtas.

Encapsulate the style building step into a new Builder class. It owns the cascade and the style building state.

Move tha applying code from StyleResolver and PropertyCascade there.
Move a bunch of font related state from StyleResolver::State to BuilderState.

  • DerivedSources-output.xcfilelist:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSVariableReferenceValue.cpp:

(WebCore::resolveVariableReference):

  • css/DOMCSSRegisterCustomProperty.cpp:

(WebCore::DOMCSSRegisterCustomProperty::registerProperty):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::StyleResolver::initializeFontStyle):
(WebCore::StyleResolver::adjustStyleForInterCharacterRuby): Deleted.
(WebCore::checkForOrientationChange): Deleted.
(WebCore::StyleResolver::updateFont): Deleted.
(WebCore::StyleResolver::useSVGZoomRules const): Deleted.
(WebCore::StyleResolver::useSVGZoomRulesForLength const): Deleted.
(WebCore::StyleResolver::checkForTextSizeAdjust): Deleted.
(WebCore::StyleResolver::checkForZoomChange): Deleted.
(WebCore::StyleResolver::checkForGenericFamilyChange): Deleted.
(WebCore::StyleResolver::setFontSize): Deleted.

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::setFontSizeHasViewportUnits): Deleted.
(WebCore::StyleResolver::State::fontSizeHasViewportUnits const): Deleted.
(WebCore::StyleResolver::State::useSVGZoomRules const): Deleted.

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • css/parser/CSSPropertyParser.cpp:
  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::PropertyCascade):
(WebCore::Style::PropertyCascade::set):
(WebCore::Style::PropertyCascade::propertyCascadeForRollback const):
(WebCore::Style::PropertyCascade::resolveDirectionAndWritingMode const):
(WebCore::Style::PropertyCascade::applyDeferredProperties): Deleted.
(WebCore::Style::PropertyCascade::applyProperties): Deleted.
(WebCore::Style::PropertyCascade::applyPropertiesImpl): Deleted.
(WebCore::Style::PropertyCascade::applyCustomProperties): Deleted.
(WebCore::Style::PropertyCascade::applyCustomProperty): Deleted.
(WebCore::Style::PropertyCascade::propertyCascadeForRollback): Deleted.
(WebCore::Style::PropertyCascade::applyProperty): Deleted.
(WebCore::Style::PropertyCascade::resolveValue): Deleted.
(WebCore::Style::PropertyCascade::resolvedVariableValue): Deleted.
(WebCore::Style::PropertyCascade::resolveDirectionAndWritingMode): Deleted.

  • style/PropertyCascade.h:

(WebCore::Style::PropertyCascade::deferredProperties const):
(WebCore::Style::PropertyCascade::customProperties const):
(WebCore::Style::PropertyCascade::direction const):
(WebCore::Style::PropertyCascade::builderState): Deleted.

  • style/StyleBuilder.cpp: Added.

(WebCore::Style::directionFromStyle):
(WebCore::Style::Builder::Builder):
(WebCore::Style::Builder::applyAllProperties):
(WebCore::Style::Builder::applyHighPriorityProperties):
(WebCore::Style::Builder::applyLowPriorityProperties):
(WebCore::Style::Builder::applyPropertyValue):
(WebCore::Style::Builder::applyDeferredProperties):
(WebCore::Style::Builder::applyProperties):
(WebCore::Style::Builder::applyPropertiesImpl):
(WebCore::Style::Builder::applyCustomProperties):
(WebCore::Style::Builder::applyCustomProperty):
(WebCore::Style::Builder::applyCascadeProperty):
(WebCore::Style::Builder::applyProperty):
(WebCore::Style::Builder::resolveValue):
(WebCore::Style::Builder::resolvedVariableValue):

  • style/StyleBuilder.h: Added.

(WebCore::Style::Builder::applyProperty):
(WebCore::Style::Builder::state):

  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyValueFontSize):

  • style/StyleBuilderState.cpp:

(WebCore::Style::BuilderState::BuilderState):
(WebCore::Style::BuilderState::useSVGZoomRules const):
(WebCore::Style::BuilderState::useSVGZoomRulesForLength const):
(WebCore::Style::BuilderState::adjustStyleForInterCharacterRuby):
(WebCore::Style::BuilderState::updateFont):
(WebCore::Style::BuilderState::updateFontForTextSizeAdjust):
(WebCore::Style::BuilderState::updateFontForZoomChange):
(WebCore::Style::BuilderState::updateFontForGenericFamilyChange):
(WebCore::Style::BuilderState::updateFontForOrientationChange):
(WebCore::Style::BuilderState::setFontSize):

  • style/StyleBuilderState.h:

(WebCore::Style::BuilderState::builder):
(WebCore::Style::BuilderState::setFontDirty):
(WebCore::Style::BuilderState::cascade): Deleted.
(WebCore::Style::BuilderState::clearFontDirty): Deleted.

11:02 AM Changeset in webkit [251863] by Alan Coon
  • 2 edits in tags/Safari-609.1.9/Source/WebKit

Cherry-pick r251823. rdar://problem/56762071

REGRESSION(r251568) If we didn't start a Service Worker, don't try talking to it
https://bugs.webkit.org/show_bug.cgi?id=203639
<rdar://problem/56762071>

Reviewed by Chris Dumez.

Similar to the fix that introduced this regression, if the UI process does
not have the entitlement to start a service worker, we should not try
to load with one.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): If the parent process doesn't have a service worker, use the regular load path.

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

10:54 AM Changeset in webkit [251862] by achristensen@apple.com
  • 8 edits in trunk/Source

Remove unneeded HAVE_TIMINGDATAOPTIONS
https://bugs.webkit.org/show_bug.cgi?id=202990

Reviewed by Brady Eidson.

Source/WebCore:

This macro allowed us to adopt CFNetwork SPI, but now that the SPI is available everywhere we support, we don't need it.

  • platform/network/NetworkLoadMetrics.h:
  • platform/network/cocoa/NetworkLoadMetrics.mm:

(WebCore::copyTimingData):
(WebCore::setCollectsTimingData): Deleted.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::createNSURLConnection):

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

Source/WTF:

  • wtf/Platform.h:
10:52 AM Changeset in webkit [251861] by achristensen@apple.com
  • 13 edits in trunk/Source

Use SecurityOriginData in NetworkProcess where possible without other changes
https://bugs.webkit.org/show_bug.cgi?id=203615

Reviewed by Brady Eidson.

Source/WebCore:

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::isolatedCopy const):

  • page/SecurityOrigin.h:
  • page/SecurityOriginData.h:

(WebCore::SecurityOriginData::encode const):

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowFrameAncestors const):

  • page/csp/ContentSecurityPolicy.h:
  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::urlFromOrigin):
(WebCore::checkFrameAncestors):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForFrameAncestorOrigins const):

  • page/csp/ContentSecurityPolicyDirectiveList.h:

Source/WebKit:

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):

  • NetworkProcess/NetworkResourceLoadParameters.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::shouldInterruptLoadForXFrameOptions):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):

10:52 AM Changeset in webkit [251860] by Alan Coon
  • 3 edits in tags/Safari-609.1.9/Source/WebKit

Cherry-pick r251732. rdar://problem/56696055

REGRESSION (r251413): Nightly build crashes on launch due to -[WKPreferences _setShouldAllowDesignSystemUIFonts:]: unrecognized selector
https://bugs.webkit.org/show_bug.cgi?id=203549

Reviewed by Simon Fraser.

r251413 deleted an SPI that new Safari stopped calling. However,
old Safari continues to call it. The solution is just to add stub
implementations so old Safari doesn't fail to link at runtime.

  • UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _shouldAllowDesignSystemUIFonts]): (-[WKPreferences _setShouldAllowDesignSystemUIFonts:]):
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

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

10:49 AM Changeset in webkit [251859] by achristensen@apple.com
  • 5 edits in trunk

Expose more WKPreferences SPI
https://bugs.webkit.org/show_bug.cgi?id=203631
<rdar://problem/56717160>

Reviewed by Brady Eidson.

Source/WebKit:

I added a unit test for the one that can be easily tested.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setWebAudioEnabled:]):
(-[WKPreferences _webAudioEnabled]):
(-[WKPreferences _setAcceleratedCompositingEnabled:]):
(-[WKPreferences _acceleratedCompositingEnabled]):
(-[WKPreferences _setRequestAnimationFrameEnabled:]):
(-[WKPreferences _requestAnimationFrameEnabled]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:

(TEST):

10:39 AM Changeset in webkit [251858] by Wenson Hsieh
  • 2 edits in trunk/Tools

[iOS] imported/mozilla/svg/text/textpath-selection.svg is still flaky
https://bugs.webkit.org/show_bug.cgi?id=203659
<rdar://problem/52124292>

Reviewed by Tim Horton.

This test still fails in some internal test runner configurations, because the iOS text selection grabber dots
sometimes show up in the actual result and not in the expectation. This still happens even after suppressing
UITextSelectionView during ref test snapshotting in r251526, since the selection grabber dots are embedded as
subviews of the text interaction container view, rather than UITextSelectionView itself, so hiding
UITextSelectionView does not affect the visibility of these grabber views (UITextRangeView's -startGrabber and
-endGrabber).

To address this, we augment the change made in r251526 to apply to the start and end grabber views as well.

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(WTR::PlatformWebView::windowSnapshotImage):

10:37 AM Changeset in webkit [251857] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Add expansion context to Line::Run
https://bugs.webkit.org/show_bug.cgi?id=203683
<rdar://problem/56785012>

Reviewed by Antti Koivisto.

This is in preparation for adding text-align: justify support.
The temporary Line::Run holds the number of expansion opportunities, while Display::Run holds both the expansion behavior and
the final expansion width.
The number of opportunities is used to compute the final expansion width for each run.

  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::paintInlineContent):

  • layout/displaytree/DisplayRun.h:

(WebCore::Display::Run::TextContext::TextContext):
(WebCore::Display::Run::TextContext::setExpansion):
(WebCore::Display::Run::TextContext::expansion const):
(WebCore::Display::Run::TextContext::expansionBehavior const): Deleted.

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::hasExpansionOpportunity const):
(WebCore::Layout::Line::Run::expansionOpportunityCount const):
(WebCore::Layout::Line::Run::expansionBehavior const):
(WebCore::Layout::Line::Run::setHasExpansionOpportunity):
(WebCore::Layout::Line::Run::setComputedHorizontalExpansion):

10:35 AM Changeset in webkit [251856] by yurys@chromium.org
  • 3 edits in trunk/LayoutTests

[GTK] Web Inspector: inspector/timeline/timeline-event-*.html are failing
https://bugs.webkit.org/show_bug.cgi?id=203625

Reviewed by Devin Rousso.

Unflake inspector/timeline/timeline-event-*.html tests on GTK.

  • inspector/timeline/resources/timeline-event-utilities.js: There is a race between CapturingState.Inactive

and SavePageData events, so the test has to wait for both.
Drive-by: wrap promis.reject in a lambda, otherwise reject would be called on an undefined 'this' object.
arrive before resolving the promise.
(TestPage.registerInitializer):

  • platform/gtk/TestExpectations:
10:33 AM Changeset in webkit [251855] by achristensen@apple.com
  • 10 edits in trunk

CMake build should make WebKit framework able to be used by Safari
https://bugs.webkit.org/show_bug.cgi?id=203685

Rubber-stamped by Tim Horton.

.:

  • Source/cmake/OptionsMac.cmake:

Source/JavaScriptCore:

  • PlatformMac.cmake:

Source/WebKit:

  • PlatformMac.cmake:

Source/WebKitLegacy:

  • PlatformMac.cmake:

Tools:

  • DumpRenderTree/PlatformMac.cmake:
10:22 AM Changeset in webkit [251854] by beidson@apple.com
  • 3 edits
    1 copy
    2 moves in trunk/Source/WebKit

Rejigger WKWebArchive headers.
https://bugs.webkit.org/show_bug.cgi?id=203648

Reviewed by Andy Estes.

  • Shared/API/c/mac/WKWebArchiveRef.cpp: Renamed from Source/WebKit/Shared/API/c/mac/WKWebArchive.cpp.

(WKWebArchiveGetTypeID):
(WKWebArchiveCreate):
(WKWebArchiveCreateWithData):
(WKWebArchiveCreateFromRange):
(WKWebArchiveCopyMainResource):
(WKWebArchiveCopySubresources):
(WKWebArchiveCopySubframeArchives):
(WKWebArchiveCopyData):

  • Shared/API/c/mac/WKWebArchiveRef.h: Copied from Source/WebKit/Shared/API/c/mac/WKWebArchive.h.
  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebArchive.h: Renamed from Source/WebKit/Shared/API/c/mac/WKWebArchive.h.
  • WebKit.xcodeproj/project.pbxproj:
10:18 AM Changeset in webkit [251853] by yurys@chromium.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: CONSOLE ERROR Shown panel style-rules must be visible
https://bugs.webkit.org/show_bug.cgi?id=203377

Reviewed by Devin Rousso.

Fix assertion failure when opening elements panel with hidden details sidebar.

  • UserInterface/Views/ContentBrowserTabContentView.js:

(WI.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels):

  • UserInterface/Views/Sidebar.js:

(WI.Sidebar.prototype.set selectedSidebarPanel): Only call shown() if the Sidebar
is not collapsed. It will anyway be called when the Sidebar is expanded.

9:14 AM Changeset in webkit [251852] by ysuzuki@apple.com
  • 11 edits in trunk/Source

[JSC] DateMath should have TimeClipped version
https://bugs.webkit.org/show_bug.cgi?id=203550

Reviewed by Saam Barati.

Source/JavaScriptCore:

Removing using namespace WTF; in Date related files in JSC.

  • runtime/DateConstructor.cpp:
  • runtime/DateConversion.cpp:

(JSC::formatDateTime):

  • runtime/DateInstance.cpp:
  • runtime/DatePrototype.cpp:
  • runtime/JSDateMath.cpp:

(JSC::localTimeOffset):
(JSC::timeToMS):
(JSC::gregorianDateTimeToMS):
(JSC::msToGregorianDateTime):
(JSC::parseDate):
(JSC::msToSeconds): Deleted.
(JSC::msToWeekDay): Deleted.

Source/WTF:

We found that our Date constructor is slow because GregorianDateTime calculation takes so long.
We are doing many fmod, floating division, floor etc. These operations, in particular fmod, takes
very long time. As a result, 30% of JetStream2/date-format-xparb is taken by fmod function.

But since we are performance timeClip operation, double value in DateInstance is always Int52. We should
have integer version of GregorianDateTime calculation which avoids many unnecessary fmod etc.

While integer division is truncate-to-zero, many Date calculation requires floor(value / xxx). For now,
we use integer fast path only when the value is Int52 and positive.

We see 10~ % improvement in JetStream2/date-format-xparb-SP (from 201 to 239).

  • wtf/DateMath.cpp:

(WTF::isLeapYear): Deleted.
(WTF::daysInYear): Deleted.
(WTF::daysFrom1970ToYear): Deleted.
(WTF::msToDays): Deleted.
(WTF::msToYear): Deleted.
(WTF::dayInYear): Deleted.
(WTF::msToMinutes): Deleted.
(WTF::msToHours): Deleted.
(WTF::monthFromDayInYear): Deleted.
(WTF::checkMonth): Deleted.
(WTF::dayInMonthFromDayInYear): Deleted.
(WTF::dateToDaysFrom1970): Deleted.
(WTF::timeClip): Deleted.

  • wtf/DateMath.h:

(WTF::TimeClippedPositiveMilliseconds::TimeClippedPositiveMilliseconds):
(WTF::TimeClippedPositiveMilliseconds::value const):
(WTF::TimeClippedPositiveMilliseconds::asDouble const):
(WTF::timeClip):
(WTF::daysFrom1970ToYear):
(WTF::daysFrom1970ToYearTimeClippedPositive):
(WTF::isLeapYear):
(WTF::daysInYear):
(WTF::msToDays):
(WTF::dayInYear):
(WTF::dateToDaysFrom1970):
(WTF::msToYear):
(WTF::msToMinutes):
(WTF::msToHours):
(WTF::msToSeconds):
(WTF::msToWeekDay):
(WTF::monthFromDayInYear):
(WTF::dayInMonthFromDayInYear):

  • wtf/GregorianDateTime.cpp:

(WTF::GregorianDateTime::GregorianDateTime):

  • wtf/GregorianDateTime.h:
9:01 AM Changeset in webkit [251851] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Line::Run should not hold a reference to InlineItem
https://bugs.webkit.org/show_bug.cgi?id=203660
<rdar://problem/56770286>

Reviewed by Antti Koivisto.

When Line::Runs are merged ([content][ ] -> [content ]) they end up with multiple InlineItems. Let's cache some values from
the InlineItems instead.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::Run::Run):
(WebCore::Layout::Line::close):

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::layoutBox const):
(WebCore::Layout::Line::Run::isText const):
(WebCore::Layout::Line::Run::isBox const):
(WebCore::Layout::Line::Run::isForcedLineBreak const):
(WebCore::Layout::Line::Run::isContainerStart const):
(WebCore::Layout::Line::Run::isContainerEnd const):
(WebCore::Layout::Line::Run::isCollapsible const):
(WebCore::Layout::Line::Run::isWhitespace const):
(WebCore::Layout::Line::Run::expand):

8:50 AM WebKitGTK/2.26.x edited by clopez@igalia.com
(diff)
8:48 AM WebKitGTK/2.26.x edited by clopez@igalia.com
(diff)
8:44 AM Changeset in webkit [251850] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Unreviewed, update DerivedSources-output.xcfilelist after r251841

  • DerivedSources-output.xcfilelist: Replace StyleBuilder.cpp with StyleBuilderGenerated.cpp.
8:42 AM Changeset in webkit [251849] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[EWS] Limit API tests failures to display in the status-bubble tooltip and buildbot summary
https://bugs.webkit.org/show_bug.cgi?id=203678

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(AnalyzeAPITestsResults): Define NUM_API_FAILURES_TO_DISPLAY as 10.
(AnalyzeAPITestsResults.analyzeResults): Truncate the failure string to contain 10 test failures.

8:40 AM Changeset in webkit [251848] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Do not merge completely collapsed run with the previous run
https://bugs.webkit.org/show_bug.cgi?id=203658
<rdar://problem/56769334>

Reviewed by Antti Koivisto.

When a whitespace run is completely collapsed (and visually empty), we should not try to merge it with previous text runs.
E.g. [before \nafter] -> [before][ ][\n][after] -> [before ][][after] -> [before ][after]

content inline items line runs display runs

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::close):

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::hasTrailingCollapsedContent const):
(WebCore::Layout::Line::Run::canBeExtended const): Deleted.

8:24 AM November 2019 Meeting edited by Jon Davis
(diff)
8:23 AM Changeset in webkit [251847] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Add telemetry to test a potential cause of crashes under -[WKContentView _interpretKeyEvent:isCharEvent:]
https://bugs.webkit.org/show_bug.cgi?id=203630
<rdar://problem/56769229>

Reviewed by Simon Fraser.

This iOS-specific crash occurs under -_interpretKeyEvent:isCharEvent:, when we first try to access WebEvent's
properties with event.keyboardFlags. This suggests that between storing the WebEvent in WebPageProxy's
m_keyEventQueue, and later receiving an InterpretKeyEvent sync IPC message in the UI process, something ends up
overreleasing (or otherwise writing over or corrupting) the WebEvent.

However, from code inspection, nothing appears to overrelease the WebEvent; an alternate possibility is that the
API is somehow being invoked from a background thread, which would explain why the WebEvent may sometimes get
destroyed too early.

To try and detect this scenario (and avoid keeping any strong references to WebEvent at all), add an
os_log_fault in case the API is being called on a background thread, and bail immediately.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView handleKeyWebEvent:withCompletionHandler:]):

8:16 AM Changeset in webkit [251846] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Set setIsCollapsed on the line item when its content is actually collapsed
https://bugs.webkit.org/show_bug.cgi?id=203655
<rdar://problem/56767543>

Reviewed by Antti Koivisto.

Do not set the isCollapsed flag on the line run unless we actually collapsed it (changed its length from greated than 1 to 1).

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::appendTextContent):

8:07 AM Changeset in webkit [251845] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Line::appendTextContent::willCollapseCompletely should check for isCollapsible()
https://bugs.webkit.org/show_bug.cgi?id=203653
<rdar://problem/56766949>

Reviewed by Antti Koivisto.

When deciding whether the current collapsible whitespace run collapses completely, we need to check whether the previous
run is collapsible and not whether it is collapsed (it addresses the cases when the previous whitespace length is 1, so it is collapsible but not
collapsed -> " " followed by '\n' <- no preserved segment break.)

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::appendTextContent):

7:52 AM Changeset in webkit [251844] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Add justify expansion information to Display::Runs
https://bugs.webkit.org/show_bug.cgi?id=203535
<rdar://problem/56689268>

Reviewed by Antti Koivisto.

This is in preparation for supporting text-align: justify.

  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::paintInlineContent):

  • layout/displaytree/DisplayRun.h:

(WebCore::Display::Run::TextContext::TextContext):
(WebCore::Display::Run::TextContext::expansionBehavior const):
(WebCore::Display::Run::TextContext::expansion const):

7:51 AM Changeset in webkit [251843] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][IFC] Preserved segment breaks should produce ForcedLineBreak type of InlineItems
https://bugs.webkit.org/show_bug.cgi?id=203645
<rdar://problem/56763606>

Reviewed by Antti Koivisto.

This patch turns preserved segment breaks (e.g. \n) into a ForcedLineBreak. Non-preserved segments breaks are treated as whitespace characters.
It fixes a small type mismatch of having an InlineTextItem representing a non-text content (line break).

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::collectInlineContent):

  • layout/inlineformatting/InlineItem.cpp:

(WebCore::Layout::InlineItem::InlineItem):
(WebCore::Layout::InlineItem::isForcedLineBreak const): Deleted.
(WebCore::Layout::InlineItem::isText const): Deleted.

  • layout/inlineformatting/InlineItem.h:

(WebCore::Layout::InlineItem::isText const):
(WebCore::Layout::InlineItem::isForcedLineBreak const):
(WebCore::Layout::InlineItem::InlineItem): Deleted.

  • layout/inlineformatting/InlineTextItem.cpp:

(WebCore::Layout::InlineTextItem::createAndAppendTextItems):
(WebCore::Layout::InlineTextItem::left const):
(WebCore::Layout::InlineTextItem::right const):
(WebCore::Layout::InlineTextItem::isWhitespace const): Deleted.

  • layout/inlineformatting/InlineTextItem.h:

(WebCore::Layout::InlineTextItem::isWhitespace const):

7:39 AM Changeset in webkit [251842] by magomez@igalia.com
  • 6 edits
    5 adds in trunk/LayoutTests

Unreviewed GTK and WPE gardening after r251837.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/svg/geometry/parsing/height-computed-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/geometry/parsing/width-computed-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance/extensions/oes-texture-half-float-expected.txt:
  • platform/wpe/webgl/2.0.0/conformance2/extensions/ext-color-buffer-float-expected.txt:
  • platform/wpe/webgl/2.0.0/conformance2/textures/misc/tex-new-formats-expected.txt:
7:28 AM Changeset in webkit [251841] by Antti Koivisto
  • 11 edits
    2 moves
    1 add
    1 delete in trunk/Source/WebCore

Rename StyleBuilder to Style::BuilderGenerated
https://bugs.webkit.org/show_bug.cgi?id=203673

Reviewed by Antoine Quint.

Also rename the related StykeBuilderCustom and StyleBuilderConverter classes
and move them to the Style namespace and directory.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFace.cpp:

(WebCore::calculateWeightRange):
(WebCore::calculateStretchRange):
(WebCore::calculateItalicRange):

  • css/CSSFontFaceSet.cpp:

(WebCore::computeFontSelectionRequest):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):

  • css/StyleBuilder.h: Removed.
  • css/makeprop.pl:

(getScopeForFunction):
(generateInitialValueSetter):
(generateInheritValueSetter):
(generateValueSetter):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseTypedCustomPropertyValue):

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::applyProperty):

  • style/StyleBuilderConverter.h: Renamed from Source/WebCore/css/StyleBuilderConverter.h.

(WebCore::Style::BuilderConverter::convertLength):
(WebCore::Style::BuilderConverter::convertLengthOrAuto):
(WebCore::Style::BuilderConverter::convertLengthSizing):
(WebCore::Style::BuilderConverter::convertLengthMaxSizing):
(WebCore::Style::BuilderConverter::convertTabSize):
(WebCore::Style::BuilderConverter::convertComputedLength):
(WebCore::Style::BuilderConverter::convertLineWidth):
(WebCore::Style::BuilderConverter::convertSpacing):
(WebCore::Style::BuilderConverter::convertToRadiusLength):
(WebCore::Style::BuilderConverter::convertRadius):
(WebCore::Style::BuilderConverter::convertTo100PercentMinusLength):
(WebCore::Style::BuilderConverter::convertPositionComponentX):
(WebCore::Style::BuilderConverter::convertPositionComponentY):
(WebCore::Style::BuilderConverter::convertPositionComponent):
(WebCore::Style::BuilderConverter::convertObjectPosition):
(WebCore::Style::BuilderConverter::convertTextDecoration):
(WebCore::Style::BuilderConverter::convertNumber):
(WebCore::Style::BuilderConverter::convertNumberOrAuto):
(WebCore::Style::BuilderConverter::convertWebkitHyphenateLimitLines):
(WebCore::Style::BuilderConverter::convertBorderImage):
(WebCore::Style::BuilderConverter::convertBorderMask):
(WebCore::Style::BuilderConverter::convertStyleImage):
(WebCore::Style::BuilderConverter::convertTransform):
(WebCore::Style::BuilderConverter::updateColorScheme):
(WebCore::Style::BuilderConverter::convertColorScheme):
(WebCore::Style::BuilderConverter::convertString):
(WebCore::Style::BuilderConverter::convertStringOrAuto):
(WebCore::Style::BuilderConverter::convertStringOrNone):
(WebCore::Style::BuilderConverter::valueToEmphasisPosition):
(WebCore::Style::BuilderConverter::convertTextEmphasisPosition):
(WebCore::Style::BuilderConverter::convertTextAlign):
(WebCore::Style::BuilderConverter::convertClipPath):
(WebCore::Style::BuilderConverter::convertResize):
(WebCore::Style::BuilderConverter::convertMarqueeRepetition):
(WebCore::Style::BuilderConverter::convertMarqueeSpeed):
(WebCore::Style::BuilderConverter::convertQuotes):
(WebCore::Style::BuilderConverter::convertTextUnderlinePosition):
(WebCore::Style::BuilderConverter::convertTextUnderlineOffset):
(WebCore::Style::BuilderConverter::convertTextDecorationThickness):
(WebCore::Style::BuilderConverter::convertReflection):
(WebCore::Style::BuilderConverter::convertInitialLetter):
(WebCore::Style::BuilderConverter::convertTextStrokeWidth):
(WebCore::Style::BuilderConverter::convertLineBoxContain):
(WebCore::Style::BuilderConverter::valueToDecorationSkip):
(WebCore::Style::BuilderConverter::convertTextDecorationSkip):
(WebCore::Style::BuilderConverter::convertShapeValue):
(WebCore::Style::BuilderConverter::convertScrollSnapType):
(WebCore::Style::BuilderConverter::convertScrollSnapAlign):
(WebCore::Style::BuilderConverter::createGridTrackBreadth):
(WebCore::Style::BuilderConverter::createGridTrackSize):
(WebCore::Style::BuilderConverter::createGridTrackList):
(WebCore::Style::BuilderConverter::createGridPosition):
(WebCore::Style::BuilderConverter::createImplicitNamedGridLinesFromGridArea):
(WebCore::Style::BuilderConverter::convertGridTrackSizeList):
(WebCore::Style::BuilderConverter::convertGridTrackSize):
(WebCore::Style::BuilderConverter::convertGridPosition):
(WebCore::Style::BuilderConverter::convertGridAutoFlow):
(WebCore::Style::BuilderConverter::csstoLengthConversionDataWithTextZoomFactor):
(WebCore::Style::BuilderConverter::convertWordSpacing):
(WebCore::Style::BuilderConverter::convertPerspective):
(WebCore::Style::BuilderConverter::convertMarqueeIncrement):
(WebCore::Style::BuilderConverter::convertFilterOperations):
(WebCore::Style::BuilderConverter::convertFontFeatureSettings):
(WebCore::Style::BuilderConverter::convertFontWeightFromValue):
(WebCore::Style::BuilderConverter::convertFontStretchFromValue):
(WebCore::Style::BuilderConverter::convertFontStyleFromValue):
(WebCore::Style::BuilderConverter::convertFontWeight):
(WebCore::Style::BuilderConverter::convertFontStretch):
(WebCore::Style::BuilderConverter::convertFontVariationSettings):
(WebCore::Style::BuilderConverter::convertTouchCallout):
(WebCore::Style::BuilderConverter::convertTapHighlightColor):
(WebCore::Style::BuilderConverter::convertTouchAction):
(WebCore::Style::BuilderConverter::convertOverflowScrolling):
(WebCore::Style::BuilderConverter::convertSVGLengthValue):
(WebCore::Style::BuilderConverter::convertSVGLengthVector):
(WebCore::Style::BuilderConverter::convertStrokeDashArray):
(WebCore::Style::BuilderConverter::convertPaintOrder):
(WebCore::Style::BuilderConverter::convertOpacity):
(WebCore::Style::BuilderConverter::convertSVGURIReference):
(WebCore::Style::BuilderConverter::convertSVGColor):
(WebCore::Style::BuilderConverter::convertSelfOrDefaultAlignmentData):
(WebCore::Style::BuilderConverter::convertContentAlignmentData):
(WebCore::Style::BuilderConverter::convertGlyphOrientation):
(WebCore::Style::BuilderConverter::convertGlyphOrientationOrAuto):
(WebCore::Style::BuilderConverter::convertLineHeight):
(WebCore::Style::BuilderConverter::convertFontSynthesis):
(WebCore::Style::BuilderConverter::convertSpeakAs):
(WebCore::Style::BuilderConverter::convertHangingPunctuation):
(WebCore::Style::BuilderConverter::convertGapLength):

  • style/StyleBuilderCustom.h: Renamed from Source/WebCore/css/StyleBuilderCustom.h.

(WebCore::Style::BuilderCustom::applyInitialWebkitMaskImage):
(WebCore::Style::BuilderCustom::applyInheritWebkitMaskImage):
(WebCore::Style::BuilderCustom::applyInitialFontFeatureSettings):
(WebCore::Style::BuilderCustom::applyInheritFontFeatureSettings):
(WebCore::Style::BuilderCustom::applyInitialFontVariationSettings):
(WebCore::Style::BuilderCustom::applyInheritFontVariationSettings):
(WebCore::Style::BuilderCustom::applyValueDirection):
(WebCore::Style::BuilderCustom::applyInitialTextAlign):
(WebCore::Style::BuilderCustom::applyValueTextAlign):
(WebCore::Style::BuilderCustom::resetEffectiveZoom):
(WebCore::Style::BuilderCustom::applyInitialZoom):
(WebCore::Style::BuilderCustom::applyInheritZoom):
(WebCore::Style::BuilderCustom::applyValueZoom):
(WebCore::Style::BuilderCustom::mmLength):
(WebCore::Style::BuilderCustom::inchLength):
(WebCore::Style::BuilderCustom::getPageSizeFromName):
(WebCore::Style::BuilderCustom::applyValueVerticalAlign):
(WebCore::Style::BuilderCustom::applyInheritImageResolution):
(WebCore::Style::BuilderCustom::applyInitialImageResolution):
(WebCore::Style::BuilderCustom::applyValueImageResolution):
(WebCore::Style::BuilderCustom::applyInheritSize):
(WebCore::Style::BuilderCustom::applyInitialSize):
(WebCore::Style::BuilderCustom::applyValueSize):
(WebCore::Style::BuilderCustom::applyInheritTextIndent):
(WebCore::Style::BuilderCustom::applyInitialTextIndent):
(WebCore::Style::BuilderCustom::applyValueTextIndent):
(WebCore::Style::ApplyPropertyBorderImageModifier::applyInheritValue):
(WebCore::Style::ApplyPropertyBorderImageModifier::applyInitialValue):
(WebCore::Style::ApplyPropertyBorderImageModifier::applyValue):
(WebCore::Style::BuilderCustom::applyInheritLineHeight):
(WebCore::Style::BuilderCustom::applyInitialLineHeight):
(WebCore::Style::BuilderCustom::applyValueLineHeight):
(WebCore::Style::BuilderCustom::applyInheritOutlineStyle):
(WebCore::Style::BuilderCustom::applyInitialOutlineStyle):
(WebCore::Style::BuilderCustom::applyValueOutlineStyle):
(WebCore::Style::BuilderCustom::applyInitialClip):
(WebCore::Style::BuilderCustom::applyInheritClip):
(WebCore::Style::BuilderCustom::applyValueClip):
(WebCore::Style::BuilderCustom::applyValueWebkitLocale):
(WebCore::Style::BuilderCustom::applyValueWritingMode):
(WebCore::Style::BuilderCustom::applyValueWebkitTextOrientation):
(WebCore::Style::BuilderCustom::applyValueWebkitTextSizeAdjust):
(WebCore::Style::BuilderCustom::applyValueWebkitTextZoom):
(WebCore::Style::BuilderCustom::applyValueColorScheme):
(WebCore::Style::BuilderCustom::applyTextOrBoxShadowValue):
(WebCore::Style::BuilderCustom::applyInitialTextShadow):
(WebCore::Style::BuilderCustom::applyInheritTextShadow):
(WebCore::Style::BuilderCustom::applyValueTextShadow):
(WebCore::Style::BuilderCustom::applyInitialBoxShadow):
(WebCore::Style::BuilderCustom::applyInheritBoxShadow):
(WebCore::Style::BuilderCustom::applyValueBoxShadow):
(WebCore::Style::BuilderCustom::applyInitialWebkitBoxShadow):
(WebCore::Style::BuilderCustom::applyInheritWebkitBoxShadow):
(WebCore::Style::BuilderCustom::applyValueWebkitBoxShadow):
(WebCore::Style::BuilderCustom::applyInitialFontFamily):
(WebCore::Style::BuilderCustom::applyInheritFontFamily):
(WebCore::Style::BuilderCustom::applyValueFontFamily):
(WebCore::Style::BuilderCustom::isValidDisplayValue):
(WebCore::Style::BuilderCustom::applyInheritDisplay):
(WebCore::Style::BuilderCustom::applyValueDisplay):
(WebCore::Style::BuilderCustom::applyValueBaselineShift):
(WebCore::Style::BuilderCustom::applyInitialWebkitAspectRatio):
(WebCore::Style::BuilderCustom::applyInheritWebkitAspectRatio):
(WebCore::Style::BuilderCustom::applyValueWebkitAspectRatio):
(WebCore::Style::BuilderCustom::applyInitialWebkitTextEmphasisStyle):
(WebCore::Style::BuilderCustom::applyInheritWebkitTextEmphasisStyle):
(WebCore::Style::BuilderCustom::applyValueWebkitTextEmphasisStyle):
(WebCore::Style::BuilderCustom::applyInheritCounter):
(WebCore::Style::BuilderCustom::applyValueCounter):
(WebCore::Style::BuilderCustom::applyInitialCounterIncrement):
(WebCore::Style::BuilderCustom::applyInheritCounterIncrement):
(WebCore::Style::BuilderCustom::applyValueCounterIncrement):
(WebCore::Style::BuilderCustom::applyInitialCounterReset):
(WebCore::Style::BuilderCustom::applyInheritCounterReset):
(WebCore::Style::BuilderCustom::applyValueCounterReset):
(WebCore::Style::BuilderCustom::applyInitialCursor):
(WebCore::Style::BuilderCustom::applyInheritCursor):
(WebCore::Style::BuilderCustom::applyValueCursor):
(WebCore::Style::BuilderCustom::applyInitialFill):
(WebCore::Style::BuilderCustom::applyInheritFill):
(WebCore::Style::BuilderCustom::applyValueFill):
(WebCore::Style::BuilderCustom::applyInitialStroke):
(WebCore::Style::BuilderCustom::applyInheritStroke):
(WebCore::Style::BuilderCustom::applyValueStroke):
(WebCore::Style::BuilderCustom::applyInitialContent):
(WebCore::Style::BuilderCustom::applyInheritContent):
(WebCore::Style::BuilderCustom::applyValueContent):
(WebCore::Style::BuilderCustom::applyInheritFontVariantLigatures):
(WebCore::Style::BuilderCustom::applyInitialFontVariantLigatures):
(WebCore::Style::BuilderCustom::applyValueFontVariantLigatures):
(WebCore::Style::BuilderCustom::applyInheritFontVariantNumeric):
(WebCore::Style::BuilderCustom::applyInitialFontVariantNumeric):
(WebCore::Style::BuilderCustom::applyValueFontVariantNumeric):
(WebCore::Style::BuilderCustom::applyInheritFontVariantEastAsian):
(WebCore::Style::BuilderCustom::applyInitialFontVariantEastAsian):
(WebCore::Style::BuilderCustom::applyValueFontVariantEastAsian):
(WebCore::Style::BuilderCustom::applyInitialFontSize):
(WebCore::Style::BuilderCustom::applyInheritFontSize):
(WebCore::Style::BuilderCustom::largerFontSize):
(WebCore::Style::BuilderCustom::smallerFontSize):
(WebCore::Style::BuilderCustom::determineRubyTextSizeMultiplier):
(WebCore::Style::BuilderCustom::applyInitialFontStyle):
(WebCore::Style::BuilderCustom::applyInheritFontStyle):
(WebCore::Style::BuilderCustom::applyValueFontStyle):
(WebCore::Style::BuilderCustom::applyValueFontSize):
(WebCore::Style::BuilderCustom::applyInitialGridTemplateAreas):
(WebCore::Style::BuilderCustom::applyInheritGridTemplateAreas):
(WebCore::Style::BuilderCustom::applyValueGridTemplateAreas):
(WebCore::Style::BuilderCustom::applyInitialGridTemplateColumns):
(WebCore::Style::BuilderCustom::applyInheritGridTemplateColumns):
(WebCore::Style::BuilderCustom::applyValueGridTemplateColumns):
(WebCore::Style::BuilderCustom::applyInitialGridTemplateRows):
(WebCore::Style::BuilderCustom::applyInheritGridTemplateRows):
(WebCore::Style::BuilderCustom::applyValueGridTemplateRows):
(WebCore::Style::BuilderCustom::applyValueAlt):
(WebCore::Style::BuilderCustom::applyValueWillChange):
(WebCore::Style::BuilderCustom::applyValueStrokeWidth):
(WebCore::Style::BuilderCustom::applyValueStrokeColor):
(WebCore::Style::BuilderCustom::applyInitialCustomProperty):
(WebCore::Style::BuilderCustom::applyInheritCustomProperty):
(WebCore::Style::BuilderCustom::applyValueCustomProperty):

  • style/StyleBuilderGenerated.h: Added.
5:43 AM Changeset in webkit [251840] by commit-queue@webkit.org
  • 14 edits in trunk

[Web Animations] Add support for AnimationEvent.pseudoElement
https://bugs.webkit.org/show_bug.cgi?id=203671

Patch by Antoine Quint <Antoine Quint> on 2019-10-31
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-animations/animationevent-interface-expected.txt:
  • web-platform-tests/css/css-animations/animationevent-pseudoelement-expected.txt:
  • web-platform-tests/css/css-animations/animationevent-types-expected.txt:
  • web-platform-tests/css/css-animations/idlharness-expected.txt:

Source/WebCore:

  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::enqueueDOMEvent):

  • dom/AnimationEvent.cpp:

(WebCore::AnimationEvent::AnimationEvent):
(WebCore::AnimationEvent::pseudoElement const):

  • dom/AnimationEvent.h:
  • dom/AnimationEvent.idl:
  • dom/WebKitAnimationEvent.cpp:

(WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
(WebCore::WebKitAnimationEvent::pseudoElement const):

  • dom/WebKitAnimationEvent.h:
  • dom/WebKitAnimationEvent.idl:
  • page/animation/CSSAnimationController.cpp:

(WebCore::CSSAnimationControllerPrivate::fireEventsAndUpdateStyle):

5:42 AM Changeset in webkit [251839] by commit-queue@webkit.org
  • 4 edits in trunk

[Web Animations] transform property is always "none" for getKeyframes() output of a CSS Animation
https://bugs.webkit.org/show_bug.cgi?id=203669

Patch by Antoine Quint <Antoine Quint> on 2019-10-31
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark a progression, although the test still fails overall, it fails in a better way.

  • web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt:

Source/WebCore:

Calling valueForPropertyInStyle() with CSSPropertyTransform will eventually call into computedTransform()
which requires a renderer. Note that right now we're returning the computed style instead of the parsed
style, this will be addressed in a separate patch.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::getKeyframes):

5:01 AM Changeset in webkit [251838] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r251772.

Caused lots of media related tests to timeout

Reverted changeset:

"REGRESSION(r249428): [GStreamer] VP9 video rendered green"
https://bugs.webkit.org/show_bug.cgi?id=201422
https://trac.webkit.org/changeset/251772

2:31 AM Changeset in webkit [251837] by magomez@igalia.com
  • 4 edits in trunk/Source

[CoordGraphics] Avoid painting backing stores for zero-opacity layers
https://bugs.webkit.org/show_bug.cgi?id=184143

Reviewed by Žan Doberšek.

Source/WebCore:

Skip generating backing stores for layers that have zero opacity and do
not animate the opacity value. In the current CoordinatedGraphics system
this can end up saving loads of memory on Web content that deploys a
large number of such elements.

Based on a previous patch from Žan Doberšek.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore const):

Source/WebKit:

Do not check whether a backingStore is required by a layer inside CoordinatedGraphicsScene. This
decision is made by the appropriate CoordinatedGraphicsLayer and propagated to the scene by
sending a valid or null Nicosia::BackingStore instance through the state.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::updateBackingStore):
(WebKit::layerShouldHaveBackingStore): Deleted.

2:01 AM Changeset in webkit [251836] by Carlos Garcia Campos
  • 13 edits in trunk/Source/WebCore

[GTK][WPE] ImageDecoders: use SharedBuffer::DataSegment instead of SharedBuffer
https://bugs.webkit.org/show_bug.cgi?id=202807

Reviewed by Adrian Perez de Castro.

Because SharedBuffer::DataSegment is ThreadSafeRefCounted.

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/image-decoders/bmp/BMPImageDecoder.cpp:

(WebCore::BMPImageDecoder::setData):
(WebCore::BMPImageDecoder::decodeHelper):

  • platform/image-decoders/bmp/BMPImageDecoder.h:
  • platform/image-decoders/bmp/BMPImageReader.h:

(WebCore::BMPImageReader::readUint16):
(WebCore::BMPImageReader::readUint32):
(WebCore::BMPImageReader::setData):
(WebCore::BMPImageReader::readUint16 const):
(WebCore::BMPImageReader::readUint32 const):

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::decode):

  • platform/image-decoders/gif/GIFImageReader.h:

(GIFImageReader::setData):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::setData):
(WebCore::ICOImageDecoder::decodeAtIndex):

  • platform/image-decoders/ico/ICOImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageReader::decode):

  • platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp:

(WebCore::JPEG2000ImageDecoder::decode):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageReader::decode):

  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::decode):

1:00 AM Changeset in webkit [251835] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKitLegacy/win

Windows build fix attempt after r251798.

  • AccessibleBase.cpp:

(AccessibleBase::get_accParent):
(AccessibleBase::getAccessibilityObjectForChild const):

Oct 30, 2019:

10:13 PM Changeset in webkit [251834] by commit-queue@webkit.org
  • 29 edits
    1 copy in trunk

[Picture-in-Picture Web API] Enable the support for iOS
https://bugs.webkit.org/show_bug.cgi?id=202618

Patch by Peng Liu <Peng Liu> on 2019-10-30
Reviewed by Jer Noble.

Source/JavaScriptCore:

Enable the Picture-in-Picture API support for iOS (iPad only).

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enable the Picture-in-Picture API support for iOS (iPad only).
Add a file WebCore/platform/PictureInPictureSupport.h to define supportsPictureInPicture()
and provide a default implementation of that function if a configuration does not provide it (just return false).
The original definition of this function in platform/cocoa/VideoFullscreenModel.h is removed,
and the usage of this function is cleaned up.
Also fix a build error related to including header file (pal/spi/cg/CoreGraphicsSPI.h).

Covered by existing test cases.

  • Configurations/FeatureDefines.xcconfig:
  • Modules/pictureinpicture/DocumentPictureInPicture.cpp:

(WebCore::DocumentPictureInPicture::pictureInPictureEnabled):

  • Modules/pictureinpicture/DocumentPictureInPicture.h:

(WebCore::DocumentPictureInPicture::pictureInPictureEnabled): Deleted.

  • Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:

(WebCore::HTMLVideoElementPictureInPicture::requestPictureInPicture):

  • Configurations/FeatureDefines.xcconfig:
  • Modules/pictureinpicture/DocumentPictureInPicture.cpp:

(WebCore::DocumentPictureInPicture::pictureInPictureEnabled):

  • Modules/pictureinpicture/DocumentPictureInPicture.h:

(WebCore::DocumentPictureInPicture::pictureInPictureEnabled): Deleted.

  • Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:

(WebCore::HTMLVideoElementPictureInPicture::requestPictureInPicture):

  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::webkitSupportsPresentationMode const):

  • platform/PictureInPictureSupport.h: Copied from Source/WebCore/Modules/pictureinpicture/DocumentPictureInPicture.h.

(WebCore::supportsPictureInPicture):

  • platform/cocoa/VideoFullscreenModel.h:
  • platform/graphics/cg/PathCG.cpp:
  • platform/ios/VideoFullscreenInterfaceAVKit.mm:
  • platform/mac/VideoFullscreenInterfaceMac.mm:

Source/WebCore/PAL:

Enable the Picture-in-Picture API support for iOS (iPad only).

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Enable the Picture-in-Picture API support for iOS (iPad only).

  • Configurations/FeatureDefines.xcconfig:
  • WebProcess/cocoa/VideoFullscreenManager.mm:

Source/WebKitLegacy/mac:

Enable the Picture-in-Picture API support for iOS (iPad only).

  • Configurations/FeatureDefines.xcconfig:

Tools:

Enable the Picture-in-Picture API support for iOS (iPad only).

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

We do not need to play the video before entering the picture-in-picture mode,
so remove the code to start video playback in the test pages.
Also, enable the layout test cases of the Picture-in-Picture API for iPad.

  • media/picture-in-picture-api-pip-events-expected.txt:
  • media/picture-in-picture-api-pip-events.html:
  • media/picture-in-picture-api-pip-window-expected.txt:
  • media/picture-in-picture-api-pip-window.html:
  • platform/ipad/TestExpectations:
9:54 PM Changeset in webkit [251833] by yurys@chromium.org
  • 5 edits in trunk/LayoutTests

inspector-protocol/debugger/setBreakpoint-dfg.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=128736

Reviewed by Devin Rousso.

Reenabling the test on all platforms. Depending on the platform implementation of EventLoop
there is a difference in what is dispatched first when execution is resumed: previously
paused inspected script or commands from the inspector front-end. It would not be a problem
if InspectorFrontendAPI.dispatchMessageAsync actually delivered messages asynchronously.
With the current implementation though response to Debugger.resume
is dispatched in the front-end synchronously and the front-end would call InspectoTest.log
when inspected script execution is not yet resumed.

  • TestExpectations:
  • inspector/debugger/setBreakpoint-dfg-expected.txt:
  • inspector/debugger/setBreakpoint-dfg.html: Print final 'PASS' output after exiting nested loop

so that it always appears last.

  • platform/gtk/TestExpectations:
8:47 PM Changeset in webkit [251832] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

Web Inspector: Timelines: ResizeObserver callbacks are not labeled in the Events timeline
https://bugs.webkit.org/show_bug.cgi?id=203634
<rdar://problem/56760736>

Reviewed by Simon Fraser.

Wrap the ResizeObserver event handler in two InspectorInstrumentation calls so the
frontend knows how to properly label the callbacks.

  • page/ResizeObserver.cpp:

(WebCore::ResizeObserver::deliverObservations):

8:06 PM Changeset in webkit [251831] by achristensen@apple.com
  • 13 edits in trunk

Prevent Mac CMake build from bit rotting
https://bugs.webkit.org/show_bug.cgi?id=203647

Source/WebCore:

Rubber-stamped by Tim Horton.

  • PlatformMac.cmake:
  • platform/graphics/mac/WebKitNSImageExtras.mm:

Source/WebKit:

Rubber-stamped by Tim Horton.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::m_messagePortChannelRegistry):

  • PlatformMac.cmake:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(-[_WKWebAuthenticationPanel delegate]):
(-[_WKWebAuthenticationPanel setDelegate:]):

  • UIProcess/WebProcessProxy.cpp:

Source/WTF:

Reviewed by Tim Horton.

  • wtf/PlatformMac.cmake:

Tools:

Rubber-stamped by Tim Horton.

  • DumpRenderTree/PlatformMac.cmake:
  • WebKitTestRunner/PlatformMac.cmake:
7:51 PM Changeset in webkit [251830] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview/Safari Technology Preview 95

Added a tag for Safari Technology Preview release 95.

7:49 PM Changeset in webkit [251829] by mitz@apple.com
  • 7 copies
    1 add in releases/Apple/watchOS 6.1

Added a tag for watchOS 6.1.

7:16 PM Changeset in webkit [251828] by Simon Fraser
  • 18 edits in trunk

Opacity should always serialize as a number
https://bugs.webkit.org/show_bug.cgi?id=203601

Reviewed by Dean Jackson.
LayoutTests/imported/w3c:

  • web-platform-tests/css/css-color/parsing/opacity-valid-expected.txt:

Source/WebCore:

opacity should always serialize as a number, even if it was specified as a percentage.

Tests: imported/w3c/web-platform-tests/css/css-color/parsing/opacity-valid

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const):

LayoutTests:

Fix the tests and results.

  • fast/css/parsing-opacity-expected.txt:
  • fast/css/parsing-opacity.html:
  • fast/svg/parsing-fill-opacity-expected.txt:
  • fast/svg/parsing-fill-opacity.html:
  • fast/svg/parsing-flood-opacity-expected.txt:
  • fast/svg/parsing-flood-opacity.html:
  • fast/svg/parsing-stop-opacity-expected.txt:
  • fast/svg/parsing-stop-opacity.html:
  • fast/svg/parsing-stroke-opacity-expected.txt:
  • fast/svg/parsing-stroke-opacity.html:
6:41 PM Changeset in webkit [251827] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

Add fullscreen style quirk for reddit.com
https://bugs.webkit.org/show_bug.cgi?id=203635
<rdar://problem/55813774>

Reviewed by Eric Carlson.

Reddit.com expects the UA stylesheet to give the fullscreen element
a "width:100%; height:100%;" style.

  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

  • page/Quirks.cpp:

(WebCore::Quirks::needsFullWidthHeightFullscreenStyleQuirk const):

  • page/Quirks.h:
5:37 PM Changeset in webkit [251826] by ysuzuki@apple.com
  • 45 edits
    21 adds in trunk

[JSC] Date functions should have intrinsic
https://bugs.webkit.org/show_bug.cgi?id=202187

Reviewed by Keith Miller.

JSTests:

  • stress/date-cse.js: Added.

(shouldBe):
(test):
(test2):
(test3):

  • stress/date-get-date-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-day-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-full-year-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-hours-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-milliseconds-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-minutes-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-month-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-seconds-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-time-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-timezone-offset-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-utc-date-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-utc-day-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-utc-full-year-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-utc-hours-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-utc-milliseconds-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-utc-minutes-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-utc-month-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-utc-seconds-jit.js: Added.

(shouldBe):
(test):

  • stress/date-get-year-jit.js: Added.

(shouldBe):
(test):

  • stress/date-value-of-jit.js: Added.

(shouldBe):
(test):

Source/JavaScriptCore:

This patch adds intrinsic to Date object getter functions to make it inlined in DFG and FTL.
We add two DFG nodes, DateGetInt32OrNaN and DateGetTime. DateGetTime is used when we know
that the result is always machine double. On the other hand, DateGetInt32OrNaN is used when the result is Int32 or NaN.

Run SunSpider 100 times and get the solid improvement in Date related benchmarks.

ToT Patched

date-format-tofte 5.3511+-0.0260 5.2747+-0.0273 definitely 1.0145x faster
date-format-xparb 4.9196+-0.0265 4.7067+-0.0200 definitely 1.0452x faster

  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):
(JSC::speculationFromClassInfo):
(JSC::speculationFromJSType):
(JSC::speculationFromString):

  • bytecode/SpeculatedType.h:
  • dfg/DFGAbstractHeap.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIntrinsic):
(JSC::DFG::Node::intrinsic):
(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculateDateObject):
(JSC::DFG::SpeculativeJIT::speculate):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileDateGet):

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):

  • ftl/FTLAbstractHeapRepository.cpp:
  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileDateGet):
(JSC::FTL::DFG::LowerDFGToB3::lowDateObject):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateDateObject):

  • runtime/DateConversion.cpp:

(JSC::formatDateTime):

  • runtime/DateInstance.cpp:

(JSC::DateInstance::calculateGregorianDateTime const):
(JSC::DateInstance::calculateGregorianDateTimeUTC const):

  • runtime/DateInstance.h:
  • runtime/DateInstanceCache.h:

(JSC::DateInstanceData::offsetOfGregorianDateTimeCachedForMS):
(JSC::DateInstanceData::offsetOfCachedGregorianDateTime):
(JSC::DateInstanceData::offsetOfGregorianDateTimeUTCCachedForMS):
(JSC::DateInstanceData::offsetOfCachedGregorianDateTimeUTC):
(JSC::DateInstanceData::DateInstanceData): Deleted.

  • runtime/DatePrototype.cpp:

(JSC::formatLocaleDate):
(JSC::formateDateInstance):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):

  • runtime/Intrinsic.cpp:

(JSC::intrinsicName):

  • runtime/Intrinsic.h:
  • runtime/JSDateMath.cpp:

(JSC::msToGregorianDateTime):

  • runtime/JSType.cpp:

(WTF::printInternal):

  • runtime/JSType.h:

Source/WebCore:

  • loader/archive/mhtml/MHTMLArchive.cpp:

(WebCore::MHTMLArchive::generateMHTMLData):

Source/WTF:

  • wtf/DateMath.h:
  • wtf/GregorianDateTime.cpp:

(WTF::GregorianDateTime::setToCurrentLocalTime):

  • wtf/GregorianDateTime.h:
5:33 PM Changeset in webkit [251825] by pvollan@apple.com
  • 6 edits in trunk/Source

It should be possible to create a mach sandbox extension for the WebContent process before the audit token is known
https://bugs.webkit.org/show_bug.cgi?id=203618

Reviewed by Brent Fulgham.

Source/WebKit:

Currently, we are only able to create a mach sandbox extension for the WebContent process if we know its
audit token. It should be possible to create a mach extension without the audit token, since this is
needed when we want to create extensions before the PID or audit token is known. These extensions are
typically sent in the WebProcess creation parameters.

No new tests, this is not a behavior change, but a patch in preparation for future patches.

  • Shared/Cocoa/SandboxExtensionCocoa.mm:

(WebKit::SandboxExtensionImpl::sandboxExtensionForType):
(WebKit::SandboxExtension::createHandleForMachLookup):
(WebKit::SandboxExtension::createHandleForMachLookupByAuditToken): Deleted.

  • Shared/SandboxExtension.h:
  • UIProcess/ios/WebProcessProxyIOS.mm:

(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):

Source/WTF:

Added SPI to create mach extension without PID or audit token.

  • wtf/spi/darwin/SandboxSPI.h:
5:14 PM Changeset in webkit [251824] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

Fix some sysctl read violations in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=203632

Reviewed by Brent Fulgham.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
4:59 PM Changeset in webkit [251823] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION(r251568) If we didn't start a Service Worker, don't try talking to it
https://bugs.webkit.org/show_bug.cgi?id=203639
<rdar://problem/56762071>

Reviewed by Chris Dumez.

Similar to the fix that introduced this regression, if the UI process does
not have the entitlement to start a service worker, we should not try
to load with one.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): If the
parent process doesn't have a service worker, use the regular load path.

4:40 PM Changeset in webkit [251822] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Turn Resize Observer on by default
https://bugs.webkit.org/show_bug.cgi?id=203644
rdar://problem/56026799

Reviewed by Tim Horton.

Change the defaultValue of Resize Observer to true.

  • Shared/WebPreferences.yaml:
4:33 PM Changeset in webkit [251821] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

Lookup to mach services with the WebKit extension should list the allowed services
https://bugs.webkit.org/show_bug.cgi?id=203619

Reviewed by Alexey Proskuryakov.

To tighten the mach lookup rule which allows lookup to services with the "com.apple.webkit.extension.mach"
extension, all allowed services should be listed. Currently, we are only creating mach lookup extensions to
"com.apple.iphone.axserver-systemwide", but more will come in the future.

No new tests. Testing this requires UI interaction on the device to enable Accessibility.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
4:29 PM Changeset in webkit [251820] by Chris Dumez
  • 3 edits
    2 adds in trunk

GPUCanvasContext should not prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203104
<rdar://problem/56748066>

Reviewed by Tim Horton.

Source/WebCore:

Let pages with a GPUCanvasContext into the back/forward cache. The current implementation
does not run any script.

Test: fast/history/page-cache-gpu-canvas-context.html

  • Modules/webgpu/GPUCanvasContext.h:

LayoutTests:

Add layout test coverage.

  • fast/history/page-cache-gpu-canvas-context-expected.txt: Added.
  • fast/history/page-cache-gpu-canvas-context.html: Added.
4:18 PM Changeset in webkit [251819] by guijemont@igalia.com
  • 2 edits in trunk/JSTests

Temporarily skip ChakraCore/test/Math/max.js on arm and mips

Unreviewed gardening.

  • ChakraCore.yaml:
4:12 PM Changeset in webkit [251818] by yurys@chromium.org
  • 3 edits
    1 add in trunk/LayoutTests

[GTK] LayoutTests/inspector tests timeout
https://bugs.webkit.org/show_bug.cgi?id=147518

Unreviewed. Renable inspector/dom and inspector/timeline tests on GTK.

  • inspector/dom/getAccessibilityPropertiesForNode-expected.txt: This test has consistent output which

is slightly different from Mac.

  • platform/gtk/TestExpectations:
  • platform/gtk/inspector/timeline/line-column-expected.txt: Added. TimelineRecordType::RenderingFrame

is only emitted on PLATFORM(COCOA), so we need custom expectation on other platforms.

3:50 PM Changeset in webkit [251817] by Russell Epstein
  • 2 edits in trunk/LayoutTests

[ iOS ] Layout Test fast/css-custom-paint/simple-hidpi.html is a Flaky Failure (203637).
https://bugs.webkit.org/show_bug.cgi?id=203637

Unreviewed Test Gardening.

  • platform/ios-wk2/TestExpectations: Marked test as flaky.
3:49 PM Changeset in webkit [251816] by yurys@chromium.org
  • 12 edits in trunk/Source/WebInspectorUI

Web Inspector: track WI.Script unique display name numbers per Page target
https://bugs.webkit.org/show_bug.cgi?id=203427

Reviewed by Devin Rousso.

WI.Script now keeps track of last unique numbers via a static weak map keyed by
the Script's root target. So whenever new Page target is created all its scripts
will get unique display numbers from a new namespace.

Parent target is now passed to each target constructor and allow to find host
page target for nested targets. Among other things WorkerConnection and
TargetConnection use parentTarget for dispatching events instead of creating
extra copy of the same data that is already stored in Target.

  • UserInterface/Controllers/DebuggerManager.js:

(WI.DebuggerManager.prototype.globalObjectCleared):

  • UserInterface/Controllers/TargetManager.js:

(WI.TargetManager.prototype.targetCreated):
(WI.TargetManager.prototype.didCommitProvisionalTarget):
(WI.TargetManager.prototype.targetDestroyed):
(WI.TargetManager.prototype.dispatchMessageFromTarget):
(WI.TargetManager.prototype._connectToTarget):
(WI.TargetManager.prototype._createTarget):

  • UserInterface/Controllers/WorkerManager.js:

(WI.WorkerManager.prototype.workerCreated):

  • UserInterface/Models/Script.js:

(WI.Script):
(WI.Script.prototype.get displayName):
(WI.Script.prototype._nextUniqueDisplayNameNumber):
(WI.Script.prototype._nextUniqueConsoleDisplayNameNumber):
(WI.Script.prototype._uniqueDisplayNameNumbersForRootTarget):

  • UserInterface/Protocol/Connection.js:

(InspectorBackend.WorkerConnection.prototype.sendMessageToBackend):
(InspectorBackend.WorkerConnection):
(InspectorBackend.TargetConnection.prototype.sendMessageToBackend):
(InspectorBackend.TargetConnection):

  • UserInterface/Protocol/DirectBackendTarget.js:

(WI.DirectBackendTarget):

  • UserInterface/Protocol/MultiplexingBackendTarget.js:

(WI.MultiplexingBackendTarget):

  • UserInterface/Protocol/PageTarget.js:

(WI.PageTarget):

  • UserInterface/Protocol/Target.js:

(WI.Target):
(WI.Target.prototype.get parentTarget):
(WI.Target.prototype.get rootTarget):

  • UserInterface/Protocol/WorkerTarget.js:

(WI.WorkerTarget):

3:41 PM Changeset in webkit [251815] by Ross Kirsling
  • 4 edits in trunk

Intl.DateTimeFormat returns resolvedOptions in the wrong order
https://bugs.webkit.org/show_bug.cgi?id=203297

Reviewed by Yusuke Suzuki.

JSTests:

  • test262/expectations.yaml:

Mark two test cases as passing.

Source/JavaScriptCore:

See table here:
https://tc39.es/ecma402/#table-datetimeformat-resolvedoptions-properties

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::resolvedOptions):

3:39 PM Changeset in webkit [251814] by achristensen@apple.com
  • 18 edits
    7 adds in trunk

WKContentRuleLists should block requests from service workers
https://bugs.webkit.org/show_bug.cgi?id=201980
<rdar://problem/55516735>

Reviewed by Chris Dumez.

Source/WebKit:

Test: http/tests/contentextensions/service-worker.https.html

Also covered by an API test.

  • Shared/ServiceWorkerInitializationData.cpp: Added.

(WebKit::ServiceWorkerInitializationData::encode const):
(WebKit::ServiceWorkerInitializationData::decode):

  • Shared/ServiceWorkerInitializationData.h: Added.
  • Sources.txt:
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::contentRuleListData):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::createWebPage):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createForServiceWorkers):
(WebKit::WebProcessProxy::establishServiceWorkerContext):
(WebKit::contentRuleListsFromIdentifier):
(WebKit::WebProcessProxy::enableServiceWorkers):

  • UIProcess/WebProcessProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
(WebKit::m_userAgent):
(WebKit::WebSWContextManagerConnection::installServiceWorker):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::establishWorkerContextConnectionToNetworkProcess):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

Tools:

NSString initWithContentsOfURL doesn't work with https URLs with certificates without a trusted root,
so I use an ephemeral NSURLSession instead so I can tell it to accept any connection, even our WebKit httpd server.
I also added an API test.

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • WebKitTestRunner/mac/TestControllerMac.mm:

(-[WKTRSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(WTR::TestController::configureContentExtensionForTest):

LayoutTests:

  • http/tests/contentextensions/resources/fetch-worker.js: Added.

(event.fetch.string_appeared_here.then):
(event.catch):

  • http/tests/contentextensions/resources/serviceworkertest.js: Added.

(testServiceWorker):
(test):

  • http/tests/contentextensions/service-worker.https-expected.txt: Added.
  • http/tests/contentextensions/service-worker.https.html: Added.
  • http/tests/contentextensions/service-worker.https.html.json: Added.
3:21 PM Changeset in webkit [251813] by dbates@webkit.org
  • 6 edits in trunk

Add pretty printer for CompactPointerTuple
https://bugs.webkit.org/show_bug.cgi?id=203495

Reviewed by Jer Noble.

Source/WTF:

#include <wtf/FastMalloc.h> for the definition of WTF_MAKE_FAST_ALLOCATED.

  • wtf/CompactPointerTuple.h:

Tools:

Make it easy to see the state of a CompactPointerTuple. Now we will print something like:

(WTF::CompactPointerTuple<WTF::String *, unsigned char>) $0 = { type = 7 } {

[0] = 0x00007ffeefbff220 { length = 8, contents = 'résumé' }
[1] = 7

}

for aCompactPointerTuple defined like this:

String aString { "résumé" };
CompactPointerTuple<String*, uint8_t> aCompactPointerTuple { &aString, 7 };

  • lldb/lldbWebKitTester/main.cpp:

(testSummaryProviders):

  • lldb/lldb_webkit.py:

(lldb_init_module):
(
lldb_init_module.lldb_webkit):
(WTFCompactPointerTuple_SummaryProvider):
(WTFCompactPointerTupleProvider):
(WTFCompactPointerTupleProvider.init):

(WTFCompactPointerTupleProvider.type_as_string):
(WTFCompactPointerTupleProvider.is_human_readable_type):
The majority of the time CompactPointerTuple will be used with non-character type data. So,
I optimize for this use case and consider the integral value as more readable than than LLDB's
default summary provider that emits the character or equivalent C escape sequence.

(WTFCompactPointerTupleProvider.has_children):
(WTFCompactPointerTupleProvider.num_children):
(WTFCompactPointerTupleProvider.get_child_index):
(WTFCompactPointerTupleProvider.get_child_at_index):
(WTFCompactPointerTupleProvider.update):

  • lldb/lldb_webkit_unittest.py:

(TestSummaryProviders.serial_test_WTFOptionSetProvider_aliased_flag):
(TestSummaryProviders):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_empty):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_simple):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_max_type_value):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_bool):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_empty):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_max_type_value):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple_bool):

3:19 PM Changeset in webkit [251812] by Tadeu Zagallo
  • 3 edits
    1 add in trunk

tryCachePutToScopeGlobal should hold the lock to update metadata.m_getPutInfo
https://bugs.webkit.org/show_bug.cgi?id=203628
<rdar://problem/56705353>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/property-move-from-global-object-to-global-lexical-environment.js: Added.

(foo):

Source/JavaScriptCore:

We hold the lock to update m_watchpointSet and m_operand, but at that point we have already
updated m_getPutInfo. This can lead to inconsistent state observable from the compiler thread
where the getPutInfo does not match the watchpointSet.

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):

3:17 PM Changeset in webkit [251811] by dbates@webkit.org
  • 1 edit
    2 moves in trunk/LayoutTests

Fix misspelling test named fast/dom/simultaneouslyRegsiteredTimerFireOrder.html
https://bugs.webkit.org/show_bug.cgi?id=203578

Reviewed by Jer Noble.

  • fast/dom/simultaneously-registered-timer-fire-order-expected.txt: Renamed from LayoutTests/fast/dom/simultaneouslyRegsiteredTimerFireOrder-expected.txt.
  • fast/dom/simultaneously-registered-timer-fire-order.html: Renamed from LayoutTests/fast/dom/simultaneouslyRegsiteredTimerFireOrder.html.
3:15 PM Changeset in webkit [251810] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Move tracking and computation of timer heap current insertion order to ThreadTimers
https://bugs.webkit.org/show_bug.cgi?id=203519

Reviewed by Jer Noble.

Each thread maintains its own heap of timers. So, they should also maintain the running insertion count.
The running insertion count is used to ensure timers with the same firing time are ordered by when
they were inserted into the heap. This is important to ensure that code like:

window.setTimeout(a, 0)
window.setTimeout(b, 0)

schedule a() to be called before b() even though both has the same firing time.

Currently the insertion count is process-wide. That is, it is globally unique across all threads. The
current width of the count is sizeof(unsigned) and so the more threads that increment it the faster it
approaches the point of wrapping around. The current code can only ensure correct timer ordering in a
window of sizeof(unsigned) / 2 timers (see TimerHeapLessThanFunction::compare(MonotonicTime, unsigned, MonotonicTime, unsigned)).
We could simply leave it process-wide and increases the width to 64-bits, but I felt it made more
sense conceptually to move the count to the thread local storage and be with the timer heap itself
despite the extra 4 bytes per thread that it adds.

  • dom/ActiveDOMObject.h:
  • platform/ThreadTimers.h:

(WebCore::ThreadTimers::nextHeapInsertionCount): Added.

  • platform/Timer.cpp:

(WebCore::TimerBase::setNextFireTime):

3:15 PM Changeset in webkit [251809] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

Remove the argument 'resultElement' from the SVG animation functions
https://bugs.webkit.org/show_bug.cgi?id=202052

Reviewed by Simon Fraser.

This is a clean-up patch, which does the following:

-- It removes the argument 'resultElement' from all the SVG animation

functions except from SVGSMILElement::progress(). In this function, we
need to start the animation only with the first animation.

-- It renames resetAnimatedType() and clearAnimatedType() to startAnimation()

and stopAnimation() respectively. These functions were named for the
type SVGAnimatedType which had been deleted. The real purpose of these
functions is to start/stop the animation.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-30

  • svg/SVGAnimateElementBase.cpp:

(WebCore::SVGAnimateElementBase::startAnimation):
(WebCore::SVGAnimateElementBase::calculateAnimatedValue):
(WebCore::SVGAnimateElementBase::stopAnimation):
(WebCore::SVGAnimateElementBase::resetAnimatedType): Deleted.
(WebCore::SVGAnimateElementBase::clearAnimatedType): Deleted.

  • svg/SVGAnimateElementBase.h:
  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::startAnimation):
(WebCore::SVGAnimateMotionElement::stopAnimation):
(WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
(WebCore::SVGAnimateMotionElement::resetAnimatedType): Deleted.
(WebCore::SVGAnimateMotionElement::clearAnimatedType): Deleted.

  • svg/SVGAnimateMotionElement.h:
  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::updateAnimation):

  • svg/SVGAnimationElement.h:
  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::updateAnimations):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::reset):
(WebCore::SVGSMILElement::setAttributeName):
(WebCore::SVGSMILElement::setTargetElement):
(WebCore::SVGSMILElement::progress):

  • svg/animation/SVGSMILElement.h:
2:56 PM Changeset in webkit [251808] by Jonathan Bedard
  • 23 edits
    2 deletes in trunk/Tools

Python 3: Add support in webkitpy.port
https://bugs.webkit.org/show_bug.cgi?id=203489

Reviewed by Dewei Zhu.

  • Scripts/test-webkitpy-python3: Add webkitpy.port.
  • Scripts/webkitpy/common/newstringio.py: Removed.
  • Scripts/webkitpy/common/newstringio_unittest.py: Removed.
  • Scripts/webkitpy/common/system/executive_mock.py:

(MockProcess.init): Ensure that stdout and stderr are byte arrays.

  • Scripts/webkitpy/common/version.py:

(Version.hash): Add hash function for Version objects.

  • Scripts/webkitpy/port/base.py:

(Port.default_baseline_search_path): Convert list to map.
(Port.diff_text): Decode for the native string type.
(Port.skipped_perf_tests): Convert filter to list.
(Port._run_script): No need to decode strings in Python 3, even if decode_output is set.
(Port.diff_text.to_raw_bytes): Deleted.

  • Scripts/webkitpy/port/base_unittest.py:

(cmp): Add cmp function for Python 3 comparisons.
(PortTest.test_diff_text): Do not escape spaces.
(PortTest.test_parse_reftest_list): Write to test file explicitly.

  • Scripts/webkitpy/port/builders_unittest.py: Use full import path.
  • Scripts/webkitpy/port/config_standalone.py: script_dir was refering to Tools,

not Tools/Scripts.

  • Scripts/webkitpy/port/config_unittest.py: Use full import path.
  • Scripts/webkitpy/port/darwin.py:

(DarwinPort.show_results_html_file): Use os.devnull directly.

  • Scripts/webkitpy/port/driver_unittest.py:

(DriverTest.test_read_base64_block): Explicitly compare against byte array.
(DriverTest.test_setup_environ_base_vars): Convert iterators to lists.

  • Scripts/webkitpy/port/factory.py:

(PortFactory.get.in): Imports need to use the full import path.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.default_baseline_search_path): Convert map to list.

  • Scripts/webkitpy/port/leakdetector.py:

(LeakDetector._parse_leaks_output): Search byte array with byte array.

  • Scripts/webkitpy/port/leakdetector_valgrind.py:

(ValgrindError.str): Split byte array with byte array.
(ValgrindError.error_hash): Correct regex.
(LeakDetectorValgrind._parse_leaks_output): Convert bytes to string.
(LeakDetectorValgrind.parse_and_print_leaks_detail): Standardize Python 2 and 3 sorting order.

  • Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Make unit tests Python 3 compatible.
  • Scripts/webkitpy/port/linux_get_crash_log.py:

(GDBCrashLogGenerator._get_trace_from_systemd): Modernize exception handling.
(GDBCrashLogGenerator.generate_crash_log): No need to decode strings in Python 3.

  • Scripts/webkitpy/port/mac.py:

(MacPort.start_helper): is_ready will be a byte array.
(MacPort.stop_helper): stdin will be a byte array.

  • Scripts/webkitpy/port/mock_drt_unittest.py:

(MockDRTTest.assertTest): Use unicode compatible StringIO objects.
(MockDRTTest.test_main): Ditto.

  • Scripts/webkitpy/port/port_testcase.py:

(bind_mock_apple_additions.MockAppleAdditions.version_name_mapping): Use items instead of iteritems.
(PortTestCase.test_expectations_ordering): Convert iterator to list.
(PortTestCase.test_test_expectations): Ditto.

  • Scripts/webkitpy/port/win.py:

(WinPort.init):
(WinPort.default_baseline_search_path): Convert map to list.
(WinPort.test_search_path): Ditto.
(WinPort.setup_crash_log_saving): Use items instead of iteritems.
(WinPort.restore_crash_log_saving): Ditto.
(WinPort.prevent_error_dialogs): Ditto.
(WinPort.allow_error_dialogs): Ditto.
(WinCairoPort.default_baseline_search_path): Convert map to list.
(WinCairoPort._port_specific_expectations_files): Ditto.
(FTWPort.default_baseline_search_path): Ditto.
(FTWPort._port_specific_expectations_files): Ditto.

  • Scripts/webkitpy/port/win_unittest.py: Ditto.

(WinPortTest._assert_search_path): Ditto.

  • Scripts/webkitpy/port/wpe.py:

(WPEPort.default_baseline_search_path): Convert map to list.
(WPEPort._port_specific_expectations_files): Ditto.

2:41 PM Changeset in webkit [251807] by Russell Epstein
  • 2 edits in trunk/LayoutTests

REGRESSION [ PHP ][ iOS ]: Two http/tests/cookies/same-site/set-first-party-* Tests are Failing
https://bugs.webkit.org/show_bug.cgi?id=203567

Unreviewed Test Gardening.

  • platform/ios-wk2/TestExpectations: Marked tests as failing.
2:40 PM Changeset in webkit [251806] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Covscan: remove stray semicolon
https://bugs.webkit.org/show_bug.cgi?id=203622

Patch by Eike Rathke <erack@redhat.com> on 2019-10-30
Reviewed by Devin Rousso.

  • UserInterface/Views/CheckboxNavigationItem.js:

(WI.CheckboxNavigationItem.prototype.set label):

2:35 PM Changeset in webkit [251805] by Alan Coon
  • 1 copy in tags/Safari-608.4.5

Tag Safari-608.4.5.

2:30 PM Changeset in webkit [251804] by Simon Fraser
  • 4 edits in trunk/LayoutTests

REGRESSION (r251750): Three CSS Tests are Failing
https://bugs.webkit.org/show_bug.cgi?id=203616
<rdar://problem/56749907>

Unreviewed test gardening.

Fix the conic-gradient-parsing.html tests, and update iOS expectations for two hsl tests.

  • http/wpt/css/css-images-4/conic-gradient-parsing.html:
  • platform/ios/fast/css/hsl-color-expected.txt:
  • platform/ios/fast/css/hsla-color-expected.txt:
2:29 PM Changeset in webkit [251803] by Alan Coon
  • 20 edits in branches/safari-608-branch

Apply patch. rdar://problem/56280706

2:08 PM Changeset in webkit [251802] by Alan Coon
  • 4 edits in branches/safari-608-branch

Re-land Alex's branch specific fix that we reverted to cleanly land Jiewen's patch.
Revert "Revert "Branch build fix after r251754""

2:08 PM Changeset in webkit [251801] by Alan Coon
  • 16 edits in branches/safari-608-branch

Apply patch. rdar://problem/56579657

2:08 PM Changeset in webkit [251800] by Alan Coon
  • 13 edits in branches/safari-608-branch

Revert "Branch build fix after r251754"

This reverts commit r251794.

1:49 PM Changeset in webkit [251799] by Alan Bujtas
  • 5 edits in trunk
ASSERTION FAILED: !object
!isRuby(object->parent()) is<RenderRubyRun>(*object) (object->isInline() && (object->isBeforeContent() object->isAfterContent())) (object->isAnonymous() && is<RenderBlock>(*object) && object->style().display() == D

https://bugs.webkit.org/show_bug.cgi?id=196003
<rdar://problem/49219890>

Reviewed by Antti Koivisto.

Source/WebCore:

This test case triggered two slightly different issues.

  1. It's valid to have column flows/sets as the child of the ruby renderer (isRubyChildForNormalRemoval already accepts these type of renderers).
  2. When the parent finding logic comes back with the insertion point as parent candidate, we can only call the simple internal insert when the multicol context is not present (since the multicol context (sadly) mutates the insertion point).
  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::attach):

  • rendering/updating/RenderTreeBuilderRuby.cpp:

(WebCore::isAnonymousRubyInlineBlock):
(WebCore::lastRubyRun):

LayoutTests:

1:44 PM Changeset in webkit [251798] by Andres Gonzalez
  • 62 edits in trunk/Source

Create base class common to AccessibilityObject and AXIsolatedTreeNode.
https://bugs.webkit.org/show_bug.cgi?id=203408

Reviewed by Chris Fleizach.

Source/WebCore:

No new tests needed since this doesn't change any functionality.

AXCoreObject is now a common base class for both AccessibilityObject and
AXIsolatedTreeNode. All client code should use AXCoreObject instead of
any of the derived classes. This will allow to seamlessly switch
between using AXIsolatedTreeNode in the secondary thread and
AccessibilityObject in the main thread when needed. This change also
allows for cleaner client code, encapsulating the decision whether
AXIsolatedTreeNode can respond to a request or need to resort to its
corresponding AccessibilityObject, and reducing the number of compile
time flag checks for ENABLE(ACCESSIBILITY_ISOLATED_TREE).

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::focusedImageMapUIElement):
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::getOrCreate):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::getAXID):
(WebCore::AXObjectCache::childrenChanged):
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::postNotification):
(WebCore::AXObjectCache::setTextMarkerDataWithCharacterOffset):
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
(WebCore::AXObjectCache::textMarkerDataForFirstPositionInTextControl):
(WebCore::AXObjectCache::performDeferredCacheUpdate):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::childrenChanged):

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addTableCellChild):
(WebCore::AccessibilityARIAGrid::addRowDescendant):

  • accessibility/AccessibilityARIAGrid.h:
  • accessibility/AccessibilityARIAGridCell.cpp:

(WebCore::AccessibilityARIAGridCell::parentTable const):
(WebCore::AccessibilityARIAGridCell::rowIndexRange const):
(WebCore::AccessibilityARIAGridCell::axRowSpanWithRowIndex const):
(WebCore::AccessibilityARIAGridCell::columnIndexRange const):

  • accessibility/AccessibilityARIAGridRow.cpp:

(WebCore::AccessibilityARIAGridRow::disclosedRows):
(WebCore::AccessibilityARIAGridRow::disclosedByRow const):
(WebCore::AccessibilityARIAGridRow::headerObject):

  • accessibility/AccessibilityARIAGridRow.h:
  • accessibility/AccessibilityLabel.cpp:

(WebCore::AccessibilityLabel::insertChild):

  • accessibility/AccessibilityLabel.h:
  • accessibility/AccessibilityListBox.cpp:

(WebCore::AccessibilityListBox::elementAccessibilityHitTest const):

  • accessibility/AccessibilityListBox.h:
  • accessibility/AccessibilityMathMLElement.cpp:

(WebCore::AccessibilityMathMLElement::isMathScriptObject const):
(WebCore::AccessibilityMathMLElement::isMathMultiscriptObject const):
(WebCore::AccessibilityMathMLElement::mathRadicandObject):
(WebCore::AccessibilityMathMLElement::mathRootIndexObject):
(WebCore::AccessibilityMathMLElement::mathNumeratorObject):
(WebCore::AccessibilityMathMLElement::mathDenominatorObject):
(WebCore::AccessibilityMathMLElement::mathUnderObject):
(WebCore::AccessibilityMathMLElement::mathOverObject):
(WebCore::AccessibilityMathMLElement::mathBaseObject):
(WebCore::AccessibilityMathMLElement::mathSubscriptObject):
(WebCore::AccessibilityMathMLElement::mathSuperscriptObject):

  • accessibility/AccessibilityMathMLElement.h:
  • accessibility/AccessibilityMediaControls.h:
  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::addChildren):

  • accessibility/AccessibilityMenuListPopup.cpp:

(WebCore::AccessibilityMenuListPopup::childrenChanged):
(WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::selectedRadioButton):
(WebCore::AccessibilityNodeObject::selectedTabItem):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
(WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
(WebCore::AccessibilityObject::containsText const):
(WebCore::AccessibilityObject::parentObjectUnignored const):
(WebCore::appendAccessibilityObject):
(WebCore::AccessibilityObject::insertChild):
(WebCore::AccessibilityObject::addChild):
(WebCore::appendChildrenToArray):
(WebCore::AccessibilityObject::objectMatchesSearchCriteriaWithResultLimit):
(WebCore::AccessibilityObject::findMatchingObjects):
(WebCore::AccessibilityObject::headingElementForNode):
(WebCore::AccessibilityObject::isDescendantOfObject const):
(WebCore::AccessibilityObject::isAncestorOfObject const):
(WebCore::AccessibilityObject::elementAccessibilityHitTest const):
(WebCore::AccessibilityObject::focusedUIElement const):
(WebCore::AccessibilityObject::isExpanded const):
(WebCore::AccessibilityObject::isOnScreen const):
(WebCore::AccessibilityObject::accessibilityIsIgnored const):
(WebCore::AccessibilityObject::selectedListItem):
(WebCore::AccessibilityObject::setIsIgnoredFromParentDataForChild):
(WebCore::AccessibilityObject::accessibilityObjectContainsText const): Deleted.
(WebCore::AccessibilityObject::isOnscreen const): Deleted.

  • accessibility/AccessibilityObject.h:

(isType):
(WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode): Deleted.
(WebCore::AccessibilityIsIgnoredFromParentData::AccessibilityIsIgnoredFromParentData): Deleted.
(WebCore::AccessibilityIsIgnoredFromParentData::isNull const): Deleted.
(WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria): Deleted.
(WebCore::VisiblePositionRange::VisiblePositionRange): Deleted.
(WebCore::VisiblePositionRange::isNull const): Deleted.
(WebCore::PlainTextRange::PlainTextRange): Deleted.
(WebCore::PlainTextRange::isNull const): Deleted.
(WebCore::AccessibilitySearchTextCriteria::AccessibilitySearchTextCriteria): Deleted.
(WebCore::AccessibilityTextOperation::AccessibilityTextOperation): Deleted.
(WebCore::AccessibilityObject::setAXObjectID): Deleted.
(WebCore::AccessibilityObject::init): Deleted.
(WebCore::AccessibilityObject::isAccessibilityNodeObject const): Deleted.
(WebCore::AccessibilityObject::isAccessibilityRenderObject const): Deleted.
(WebCore::AccessibilityObject::isAccessibilityScrollbar const): Deleted.
(WebCore::AccessibilityObject::isAccessibilityScrollView const): Deleted.
(WebCore::AccessibilityObject::isAccessibilitySVGRoot const): Deleted.
(WebCore::AccessibilityObject::isAccessibilitySVGElement const): Deleted.
(WebCore::AccessibilityObject::isAttachmentElement const): Deleted.
(WebCore::AccessibilityObject::isHeading const): Deleted.
(WebCore::AccessibilityObject::isImageMap const): Deleted.
(WebCore::AccessibilityObject::isNativeImage const): Deleted.
(WebCore::AccessibilityObject::isImageButton const): Deleted.
(WebCore::AccessibilityObject::isPasswordField const): Deleted.
(WebCore::AccessibilityObject::passwordFieldOrContainingPasswordField): Deleted.
(WebCore::AccessibilityObject::isNativeTextControl const): Deleted.
(WebCore::AccessibilityObject::isSearchField const): Deleted.
(WebCore::AccessibilityObject::isWebArea const): Deleted.
(WebCore::AccessibilityObject::isCheckbox const): Deleted.
(WebCore::AccessibilityObject::isRadioButton const): Deleted.
(WebCore::AccessibilityObject::isNativeListBox const): Deleted.
(WebCore::AccessibilityObject::isListBox const): Deleted.
(WebCore::AccessibilityObject::isListBoxOption const): Deleted.
(WebCore::AccessibilityObject::isMediaTimeline const): Deleted.
(WebCore::AccessibilityObject::isMenuRelated const): Deleted.
(WebCore::AccessibilityObject::isMenu const): Deleted.
(WebCore::AccessibilityObject::isMenuBar const): Deleted.
(WebCore::AccessibilityObject::isMenuButton const): Deleted.
(WebCore::AccessibilityObject::isMenuItem const): Deleted.
(WebCore::AccessibilityObject::isInputImage const): Deleted.
(WebCore::AccessibilityObject::isProgressIndicator const): Deleted.
(WebCore::AccessibilityObject::isSlider const): Deleted.
(WebCore::AccessibilityObject::isSliderThumb const): Deleted.
(WebCore::AccessibilityObject::isInputSlider const): Deleted.
(WebCore::AccessibilityObject::isControl const): Deleted.
(WebCore::AccessibilityObject::isLabel const): Deleted.
(WebCore::AccessibilityObject::isList const): Deleted.
(WebCore::AccessibilityObject::isTable const): Deleted.
(WebCore::AccessibilityObject::isDataTable const): Deleted.
(WebCore::AccessibilityObject::isTableRow const): Deleted.
(WebCore::AccessibilityObject::isTableColumn const): Deleted.
(WebCore::AccessibilityObject::isTableCell const): Deleted.
(WebCore::AccessibilityObject::isFieldset const): Deleted.
(WebCore::AccessibilityObject::isGroup const): Deleted.
(WebCore::AccessibilityObject::isARIATreeGridRow const): Deleted.
(WebCore::AccessibilityObject::isMenuList const): Deleted.
(WebCore::AccessibilityObject::isMenuListPopup const): Deleted.
(WebCore::AccessibilityObject::isMenuListOption const): Deleted.
(WebCore::AccessibilityObject::isSpinButton const): Deleted.
(WebCore::AccessibilityObject::isNativeSpinButton const): Deleted.
(WebCore::AccessibilityObject::isSpinButtonPart const): Deleted.
(WebCore::AccessibilityObject::isMockObject const): Deleted.
(WebCore::AccessibilityObject::isMediaObject const): Deleted.
(WebCore::AccessibilityObject::isSwitch const): Deleted.
(WebCore::AccessibilityObject::isToggleButton const): Deleted.
(WebCore::AccessibilityObject::isTabList const): Deleted.
(WebCore::AccessibilityObject::isTabItem const): Deleted.
(WebCore::AccessibilityObject::isRadioGroup const): Deleted.
(WebCore::AccessibilityObject::isComboBox const): Deleted.
(WebCore::AccessibilityObject::isTreeGrid const): Deleted.
(WebCore::AccessibilityObject::isListItem const): Deleted.
(WebCore::AccessibilityObject::isCheckboxOrRadio const): Deleted.
(WebCore::AccessibilityObject::isScrollView const): Deleted.
(WebCore::AccessibilityObject::isCanvas const): Deleted.
(WebCore::AccessibilityObject::isPopUpButton const): Deleted.
(WebCore::AccessibilityObject::isColorWell const): Deleted.
(WebCore::AccessibilityObject::isSplitter const): Deleted.
(WebCore::AccessibilityObject::isToolbar const): Deleted.
(WebCore::AccessibilityObject::isSummary const): Deleted.
(WebCore::AccessibilityObject::isChecked const): Deleted.
(WebCore::AccessibilityObject::isEnabled const): Deleted.
(WebCore::AccessibilityObject::isSelected const): Deleted.
(WebCore::AccessibilityObject::isFocused const): Deleted.
(WebCore::AccessibilityObject::isHovered const): Deleted.
(WebCore::AccessibilityObject::isIndeterminate const): Deleted.
(WebCore::AccessibilityObject::isLoaded const): Deleted.
(WebCore::AccessibilityObject::isMultiSelectable const): Deleted.
(WebCore::AccessibilityObject::isOffScreen const): Deleted.
(WebCore::AccessibilityObject::isPressed const): Deleted.
(WebCore::AccessibilityObject::isUnvisited const): Deleted.
(WebCore::AccessibilityObject::isVisited const): Deleted.
(WebCore::AccessibilityObject::isRequired const): Deleted.
(WebCore::AccessibilityObject::supportsRequiredAttribute const): Deleted.
(WebCore::AccessibilityObject::isLinked const): Deleted.
(WebCore::AccessibilityObject::isVisible const): Deleted.
(WebCore::AccessibilityObject::isCollapsed const): Deleted.
(WebCore::AccessibilityObject::setIsExpanded): Deleted.
(WebCore::AccessibilityObject::isSelectedOptionActive const): Deleted.
(WebCore::AccessibilityObject::hasBoldFont const): Deleted.
(WebCore::AccessibilityObject::hasItalicFont const): Deleted.
(WebCore::AccessibilityObject::hasPlainText const): Deleted.
(WebCore::AccessibilityObject::hasSameFont const): Deleted.
(WebCore::AccessibilityObject::hasSameFontColor const): Deleted.
(WebCore::AccessibilityObject::hasSameStyle const): Deleted.
(WebCore::AccessibilityObject::isStaticText const): Deleted.
(WebCore::AccessibilityObject::hasUnderline const): Deleted.
(WebCore::AccessibilityObject::canSetFocusAttribute const): Deleted.
(WebCore::AccessibilityObject::canSetTextRangeAttributes const): Deleted.
(WebCore::AccessibilityObject::canSetValueAttribute const): Deleted.
(WebCore::AccessibilityObject::canSetNumericValue const): Deleted.
(WebCore::AccessibilityObject::canSetSelectedAttribute const): Deleted.
(WebCore::AccessibilityObject::canSetSelectedChildrenAttribute const): Deleted.
(WebCore::AccessibilityObject::canSetExpandedAttribute const): Deleted.
(WebCore::AccessibilityObject::node const): Deleted.
(WebCore::AccessibilityObject::renderer const): Deleted.
(WebCore::AccessibilityObject::headingLevel const): Deleted.
(WebCore::AccessibilityObject::tableLevel const): Deleted.
(WebCore::AccessibilityObject::valueDescription const): Deleted.
(WebCore::AccessibilityObject::valueForRange const): Deleted.
(WebCore::AccessibilityObject::maxValueForRange const): Deleted.
(WebCore::AccessibilityObject::minValueForRange const): Deleted.
(WebCore::AccessibilityObject::stepValueForRange const): Deleted.
(WebCore::AccessibilityObject::selectedRadioButton): Deleted.
(WebCore::AccessibilityObject::selectedTabItem): Deleted.
(WebCore::AccessibilityObject::layoutCount const): Deleted.
(WebCore::AccessibilityObject::estimatedLoadingProgress const): Deleted.
(WebCore::AccessibilityObject::supportsARIAOwns const): Deleted.
(WebCore::AccessibilityObject::hasPopup const): Deleted.
(WebCore::AccessibilityObject::canvasHasFallbackContent const): Deleted.
(WebCore::AccessibilityObject::supportsARIADropping const): Deleted.
(WebCore::AccessibilityObject::supportsARIADragging const): Deleted.
(WebCore::AccessibilityObject::isARIAGrabbed): Deleted.
(WebCore::AccessibilityObject::setARIAGrabbed): Deleted.
(WebCore::AccessibilityObject::determineARIADropEffects): Deleted.
(WebCore::AccessibilityObject::firstChild const): Deleted.
(WebCore::AccessibilityObject::lastChild const): Deleted.
(WebCore::AccessibilityObject::previousSibling const): Deleted.
(WebCore::AccessibilityObject::nextSibling const): Deleted.
(WebCore::AccessibilityObject::parentObject const): Deleted.
(WebCore::AccessibilityObject::parentObjectIfExists const): Deleted.
(WebCore::AccessibilityObject::isDescendantOfBarrenParent const): Deleted.
(WebCore::AccessibilityObject::observableObject const): Deleted.
(WebCore::AccessibilityObject::linkedUIElements const): Deleted.
(WebCore::AccessibilityObject::titleUIElement const): Deleted.
(WebCore::AccessibilityObject::exposesTitleUIElement const): Deleted.
(WebCore::AccessibilityObject::correspondingLabelForControlElement const): Deleted.
(WebCore::AccessibilityObject::correspondingControlForLabelElement const): Deleted.
(WebCore::AccessibilityObject::scrollBar): Deleted.
(WebCore::AccessibilityObject::ariaRoleAttribute const): Deleted.
(WebCore::AccessibilityObject::isPresentationalChildOfAriaRole const): Deleted.
(WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren const): Deleted.
(WebCore::AccessibilityObject::inheritsPresentationalRole const): Deleted.
(WebCore::AccessibilityObject::accessibilityText const): Deleted.
(WebCore::AccessibilityObject::setAccessibleName): Deleted.
(WebCore::AccessibilityObject::accessibilityDescription const): Deleted.
(WebCore::AccessibilityObject::title const): Deleted.
(WebCore::AccessibilityObject::helpText const): Deleted.
(WebCore::AccessibilityObject::isARIAStaticText const): Deleted.
(WebCore::AccessibilityObject::stringValue const): Deleted.
(WebCore::AccessibilityObject::textUnderElement const): Deleted.
(WebCore::AccessibilityObject::text const): Deleted.
(WebCore::AccessibilityObject::textLength const): Deleted.
(WebCore::AccessibilityObject::ariaLabeledByAttribute const): Deleted.
(WebCore::AccessibilityObject::ariaDescribedByAttribute const): Deleted.
(WebCore::AccessibilityObject::expandedTextValue const): Deleted.
(WebCore::AccessibilityObject::supportsExpandedTextValue const): Deleted.
(WebCore::AccessibilityObject::colorValue const): Deleted.
(WebCore::AccessibilityObject::axObjectID const): Deleted.
(WebCore::AccessibilityObject::anchorElement const): Deleted.
(WebCore::AccessibilityObject::actionElement const): Deleted.
(WebCore::AccessibilityObject::boundingBoxRect const): Deleted.
(WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect const): Deleted.
(WebCore::AccessibilityObject::size const): Deleted.
(WebCore::AccessibilityObject::elementPath const): Deleted.
(WebCore::AccessibilityObject::supportsPath const): Deleted.
(WebCore::AccessibilityObject::selectedTextRange const): Deleted.
(WebCore::AccessibilityObject::selectionStart const): Deleted.
(WebCore::AccessibilityObject::selectionEnd const): Deleted.
(WebCore::AccessibilityObject::url const): Deleted.
(WebCore::AccessibilityObject::selection const): Deleted.
(WebCore::AccessibilityObject::selectedText const): Deleted.
(WebCore::AccessibilityObject::accessKey const): Deleted.
(WebCore::AccessibilityObject::widget const): Deleted.
(WebCore::AccessibilityObject::widgetForAttachmentView const): Deleted.
(WebCore::AccessibilityObject::hierarchicalLevel const): Deleted.
(WebCore::AccessibilityObject::setFocused): Deleted.
(WebCore::AccessibilityObject::setSelectedText): Deleted.
(WebCore::AccessibilityObject::setSelectedTextRange): Deleted.
(WebCore::AccessibilityObject::setValue): Deleted.
(WebCore::AccessibilityObject::setSelected): Deleted.
(WebCore::AccessibilityObject::setSelectedRows): Deleted.
(WebCore::AccessibilityObject::makeRangeVisible): Deleted.
(WebCore::AccessibilityObject::performDefaultAction): Deleted.
(WebCore::AccessibilityObject::increment): Deleted.
(WebCore::AccessibilityObject::decrement): Deleted.
(WebCore::AccessibilityObject::childrenChanged): Deleted.
(WebCore::AccessibilityObject::textChanged): Deleted.
(WebCore::AccessibilityObject::updateAccessibilityRole): Deleted.
(WebCore::AccessibilityObject::addChildren): Deleted.
(WebCore::AccessibilityObject::shouldIgnoreAttributeRole const): Deleted.
(WebCore::AccessibilityObject::canHaveChildren const): Deleted.
(WebCore::AccessibilityObject::hasChildren const): Deleted.
(WebCore::AccessibilityObject::setNeedsToUpdateChildren): Deleted.
(WebCore::AccessibilityObject::setNeedsToUpdateSubtree): Deleted.
(WebCore::AccessibilityObject::needsToUpdateChildren const): Deleted.
(WebCore::AccessibilityObject::detachFromParent): Deleted.
(WebCore::AccessibilityObject::isDetachedFromParent): Deleted.
(WebCore::AccessibilityObject::canHaveSelectedChildren const): Deleted.
(WebCore::AccessibilityObject::selectedChildren): Deleted.
(WebCore::AccessibilityObject::visibleChildren): Deleted.
(WebCore::AccessibilityObject::tabChildren): Deleted.
(WebCore::AccessibilityObject::shouldFocusActiveDescendant const): Deleted.
(WebCore::AccessibilityObject::activeDescendant const): Deleted.
(WebCore::AccessibilityObject::handleActiveDescendantChanged): Deleted.
(WebCore::AccessibilityObject::handleAriaExpandedChanged): Deleted.
(WebCore::AccessibilityObject::visiblePositionRange const): Deleted.
(WebCore::AccessibilityObject::visiblePositionRangeForLine const): Deleted.
(WebCore::AccessibilityObject::boundsForVisiblePositionRange const): Deleted.
(WebCore::AccessibilityObject::boundsForRange const): Deleted.
(WebCore::AccessibilityObject::setSelectedVisiblePositionRange const): Deleted.
(WebCore::AccessibilityObject::visiblePositionForPoint const): Deleted.
(WebCore::AccessibilityObject::nextVisiblePosition const): Deleted.
(WebCore::AccessibilityObject::previousVisiblePosition const): Deleted.
(WebCore::AccessibilityObject::visiblePositionForIndex const): Deleted.
(WebCore::AccessibilityObject::indexForVisiblePosition const): Deleted.
(WebCore::AccessibilityObject::index const): Deleted.
(WebCore::AccessibilityObject::lineBreaks const): Deleted.
(WebCore::AccessibilityObject::doAXRangeForLine const): Deleted.
(WebCore::AccessibilityObject::doAXRangeForIndex const): Deleted.
(WebCore::AccessibilityObject::doAXStringForRange const): Deleted.
(WebCore::AccessibilityObject::doAXBoundsForRange const): Deleted.
(WebCore::AccessibilityObject::doAXBoundsForRangeUsingCharacterOffset const): Deleted.
(WebCore::AccessibilityObject::stringValueForMSAA const): Deleted.
(WebCore::AccessibilityObject::stringRoleForMSAA const): Deleted.
(WebCore::AccessibilityObject::nameForMSAA const): Deleted.
(WebCore::AccessibilityObject::descriptionForMSAA const): Deleted.
(WebCore::AccessibilityObject::roleValueForMSAA const): Deleted.
(WebCore::AccessibilityObject::passwordFieldValue const): Deleted.
(WebCore::AccessibilityObject::liveRegionStatus const): Deleted.
(WebCore::AccessibilityObject::liveRegionRelevant const): Deleted.
(WebCore::AccessibilityObject::liveRegionAtomic const): Deleted.
(WebCore::AccessibilityObject::isBusy const): Deleted.
(WebCore::AccessibilityObject::speakAsProperty const): Deleted.
(WebCore::AccessibilityObject::isMathElement const): Deleted.
(WebCore::AccessibilityObject::isMathFraction const): Deleted.
(WebCore::AccessibilityObject::isMathFenced const): Deleted.
(WebCore::AccessibilityObject::isMathSubscriptSuperscript const): Deleted.
(WebCore::AccessibilityObject::isMathRow const): Deleted.
(WebCore::AccessibilityObject::isMathUnderOver const): Deleted.
(WebCore::AccessibilityObject::isMathRoot const): Deleted.
(WebCore::AccessibilityObject::isMathSquareRoot const): Deleted.
(WebCore::AccessibilityObject::isMathText const): Deleted.
(WebCore::AccessibilityObject::isMathNumber const): Deleted.
(WebCore::AccessibilityObject::isMathOperator const): Deleted.
(WebCore::AccessibilityObject::isMathFenceOperator const): Deleted.
(WebCore::AccessibilityObject::isMathSeparatorOperator const): Deleted.
(WebCore::AccessibilityObject::isMathIdentifier const): Deleted.
(WebCore::AccessibilityObject::isMathTable const): Deleted.
(WebCore::AccessibilityObject::isMathTableRow const): Deleted.
(WebCore::AccessibilityObject::isMathTableCell const): Deleted.
(WebCore::AccessibilityObject::isMathMultiscript const): Deleted.
(WebCore::AccessibilityObject::isMathToken const): Deleted.
(WebCore::AccessibilityObject::isMathScriptObject const): Deleted.
(WebCore::AccessibilityObject::isMathMultiscriptObject const): Deleted.
(WebCore::AccessibilityObject::mathRadicandObject): Deleted.
(WebCore::AccessibilityObject::mathRootIndexObject): Deleted.
(WebCore::AccessibilityObject::mathUnderObject): Deleted.
(WebCore::AccessibilityObject::mathOverObject): Deleted.
(WebCore::AccessibilityObject::mathNumeratorObject): Deleted.
(WebCore::AccessibilityObject::mathDenominatorObject): Deleted.
(WebCore::AccessibilityObject::mathBaseObject): Deleted.
(WebCore::AccessibilityObject::mathSubscriptObject): Deleted.
(WebCore::AccessibilityObject::mathSuperscriptObject): Deleted.
(WebCore::AccessibilityObject::mathFencedOpenString const): Deleted.
(WebCore::AccessibilityObject::mathFencedCloseString const): Deleted.
(WebCore::AccessibilityObject::mathLineThickness const): Deleted.
(WebCore::AccessibilityObject::isAnonymousMathOperator const): Deleted.
(WebCore::AccessibilityObject::mathPrescripts): Deleted.
(WebCore::AccessibilityObject::mathPostscripts): Deleted.
(WebCore::AccessibilityObject::isHidden const): Deleted.
(WebCore::AccessibilityObject::setWrapper): Deleted.
(WebCore::AccessibilityObject::overrideAttachmentParent): Deleted.
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment const): Deleted.
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const): Deleted.
(WebCore::AccessibilityObject::clearIsIgnoredFromParentData): Deleted.
(WebCore::AccessibilityObject::setIsIgnoredFromParentData): Deleted.
(WebCore::AccessibilityObject::children): Deleted.
(WebCore::AccessibilityObject::updateBackingStore): Deleted.

  • accessibility/AccessibilityObjectInterface.h:

(WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
(WebCore::AccessibilitySearchTextCriteria::AccessibilitySearchTextCriteria):
(WebCore::AccessibilityTextOperation::AccessibilityTextOperation):
(WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
(WebCore::PlainTextRange::PlainTextRange):
(WebCore::PlainTextRange::isNull const):
(WebCore::VisiblePositionRange::VisiblePositionRange):
(WebCore::VisiblePositionRange::isNull const):
(WebCore::AccessibilityIsIgnoredFromParentData::AccessibilityIsIgnoredFromParentData):
(WebCore::AccessibilityIsIgnoredFromParentData::isNull const):
(WebCore::AccessibilityObjectInterface::isAccessibilityObject const): Deleted.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::addRadioButtonGroupChildren const):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
(WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest const):
(WebCore::AccessibilityRenderObject::remoteSVGElementHitTest const):
(WebCore::AccessibilityRenderObject::elementAccessibilityHitTest const):
(WebCore::AccessibilityRenderObject::accessibilityHitTest const):
(WebCore::AccessibilityRenderObject::addImageMapChildren):
(WebCore::AccessibilityRenderObject::addHiddenChildren):
(WebCore::AccessibilityRenderObject::selectedChildren):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::accessibilityHitTest const):

  • accessibility/AccessibilityScrollView.h:
  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::addChildren):
(WebCore::AccessibilitySlider::elementAccessibilityHitTest const):

  • accessibility/AccessibilitySlider.h:
  • accessibility/AccessibilitySpinButton.cpp:

(WebCore::AccessibilitySpinButton::incrementButton):
(WebCore::AccessibilitySpinButton::decrementButton):

  • accessibility/AccessibilitySpinButton.h:
  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::cellForColumnAndRow):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentRow const):

  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):

  • accessibility/AccessibilityTableColumn.h:
  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::headerObject):

  • accessibility/AccessibilityTableRow.h:
  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::getListObject):
(WebCore::notifyChildrenSelectionChange):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):

  • accessibility/atk/WebKitAccessible.cpp:

(interfaceMaskFromObject):

  • accessibility/atk/WebKitAccessibleHyperlink.cpp:

(rangeLengthForObject):
(webkitAccessibleHyperlinkGetStartIndex):
(webkitAccessibleHyperlinkGetEndIndex):

  • accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:

(webkitAccessibleHypertextGetLink):
(webkitAccessibleHypertextGetNLinks):

  • accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:

(listObjectForCoreSelection):
(optionFromList):
(optionFromSelection):
(webkitAccessibleSelectionAddSelection):
(webkitAccessibleSelectionRefSelection):
(webkitAccessibleSelectionIsChildSelected):
(webkitAccessibleSelectionRemoveSelection):

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(offsetAdjustmentForListItem):
(webCoreOffsetToAtkOffset):
(webkitAccessibleTextGetCaretOffset):

  • accessibility/atk/WebKitAccessibleUtil.cpp:

(objectFocusedAndCaretOffsetUnignored):

  • accessibility/atk/WebKitAccessibleUtil.h:
  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/ios/AccessibilityObjectIOS.mm:

(WebCore::AccessibilityObject::overrideAttachmentParent):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(AccessibilityUnignoredAncestor):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
(-[WebAccessibilityObjectWrapper accessibilityContainer]):
(-[WebAccessibilityObjectWrapper accessibilityLinkedElement]):

  • accessibility/isolatedtree/AXIsolatedTreeNode.cpp:

(WebCore::AXIsolatedTreeNode::focusedUIElement const):
(WebCore::AXIsolatedTreeNode::parentObjectInterfaceUnignored const):
(WebCore::AXIsolatedTreeNode::accessibilityHitTest const):

  • accessibility/isolatedtree/AXIsolatedTreeNode.h:
  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::overrideAttachmentParent):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.h:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(addChildToArray):
(-[WebAccessibilityObjectWrapperBase initWithAccessibilityObject:]):
(-[WebAccessibilityObjectWrapperBase axBackingObject]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):

  • accessibility/win/AXObjectCacheWin.cpp:
  • editing/atk/FrameSelectionAtk.cpp:

(WebCore::emitTextSelectionChange):
(WebCore::maybeEmitTextFocusChange):
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):

  • inspector/InspectorAuditAccessibilityObject.cpp:

(WebCore::accessiblityObjectForNode):
(WebCore::InspectorAuditAccessibilityObject::getElementsByComputedRole):
(WebCore::InspectorAuditAccessibilityObject::getActiveDescendant):
(WebCore::addChildren):
(WebCore::InspectorAuditAccessibilityObject::getChildNodes):
(WebCore::InspectorAuditAccessibilityObject::getComputedProperties):
(WebCore::InspectorAuditAccessibilityObject::getControlledNodes):
(WebCore::InspectorAuditAccessibilityObject::getFlowedNodes):
(WebCore::InspectorAuditAccessibilityObject::getMouseEventNode):
(WebCore::InspectorAuditAccessibilityObject::getOwnedNodes):
(WebCore::InspectorAuditAccessibilityObject::getParentNode):
(WebCore::InspectorAuditAccessibilityObject::getSelectedChildNodes):

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/agents/InspectorDOMAgent.h:

Source/WebKit:

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKAccessibilityRootObject):
(WKAccessibilityFocusedObject):

1:19 PM Changeset in webkit [251797] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

[Picture-in-Picture Web API] Implement PictureInPictureWindow
https://bugs.webkit.org/show_bug.cgi?id=202615

Unreviewed test gardening.

Patch by Peng Liu <Peng Liu> on 2019-10-30

  • platform/mac-wk2/TestExpectations:
1:13 PM Changeset in webkit [251796] by Antti Koivisto
  • 24 edits
    1 copy
    2 adds in trunk/Source/WebCore

Move style building state to a class of its own
https://bugs.webkit.org/show_bug.cgi?id=203562

Reviewed by Zalan Bujtas.

Move most of the state needed for applying properties from StyleResolver::State and PropertyCascade::ApplyState to
new Style::BuilderState. Pass BuilderState around in all functions invoked during style building
instead of StyleResolver.

Unlike StyleResolver, BuilderState is a stack-allocated object that exists during style building only.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::CSSToStyleMap):
(WebCore::CSSToStyleMap::style const):
(WebCore::CSSToStyleMap::useSVGZoomRules const):
(WebCore::CSSToStyleMap::styleImage):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
(WebCore::CSSToStyleMap::rootElementStyle const): Deleted.

  • css/CSSToStyleMap.h:
  • css/CSSVariableReferenceValue.cpp:

(WebCore::resolveVariableFallback):
(WebCore::resolveVariableReference):
(WebCore::resolveTokenRange):
(WebCore::CSSVariableReferenceValue::resolveVariableReferences const):

  • css/CSSVariableReferenceValue.h:
  • css/DOMCSSRegisterCustomProperty.cpp:

(WebCore::DOMCSSRegisterCustomProperty::registerProperty):

  • css/StyleBuilder.h:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertLength):
(WebCore::StyleBuilderConverter::convertLengthOrAuto):
(WebCore::StyleBuilderConverter::convertLengthSizing):
(WebCore::StyleBuilderConverter::convertLengthMaxSizing):
(WebCore::StyleBuilderConverter::convertTabSize):
(WebCore::StyleBuilderConverter::convertComputedLength):
(WebCore::StyleBuilderConverter::convertLineWidth):
(WebCore::StyleBuilderConverter::convertSpacing):
(WebCore::StyleBuilderConverter::convertRadius):
(WebCore::StyleBuilderConverter::convertPositionComponentX):
(WebCore::StyleBuilderConverter::convertPositionComponentY):
(WebCore::StyleBuilderConverter::convertPositionComponent):
(WebCore::StyleBuilderConverter::convertObjectPosition):
(WebCore::StyleBuilderConverter::convertTextDecoration):
(WebCore::StyleBuilderConverter::convertNumber):
(WebCore::StyleBuilderConverter::convertNumberOrAuto):
(WebCore::StyleBuilderConverter::convertWebkitHyphenateLimitLines):
(WebCore::StyleBuilderConverter::convertBorderImage):
(WebCore::StyleBuilderConverter::convertBorderMask):
(WebCore::StyleBuilderConverter::convertStyleImage):
(WebCore::StyleBuilderConverter::convertTransform):
(WebCore::StyleBuilderConverter::convertColorScheme):
(WebCore::StyleBuilderConverter::convertString):
(WebCore::StyleBuilderConverter::convertStringOrAuto):
(WebCore::StyleBuilderConverter::convertStringOrNone):
(WebCore::StyleBuilderConverter::convertTextEmphasisPosition):
(WebCore::StyleBuilderConverter::convertTextAlign):
(WebCore::StyleBuilderConverter::convertClipPath):
(WebCore::StyleBuilderConverter::convertResize):
(WebCore::StyleBuilderConverter::convertMarqueeRepetition):
(WebCore::StyleBuilderConverter::convertMarqueeSpeed):
(WebCore::StyleBuilderConverter::convertQuotes):
(WebCore::StyleBuilderConverter::convertTextUnderlinePosition):
(WebCore::StyleBuilderConverter::convertTextUnderlineOffset):
(WebCore::StyleBuilderConverter::convertTextDecorationThickness):
(WebCore::StyleBuilderConverter::convertReflection):
(WebCore::StyleBuilderConverter::convertInitialLetter):
(WebCore::StyleBuilderConverter::convertTextStrokeWidth):
(WebCore::StyleBuilderConverter::convertLineBoxContain):
(WebCore::StyleBuilderConverter::convertTextDecorationSkip):
(WebCore::StyleBuilderConverter::convertShapeValue):
(WebCore::StyleBuilderConverter::convertScrollSnapType):
(WebCore::StyleBuilderConverter::convertScrollSnapAlign):
(WebCore::StyleBuilderConverter::createGridTrackBreadth):
(WebCore::StyleBuilderConverter::createGridTrackSize):
(WebCore::StyleBuilderConverter::createGridTrackList):
(WebCore::StyleBuilderConverter::convertGridTrackSizeList):
(WebCore::StyleBuilderConverter::convertGridTrackSize):
(WebCore::StyleBuilderConverter::convertGridPosition):
(WebCore::StyleBuilderConverter::convertGridAutoFlow):
(WebCore::StyleBuilderConverter::csstoLengthConversionDataWithTextZoomFactor):
(WebCore::StyleBuilderConverter::convertWordSpacing):
(WebCore::StyleBuilderConverter::convertPerspective):
(WebCore::StyleBuilderConverter::convertMarqueeIncrement):
(WebCore::StyleBuilderConverter::convertFilterOperations):
(WebCore::StyleBuilderConverter::convertFontFeatureSettings):
(WebCore::StyleBuilderConverter::convertFontWeight):
(WebCore::StyleBuilderConverter::convertFontStretch):
(WebCore::StyleBuilderConverter::convertFontVariationSettings):
(WebCore::StyleBuilderConverter::convertTouchCallout):
(WebCore::StyleBuilderConverter::convertTapHighlightColor):
(WebCore::StyleBuilderConverter::convertTouchAction):
(WebCore::StyleBuilderConverter::convertOverflowScrolling):
(WebCore::StyleBuilderConverter::convertSVGLengthValue):
(WebCore::StyleBuilderConverter::convertSVGLengthVector):
(WebCore::StyleBuilderConverter::convertStrokeDashArray):
(WebCore::StyleBuilderConverter::convertPaintOrder):
(WebCore::StyleBuilderConverter::convertOpacity):
(WebCore::StyleBuilderConverter::convertSVGURIReference):
(WebCore::StyleBuilderConverter::convertSVGColor):
(WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData):
(WebCore::StyleBuilderConverter::convertContentAlignmentData):
(WebCore::StyleBuilderConverter::convertGlyphOrientation):
(WebCore::StyleBuilderConverter::convertGlyphOrientationOrAuto):
(WebCore::StyleBuilderConverter::convertLineHeight):
(WebCore::StyleBuilderConverter::convertFontSynthesis):
(WebCore::StyleBuilderConverter::convertSpeakAs):
(WebCore::StyleBuilderConverter::convertHangingPunctuation):
(WebCore::StyleBuilderConverter::convertGapLength):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialWebkitMaskImage):
(WebCore::StyleBuilderCustom::applyInheritWebkitMaskImage):
(WebCore::StyleBuilderCustom::applyInitialFontFeatureSettings):
(WebCore::StyleBuilderCustom::applyInheritFontFeatureSettings):
(WebCore::StyleBuilderCustom::applyInitialFontVariationSettings):
(WebCore::StyleBuilderCustom::applyInheritFontVariationSettings):
(WebCore::StyleBuilderCustom::applyValueDirection):
(WebCore::StyleBuilderCustom::applyInitialTextAlign):
(WebCore::StyleBuilderCustom::applyValueTextAlign):
(WebCore::StyleBuilderCustom::resetEffectiveZoom):
(WebCore::StyleBuilderCustom::applyInitialZoom):
(WebCore::StyleBuilderCustom::applyInheritZoom):
(WebCore::StyleBuilderCustom::applyValueZoom):
(WebCore::StyleBuilderCustom::applyValueVerticalAlign):
(WebCore::StyleBuilderCustom::applyInheritImageResolution):
(WebCore::StyleBuilderCustom::applyInitialImageResolution):
(WebCore::StyleBuilderCustom::applyValueImageResolution):
(WebCore::StyleBuilderCustom::applyInheritSize):
(WebCore::StyleBuilderCustom::applyInitialSize):
(WebCore::StyleBuilderCustom::applyValueSize):
(WebCore::StyleBuilderCustom::applyInheritTextIndent):
(WebCore::StyleBuilderCustom::applyInitialTextIndent):
(WebCore::StyleBuilderCustom::applyValueTextIndent):
(WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
(WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
(WebCore::ApplyPropertyBorderImageModifier::applyValue):
(WebCore::ApplyPropertyBorderImageModifier::getValue):
(WebCore::ApplyPropertyBorderImageModifier::setValue):
(WebCore::StyleBuilderCustom::applyInheritLineHeight):
(WebCore::StyleBuilderCustom::applyInitialLineHeight):
(WebCore::StyleBuilderCustom::applyValueLineHeight):
(WebCore::StyleBuilderCustom::applyInheritOutlineStyle):
(WebCore::StyleBuilderCustom::applyInitialOutlineStyle):
(WebCore::StyleBuilderCustom::applyValueOutlineStyle):
(WebCore::StyleBuilderCustom::applyInitialClip):
(WebCore::StyleBuilderCustom::applyInheritClip):
(WebCore::StyleBuilderCustom::applyValueClip):
(WebCore::StyleBuilderCustom::applyValueWebkitLocale):
(WebCore::StyleBuilderCustom::applyValueWritingMode):
(WebCore::StyleBuilderCustom::applyValueWebkitTextOrientation):
(WebCore::StyleBuilderCustom::applyValueWebkitTextSizeAdjust):
(WebCore::StyleBuilderCustom::applyValueWebkitTextZoom):
(WebCore::StyleBuilderCustom::applyValueColorScheme):
(WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
(WebCore::StyleBuilderCustom::applyInitialTextShadow):
(WebCore::StyleBuilderCustom::applyInheritTextShadow):
(WebCore::StyleBuilderCustom::applyValueTextShadow):
(WebCore::StyleBuilderCustom::applyInitialBoxShadow):
(WebCore::StyleBuilderCustom::applyInheritBoxShadow):
(WebCore::StyleBuilderCustom::applyValueBoxShadow):
(WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyInitialFontFamily):
(WebCore::StyleBuilderCustom::applyInheritFontFamily):
(WebCore::StyleBuilderCustom::applyValueFontFamily):
(WebCore::StyleBuilderCustom::isValidDisplayValue):
(WebCore::StyleBuilderCustom::applyInheritDisplay):
(WebCore::StyleBuilderCustom::applyValueDisplay):
(WebCore::StyleBuilderCustom::applyValueBaselineShift):
(WebCore::StyleBuilderCustom::applyInitialWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle):
(WebCore::StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle):
(WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):
(WebCore::StyleBuilderCustom::applyInheritCounter):
(WebCore::StyleBuilderCustom::applyValueCounter):
(WebCore::StyleBuilderCustom::applyInitialCounterIncrement):
(WebCore::StyleBuilderCustom::applyInheritCounterIncrement):
(WebCore::StyleBuilderCustom::applyValueCounterIncrement):
(WebCore::StyleBuilderCustom::applyInitialCounterReset):
(WebCore::StyleBuilderCustom::applyInheritCounterReset):
(WebCore::StyleBuilderCustom::applyValueCounterReset):
(WebCore::StyleBuilderCustom::applyInitialCursor):
(WebCore::StyleBuilderCustom::applyInheritCursor):
(WebCore::StyleBuilderCustom::applyValueCursor):
(WebCore::StyleBuilderCustom::applyInitialFill):
(WebCore::StyleBuilderCustom::applyInheritFill):
(WebCore::StyleBuilderCustom::applyValueFill):
(WebCore::StyleBuilderCustom::applyInitialStroke):
(WebCore::StyleBuilderCustom::applyInheritStroke):
(WebCore::StyleBuilderCustom::applyValueStroke):
(WebCore::StyleBuilderCustom::applyInitialContent):
(WebCore::StyleBuilderCustom::applyInheritContent):
(WebCore::StyleBuilderCustom::applyValueContent):
(WebCore::StyleBuilderCustom::applyInheritFontVariantLigatures):
(WebCore::StyleBuilderCustom::applyInitialFontVariantLigatures):
(WebCore::StyleBuilderCustom::applyValueFontVariantLigatures):
(WebCore::StyleBuilderCustom::applyInheritFontVariantNumeric):
(WebCore::StyleBuilderCustom::applyInitialFontVariantNumeric):
(WebCore::StyleBuilderCustom::applyValueFontVariantNumeric):
(WebCore::StyleBuilderCustom::applyInheritFontVariantEastAsian):
(WebCore::StyleBuilderCustom::applyInitialFontVariantEastAsian):
(WebCore::StyleBuilderCustom::applyValueFontVariantEastAsian):
(WebCore::StyleBuilderCustom::applyInitialFontSize):
(WebCore::StyleBuilderCustom::applyInheritFontSize):
(WebCore::StyleBuilderCustom::determineRubyTextSizeMultiplier):
(WebCore::StyleBuilderCustom::applyInitialFontStyle):
(WebCore::StyleBuilderCustom::applyInheritFontStyle):
(WebCore::StyleBuilderCustom::applyValueFontStyle):
(WebCore::StyleBuilderCustom::applyValueFontSize):
(WebCore::StyleBuilderCustom::applyInitialGridTemplateAreas):
(WebCore::StyleBuilderCustom::applyInheritGridTemplateAreas):
(WebCore::StyleBuilderCustom::applyValueGridTemplateAreas):
(WebCore::StyleBuilderCustom::applyInitialGridTemplateColumns):
(WebCore::StyleBuilderCustom::applyInheritGridTemplateColumns):
(WebCore::StyleBuilderCustom::applyValueGridTemplateColumns):
(WebCore::StyleBuilderCustom::applyInitialGridTemplateRows):
(WebCore::StyleBuilderCustom::applyInheritGridTemplateRows):
(WebCore::StyleBuilderCustom::applyValueGridTemplateRows):
(WebCore::StyleBuilderCustom::applyValueAlt):
(WebCore::StyleBuilderCustom::applyValueWillChange):
(WebCore::StyleBuilderCustom::applyValueStrokeWidth):
(WebCore::StyleBuilderCustom::applyValueStrokeColor):
(WebCore::StyleBuilderCustom::applyInitialCustomProperty):
(WebCore::StyleBuilderCustom::applyInheritCustomProperty):
(WebCore::StyleBuilderCustom::applyValueCustomProperty):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::updateFont):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::StyleResolver::initializeFontStyle):

  • css/StyleResolver.h:

(WebCore::StyleResolver::inspectorCSSOMWrappers):
(WebCore::StyleResolver::State::setApplyPropertyToRegularStyle): Deleted.
(WebCore::StyleResolver::State::setApplyPropertyToVisitedLinkStyle): Deleted.
(WebCore::StyleResolver::State::applyPropertyToRegularStyle const): Deleted.
(WebCore::StyleResolver::State::applyPropertyToVisitedLinkStyle const): Deleted.
(WebCore::StyleResolver::State::setFontDirty): Deleted.
(WebCore::StyleResolver::State::fontDirty const): Deleted.
(WebCore::StyleResolver::State::fontDescription): Deleted.
(WebCore::StyleResolver::State::parentFontDescription): Deleted.
(WebCore::StyleResolver::State::setFontDescription): Deleted.
(WebCore::StyleResolver::State::setZoom): Deleted.
(WebCore::StyleResolver::State::setEffectiveZoom): Deleted.
(WebCore::StyleResolver::State::setWritingMode): Deleted.
(WebCore::StyleResolver::State::setTextOrientation): Deleted.
(WebCore::StyleResolver::State::cascadeLevel const): Deleted.
(WebCore::StyleResolver::State::setCascadeLevel): Deleted.
(WebCore::StyleResolver::State::styleScopeOrdinal const): Deleted.
(WebCore::StyleResolver::State::setStyleScopeOrdinal): Deleted.
(WebCore::StyleResolver::applyPropertyToRegularStyle const): Deleted.
(WebCore::StyleResolver::applyPropertyToVisitedLinkStyle const): Deleted.
(WebCore::StyleResolver::styleMap): Deleted.
(WebCore::StyleResolver::fontDescription): Deleted.
(WebCore::StyleResolver::parentFontDescription): Deleted.
(WebCore::StyleResolver::setFontDescription): Deleted.
(WebCore::StyleResolver::setZoom): Deleted.
(WebCore::StyleResolver::setEffectiveZoom): Deleted.
(WebCore::StyleResolver::setWritingMode): Deleted.
(WebCore::StyleResolver::setTextOrientation): Deleted.

  • css/makeprop.pl:

(getAutoGetter):
(getAutoSetter):
(getVisitedLinkSetter):
(colorFromPrimitiveValue):
(generateColorValueSetter):
(handleCurrentColorValue):
(generateAnimationPropertyInitialValueSetter):
(generateAnimationPropertyInheritValueSetter):
(generateAnimationPropertyValueSetter):
(generateFillLayerPropertyInitialValueSetter):
(generateFillLayerPropertyInheritValueSetter):
(generateFillLayerPropertyValueSetter):
(generateSetValueStatement):
(generateInitialValueSetter):
(generateInheritValueSetter):
(generateValueSetter):

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • css/parser/CSSParser.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseTypedCustomPropertyValue):

  • css/parser/CSSPropertyParser.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::builderState):
(WebCore::GraphicsContext::applyState): Deleted.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/displaylists/DisplayListItems.h:
  • style/CascadeLevel.h: Copied from Source/WebCore/css/StyleBuilder.h.

(WebCore::Style::allCascadeLevels):

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::PropertyCascade):
(WebCore::Style::PropertyCascade::applyPropertiesImpl):
(WebCore::Style::PropertyCascade::applyCustomProperty):
(WebCore::Style::PropertyCascade::applyProperty):
(WebCore::Style::PropertyCascade::resolveValue):
(WebCore::Style::PropertyCascade::resolvedVariableValue):
(WebCore::Style::PropertyCascade::resolveDirectionAndWritingMode):

  • style/PropertyCascade.h:

(WebCore::Style::PropertyCascade::builderState):
(WebCore::Style::allCascadeLevels): Deleted.
(WebCore::Style::PropertyCascade::styleResolver): Deleted.

  • style/StyleBuilderState.cpp: Added.

(WebCore::Style::BuilderState::BuilderState):
(WebCore::Style::BuilderState::useSVGZoomRules const):
(WebCore::Style::BuilderState::useSVGZoomRulesForLength const):
(WebCore::Style::BuilderState::createStyleImage):
(WebCore::Style::BuilderState::createFilterOperations):
(WebCore::Style::BuilderState::colorFromPrimitiveValue const):
(WebCore::Style::BuilderState::setFontSize):

  • style/StyleBuilderState.h: Added.

(WebCore::Style::BuilderState::cascade):
(WebCore::Style::BuilderState::styleResolver):
(WebCore::Style::BuilderState::style):
(WebCore::Style::BuilderState::parentStyle const):
(WebCore::Style::BuilderState::rootElementStyle const):
(WebCore::Style::BuilderState::document const):
(WebCore::Style::BuilderState::element const):
(WebCore::Style::BuilderState::setFontDescription):
(WebCore::Style::BuilderState::setZoom):
(WebCore::Style::BuilderState::setEffectiveZoom):
(WebCore::Style::BuilderState::setWritingMode):
(WebCore::Style::BuilderState::setTextOrientation):
(WebCore::Style::BuilderState::fontDirty const):
(WebCore::Style::BuilderState::setFontDirty):
(WebCore::Style::BuilderState::clearFontDirty):
(WebCore::Style::BuilderState::fontDescription):
(WebCore::Style::BuilderState::parentFontDescription):
(WebCore::Style::BuilderState::applyPropertyToRegularStyle const):
(WebCore::Style::BuilderState::applyPropertyToVisitedLinkStyle const):
(WebCore::Style::BuilderState::styleScopeOrdinal const):
(WebCore::Style::BuilderState::cssToLengthConversionData const):
(WebCore::Style::BuilderState::styleMap):

1:09 PM Changeset in webkit [251795] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix reversed assertion landed in r251778.

  • UIProcess/ProcessThrottler.h:

(WebKit::ProcessThrottler::Activity::invalidate):

1:07 PM Changeset in webkit [251794] by achristensen@apple.com
  • 13 edits in branches/safari-608-branch

Branch build fix after r251754
https://bugs.webkit.org/show_bug.cgi?id=191523
<rdar://problem/56579665>

Source/WebKit:

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::cancelRequest):
(WebKit::AuthenticatorManager::runPanel):

  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:

(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):

  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didDestroyFrame):

Tools:

  • TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
  • TestWebKitAPI/WKWebViewConfigurationExtras.h:
  • TestWebKitAPI/WKWebViewConfigurationExtras.mm:

(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:]):

12:43 PM Changeset in webkit [251793] by Jonathan Bedard
  • 2 edits in trunk/Tools

Simulator testers are filling up
https://bugs.webkit.org/show_bug.cgi?id=203056
<rdar://problem/56344905>

Reviewed by Aakash Jain.

  • Scripts/webkitpy/xcode/simulated_device.py:

(SimulatedDeviceManager.tear_down): Remove some CoreSimulator temporary directories
after tearing down devices.

12:37 PM Changeset in webkit [251792] by rniwa@webkit.org
  • 14 edits
    2 copies in trunk/Source/WebCore

Introduce WorkerEventLoop and use it in FetchBodyOwner::runNetworkTaskWhenPossible
https://bugs.webkit.org/show_bug.cgi?id=203526

Reviewed by Chris Dumez.

Added WorkerEventLoop to implement the worker event loop:
https://html.spec.whatwg.org/multipage/webappapis.html#worker-event-loop-2

Each ScriptExecutionContext now returns an AbstractEventLoop so the code that may run in either
main thread or a worker thread can simply get the event loop object via ScriptExecutionContext.

For now, WorkerEventLoop also implements the worklet event loop:
https://html.spec.whatwg.org/multipage/webappapis.html#worklet-event-loop

WorkerEventLoop is an active DOM object since it's used by at most one ScriptExecutionContext
unlike WindowEventLoop, which can be shared by multiple documents and needs a custom logic to
suspend and resume a subset of tasks enqueued to the event loop.

No new tests since there should be no behavioral change for now.

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::runNetworkTaskWhenPossible): Use WorkerEventLoop.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/AbstractEventLoop.h:

(WebCore::AbstractEventLoop::suspend): Removed since it's not needed for WorkerEventLoop.
(WebCore::AbstractEventLoop::resume): Ditto.

  • dom/Document.cpp:

(WebCore::Document::eventLoop): Returns AbstractEventLoop as it now overrides the abstract
member function defined in AbstractEventLoop.

  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
  • dom/WindowEventLoop.cpp:

(WebCore::WindowEventLoop::suspend):
(WebCore::WindowEventLoop::resume):

  • dom/WindowEventLoop.h:
  • workers/WorkerEventLoop.cpp: Added.

(WebCore::WorkerEventLoop::create): Added.
(WebCore::WorkerEventLoop::WorkerEventLoop): Added.
(WebCore::WorkerEventLoop::queueTask): Added.
(WebCore::WorkerEventLoop::hasPendingActivity const): Added.
(WebCore::WorkerEventLoop::activeDOMObjectName const): Added.
(WebCore::WorkerEventLoop::suspend): Added.
(WebCore::WorkerEventLoop::resume): Added. Unlike WindowEventLoop, we only need to check
whether m_tasks is empty or not since WorkerEventLoop is associated with at most one
ScriptExecutionContext as noted above.
(WebCore::WorkerEventLoop::stop): Added. Clear m_tasks to free memory as early as possible.
(WebCore::WorkerEventLoop::scheduleToRunIfNeeded): Added.
(WebCore::WorkerEventLoop::run): Added.

  • workers/WorkerEventLoop.h: Added.
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::eventLoop): Added.

  • workers/WorkerGlobalScope.h:
  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::eventLoop): Added. It returns WorkerEventLoop for now since
there is no implementation difference.

  • worklets/WorkletGlobalScope.h:
12:11 PM Changeset in webkit [251791] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix WatchOS build after r251778.

  • UIProcess/WebProcessProxy.h:
11:54 AM Changeset in webkit [251790] by mark.lam@apple.com
  • 2 edits in trunk/Tools

Gardening: fixing broken build.

Not reviewed.

JSON appears to not like commas at the end of the last element in an array.

  • Scripts/webkitpy/common/config/contributors.json:
11:45 AM Changeset in webkit [251789] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

[ Mac Debug ] (r251706) webanimations/empty-keyframes-crash.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=203588

Reviewed by Dean Jackson.

The KeyframeEffect for which the blending keyframes were generated for a CSS Transition could be applied to a different animation,
which is not a CSSTransition, which does not change the fact that we can blend the single CSS property with two fully-qualified
keyframes directly. So we can remove that assertion and simply check that we have a single CSS property instead and access the
single CSS property in the KeyframeList.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):

11:40 AM Changeset in webkit [251788] by Andres Gonzalez
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Adding Andres Gonzalez (myself) to contributors.json.

11:36 AM Changeset in webkit [251787] by Chris Dumez
  • 14 edits
    1 add in trunk

WKFrameIsDisplayingMarkupDocument() should return true after a window.open/document.write
https://bugs.webkit.org/show_bug.cgi?id=203587
<rdar://problem/56717726>

Reviewed by Alex Christensen.

Source/WebCore:

When doing a document.open(), we were propagating the document's URL to the UIProcess but not its
MIME type. WKFrameIsDisplayingMarkupDocument() was relying on this MIME type.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::didExplicitOpen):

  • loader/FrameLoaderClient.h:

Source/WebKit:

When doing a document.open(), we were propagating the document's URL to the UIProcess but not its
MIME type. WKFrameIsDisplayingMarkupDocument() was relying on this MIME type.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didExplicitOpen):

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

(WebKit::WebPageProxy::didExplicitOpenForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidExplicitOpen):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Tools:

Add API test coverage.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:

(TestWebKitAPI::createNewPageThenClose):
(TestWebKitAPI::TEST):
(TestWebKitAPI::createNewPage):

  • TestWebKitAPI/Tests/WebKit/window-open-then-document-open.html: Added.
11:32 AM Changeset in webkit [251786] by Chris Dumez
  • 8 edits
    2 adds in trunk

REGRESSION (r238252): HTTP POST is losing application/x-www-form-urlencoded body if there's a redirect to different host
https://bugs.webkit.org/show_bug.cgi?id=201950
<rdar://problem/55577782>

Reviewed by Alex Christensen.

Source/WebKit:

The resource request body was getting lost on cross-site redirects. This was caused by the fact that a cross-site
redirect would cause a process-swap and the request to start again from a new process. This would work fine if
the request does not have a body. However, we have an optimization in place which avoids encoding the request body
whenever it is sent over IPC. Because the WebResourceLoader::WillSendRequest IPC would not encode the request body,
any decision to process swap as a result of this IPC (i.e. redirect) would cause the new request in the new process
to be missing its body. To address the issue, we now make sure to pass the request body in the WillSendRequest IPC
and reconsile the request with its body on the recipient side.

Test: http/tests/misc/form-submit-file-cross-site-redirect.html

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::didReceiveRedirectResponse):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:

LayoutTests:

Add layout test coverage.

  • http/tests/misc/form-submit-file-cross-site-redirect-expected.txt: Added.
  • http/tests/misc/form-submit-file-cross-site-redirect.html: Added.
11:29 AM Changeset in webkit [251785] by graouts@webkit.org
  • 7 edits in trunk/Source/WebCore

[Web Animations] Precompute an animation effect's active duration and end time
https://bugs.webkit.org/show_bug.cgi?id=203611

Reviewed by Dean Jackson.

We would compute an animation effect's active duration and end time in AnimationEffect::getBasicTiming()
but these two properties could be computed ahead of time when the other static timing properties of an
animation effect are changed. This allows several calls sites to WebAnimation::effectEndTime() to no
longer require the dynamic computation of all the other timing properties in AnimationEffect::getBasicTiming(),
(local time, active time and phase) which need to be computed dynamically as they rely on the current
timeline time.

  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::getBasicTiming const):
(WebCore::AnimationEffect::getComputedTiming const):
(WebCore::AnimationEffect::updateTiming):
(WebCore::AnimationEffect::updateStaticTimingProperties):

  • animation/AnimationEffect.h:

(WebCore::AnimationEffect::activeDuration const):
(WebCore::AnimationEffect::endTime const):

  • animation/CSSAnimation.cpp:

(WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):

  • animation/CSSTransition.cpp:

(WebCore::CSSTransition::setTimingProperties):

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::copyPropertiesFromSource):

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::effectEndTime const):
(WebCore::WebAnimation::timeToNextTick const):

11:01 AM Changeset in webkit [251784] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

Enable Remote Playback API by default
https://bugs.webkit.org/show_bug.cgi?id=203595

Reviewed by Eric Carlson.

  • Shared/WebPreferences.yaml:
10:52 AM Changeset in webkit [251783] by Alan Coon
  • 21 edits in tags/Safari-609.1.9

Cherry-pick r251710. rdar://problem/56689789

Unreviewed, rolling out r251594.

Caused an API test failure

Reverted changeset:

"mp4 video element broken with service worker"
https://bugs.webkit.org/show_bug.cgi?id=184447
LayoutTests/imported/w3c:

https://trac.webkit.org/changeset/251594

Source/WebCore:

https://trac.webkit.org/changeset/251594

Source/WebKit:

https://trac.webkit.org/changeset/251594

LayoutTests:

https://trac.webkit.org/changeset/251594

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

10:52 AM Changeset in webkit [251782] by Alan Coon
  • 2 edits in tags/Safari-609.1.9/Source/WebKit

Cherry-pick r251688. rdar://problem/56691526

[iOS] Fix sandbox violations
https://bugs.webkit.org/show_bug.cgi?id=203505

Reviewed by Brent Fulgham.

Running layout tests shows that allowing mach lookup is needed for a set of services which was previously denied.
This patch add rules for allowing these services again. The service 'com.apple.logd.events' is still denied, since
it has not been observed to be in use.

No new tests, covered by existing tests.

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

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

10:52 AM Changeset in webkit [251781] by Alan Coon
  • 3 edits in tags/Safari-609.1.9/LayoutTests

Cherry-pick r251660. rdar://problem/56655706

Remove flaky debug log from WK1 expectations after r251582
https://bugs.webkit.org/show_bug.cgi?id=203383

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt: The important part of this test is that there are 3 PASSes, not that the console log is consistent.

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

10:51 AM Changeset in webkit [251780] by Antti Koivisto
  • 6 edits
    2 adds in trunk

::before/::after elements not filling their grid cell when container has display: contents
https://bugs.webkit.org/show_bug.cgi?id=193567

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/css/display-contents-before-after-grid.html

We were not providing parent box style when resolving :before/:after pseudo elements. Because of this we
failed to blockify the pseudo elements when their host element had 'display:contents' and the parent
box was a grid.

Original test case by Michał Gołębiowski-Owczarek.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::pseudoStyleForElement):

Pass the parent box style.

  • css/StyleResolver.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::resolvePseudoStyle):
(WebCore::Style::TreeResolver::parentBoxStyle const):
(WebCore::Style::TreeResolver::parentBoxStyleForPseudo const):

If the element has 'display:contents', look for style of its ancestors.

  • style/StyleTreeResolver.h:

LayoutTests:

  • fast/css/display-contents-before-after-grid-expected.html: Added.
  • fast/css/display-contents-before-after-grid.html: Added.
10:44 AM Changeset in webkit [251779] by Antti Koivisto
  • 33 edits
    1 copy
    33 adds
    2 deletes in trunk/LayoutTests

Update css/css-display web platform tests
https://bugs.webkit.org/show_bug.cgi?id=203607

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • resources/resource-files.json:
  • web-platform-tests/css/css-display/META.yml: Added.
  • web-platform-tests/css/css-display/OWNERS: Removed.
  • web-platform-tests/css/css-display/display-change-iframe-expected.xht: Added.
  • web-platform-tests/css/css-display/display-change-iframe.html: Added.
  • web-platform-tests/css/css-display/display-change-object-iframe-expected.xht: Added.
  • web-platform-tests/css/css-display/display-change-object-iframe.html: Added.
  • web-platform-tests/css/css-display/display-contents-blockify-dynamic-expected.txt: Added.
  • web-platform-tests/css/css-display/display-contents-blockify-dynamic.html: Added.
  • web-platform-tests/css/css-display/display-contents-details.html:
  • web-platform-tests/css/css-display/display-contents-fieldset-nested-legend-expected.html:
  • web-platform-tests/css/css-display/display-contents-shadow-dom-1-expected.html: Added.
  • web-platform-tests/css/css-display/display-contents-shadow-dom-1.html: Added.
  • web-platform-tests/css/css-display/display-contents-shadow-host-whitespace-expected.html: Added.
  • web-platform-tests/css/css-display/display-contents-shadow-host-whitespace.html: Added.
  • web-platform-tests/css/css-display/display-contents-sharing-001-expected.html: Added.
  • web-platform-tests/css/css-display/display-contents-sharing-001.html: Added.
  • web-platform-tests/css/css-display/display-contents-whitespace-inside-inline-expected.html: Added.
  • web-platform-tests/css/css-display/display-contents-whitespace-inside-inline.html: Added.
  • web-platform-tests/css/css-display/display-flow-root-list-item-001-expected.html: Added.
  • web-platform-tests/css/css-display/display-flow-root-list-item-001.html: Added.
  • web-platform-tests/css/css-display/display-inline-dynamic-001-expected.html: Added.
  • web-platform-tests/css/css-display/display-inline-dynamic-001.html: Added.
  • web-platform-tests/css/css-display/display-none-inline-img-expected.html: Added.
  • web-platform-tests/css/css-display/display-none-inline-img.html: Added.
  • web-platform-tests/css/css-display/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-display/inheritance.html: Added.
  • web-platform-tests/css/css-display/parsing/display-computed-expected.txt: Added.
  • web-platform-tests/css/css-display/parsing/display-computed.html: Added.
  • web-platform-tests/css/css-display/parsing/display-invalid-expected.txt: Added.
  • web-platform-tests/css/css-display/parsing/display-invalid.html: Added.
  • web-platform-tests/css/css-display/parsing/display-valid-expected.txt: Added.
  • web-platform-tests/css/css-display/parsing/display-valid.html: Added.
  • web-platform-tests/css/css-display/parsing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-display/support/w3c-import.log.
  • web-platform-tests/css/css-display/run-in/OWNERS: Removed.
  • web-platform-tests/css/css-display/run-in/direction-applies-to-011.xht:
  • web-platform-tests/css/css-display/run-in/font-family-applies-to-004.xht:
  • web-platform-tests/css/css-display/run-in/font-size-applies-to-004.xht:
  • web-platform-tests/css/css-display/run-in/font-style-applies-to-004-expected.xht:
  • web-platform-tests/css/css-display/run-in/letter-spacing-applies-to-004-expected.html:
  • web-platform-tests/css/css-display/run-in/letter-spacing-applies-to-004.xht:
  • web-platform-tests/css/css-display/run-in/overflow-applies-to-011.xht:
  • web-platform-tests/css/css-display/run-in/run-in-001.xht:
  • web-platform-tests/css/css-display/run-in/run-in-003.xht:
  • web-platform-tests/css/css-display/run-in/run-in-004.xht:
  • web-platform-tests/css/css-display/run-in/run-in-006.xht:
  • web-platform-tests/css/css-display/run-in/run-in-007.xht:
  • web-platform-tests/css/css-display/run-in/run-in-008.xht:
  • web-platform-tests/css/css-display/run-in/run-in-009.xht:
  • web-platform-tests/css/css-display/run-in/run-in-010.xht:
  • web-platform-tests/css/css-display/run-in/run-in-011.xht:
  • web-platform-tests/css/css-display/run-in/run-in-012.xht:
  • web-platform-tests/css/css-display/run-in/run-in-013.xht:
  • web-platform-tests/css/css-display/run-in/support/w3c-import.log:
  • web-platform-tests/css/css-display/run-in/table-layout-applies-to-004.xht:
  • web-platform-tests/css/css-display/run-in/text-indent-applies-to-004.xht:
  • web-platform-tests/css/css-display/run-in/vertical-align-applies-to-011.xht:
  • web-platform-tests/css/css-display/run-in/w3c-import.log:
  • web-platform-tests/css/css-display/run-in/white-space-applies-to-004.xht:
  • web-platform-tests/css/css-display/run-in/word-spacing-applies-to-004.xht:
  • web-platform-tests/css/css-display/select-4-option-optgroup-display-none-expected.html: Added.
  • web-platform-tests/css/css-display/select-4-option-optgroup-display-none.html: Added.
  • web-platform-tests/css/css-display/support/red-square.html: Added.
  • web-platform-tests/css/css-display/support/w3c-import.log:
  • web-platform-tests/css/css-display/w3c-import.log:

LayoutTests:

10:31 AM Changeset in webkit [251778] by Chris Dumez
  • 31 edits in trunk/Source/WebKit

[iOS] [WK2] Improve process assertion-related logging to help identify causes of leaked assertions
https://bugs.webkit.org/show_bug.cgi?id=203438

Reviewed by Antti Koivisto.

Improve process assertion-related logging to help identify causes of leaked assertions. Previously,
whenever our code needed to prevent suspension of a child process due to some kind of activity, it
would simply grab a "token" from the child process' ProcessThrottler. This, in-turn, would cause
the ProcessThrottler to take the right kind of ProcessAssertion or release it when nobody holds
any tokens any more.

We frequently have issues where the UIProcess keeps its assertions around for too long after getting
backgrounding. This causes the assertions to get invalidated and the UIProcess will usually suspend
(albeit with a delay, which is bad for power). Sometimes though, we get killed because our invalidation
handler does not get a chance to release the assertion in time.

Finding out why we're keeping around assertions is currently very difficult because we cannot easily
see in the logs who is still holding ProcessThrottler tokens. To make such debugging easier, clients
now notify the ProcessThrottler when they start some activity and provide a user-readable description
of the activity. The client then gets a ForegroundActivity or BackgroundActivity object instead of
simply a token. As a result, we are now able to log when a given activity that prevents suspension
begins and ends, with a user-friendly string. Also, when the assertion gets invalidated, it will
invalidate all these pending activities and we'll see in the logs the name of the activities that
were still going on upon invalidation.

  • Shared/API/Cocoa/RemoteObjectRegistry.h:

(WebKit::RemoteObjectRegistry::backgroundActivity):

  • Shared/API/Cocoa/RemoteObjectRegistry.mm:

(WebKit::RemoteObjectRegistry::sendInvocation):

  • UIProcess/Cocoa/DownloadClient.h:
  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::takeActivityToken):
(WebKit::DownloadClient::releaseActivityTokenIfNecessary):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::releaseNetworkActivity):
(WebKit::NavigationState::didChangeIsLoading):
(WebKit::NavigationState::didSwapWebProcesses):

  • UIProcess/Cocoa/UIRemoteObjectRegistry.cpp:

(WebKit::UIRemoteObjectRegistry::backgroundActivity):

  • UIProcess/Cocoa/UIRemoteObjectRegistry.h:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::processWasResumed):

  • UIProcess/GenericCallback.h:

(WebKit::CallbackBase::CallbackBase):
(WebKit::GenericCallback::create):
(WebKit::GenericCallback::GenericCallback):
(WebKit::CallbackMap::put):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
(WebKit::NetworkProcessProxy::syncAllCookies):
(WebKit::NetworkProcessProxy::didSyncAllCookies):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::ProcessThrottler):
(WebKit::ProcessThrottler::~ProcessThrottler):
(WebKit::ProcessThrottler::addActivity):
(WebKit::ProcessThrottler::removeActivity):
(WebKit::ProcessThrottler::invalidateAllActivities):
(WebKit::ProcessThrottler::expectedAssertionState):
(WebKit::ProcessThrottler::setAssertionState):
(WebKit::ProcessThrottler::uiAssertionWillExpireImminently):

  • UIProcess/ProcessThrottler.h:

(WebKit::ProcessThrottler::Activity::Activity):
(WebKit::ProcessThrottler::Activity::~Activity):
(WebKit::ProcessThrottler::Activity::isValid const):
(WebKit::ProcessThrottler::Activity::invalidate):
(WebKit::ProcessThrottler::shouldBeRunnable const):
(WebKit::ProcessThrottler::foregroundActivity):
(WebKit::ProcessThrottler::backgroundActivity):

  • UIProcess/ProvisionalPageProxy.cpp:

(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):

  • UIProcess/ProvisionalPageProxy.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):

  • UIProcess/SuspendedPageProxy.cpp:

(WebKit::SuspendedPageProxy::SuspendedPageProxy):
(WebKit::SuspendedPageProxy::didProcessRequestToSuspend):

  • UIProcess/SuspendedPageProxy.h:
  • UIProcess/WebBackForwardCacheEntry.cpp:

(WebKit::WebBackForwardCacheEntry::~WebBackForwardCacheEntry):

  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookie):
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManagerProxy::setCookies):
(WebKit::WebCookieManagerProxy::getAllCookies):
(WebKit::WebCookieManagerProxy::getCookies):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::updateThrottleState):
(WebKit::WebPageProxy::waitForDidUpdateActivityState):
(WebKit::WebPageProxy::setInitialFocus):
(WebKit::WebPageProxy::validateCommand):
(WebKit::WebPageProxy::executeEditCommand):
(WebKit::WebPageProxy::requestFontAttributesAtSelectionStart):
(WebKit::WebPageProxy::replaceMatches):
(WebKit::WebPageProxy::runJavaScriptInMainFrameScriptWorld):
(WebKit::WebPageProxy::runJavaScriptInFrame):
(WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
(WebKit::WebPageProxy::getSourceForFrame):
(WebKit::WebPageProxy::getContentsAsString):
(WebKit::WebPageProxy::getBytecodeProfile):
(WebKit::WebPageProxy::getSamplingProfilerOutput):
(WebKit::WebPageProxy::getContentsAsMHTMLData):
(WebKit::WebPageProxy::getSelectionOrContentsAsString):
(WebKit::WebPageProxy::getSelectionAsWebArchiveData):
(WebKit::WebPageProxy::getMainResourceDataOfFrame):
(WebKit::WebPageProxy::getResourceDataFromFrame):
(WebKit::WebPageProxy::getWebArchiveOfFrame):
(WebKit::WebPageProxy::forceRepaint):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::drawToPDF):
(WebKit::WebPageProxy::getMarkedRangeAsync):
(WebKit::WebPageProxy::getSelectedRangeAsync):
(WebKit::WebPageProxy::characterIndexForPointAsync):
(WebKit::WebPageProxy::firstRectForCharacterRangeAsync):
(WebKit::WebPageProxy::takeSnapshot):
(WebKit::WebPageProxy::installActivityStateChangeCompletionHandler):
(WebKit::WebPageProxy::getLoadDecisionForIcon):
(WebKit::WebPageProxy::insertAttachment):
(WebKit::WebPageProxy::updateAttachmentAttributes):
(WebKit::WebPageProxy::getApplicationManifest):

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

(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::updateProcessAssertions):
(WebKit::WebProcessPool::reinstateNetworkProcessAssertionState):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::WebProcessProxy::setIsHoldingLockedFiles):
(WebKit::WebProcessProxy::startBackgroundActivityForFullscreenInput):
(WebKit::WebProcessProxy::endBackgroundActivityForFullscreenInput):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView presentViewControllerForCurrentFocusedElement]):
(-[WKContentView dismissAllInputViewControllers:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::requestFocusedElementInformation):
(WebKit::WebPageProxy::selectWithGesture):
(WebKit::WebPageProxy::updateSelectionWithTouches):
(WebKit::WebPageProxy::applyAutocorrection):
(WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
(WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
(WebKit::WebPageProxy::moveSelectionAtBoundaryWithDirection):
(WebKit::WebPageProxy::selectPositionAtPoint):
(WebKit::WebPageProxy::beginSelectionInDirection):
(WebKit::WebPageProxy::updateSelectionWithExtentPoint):
(WebKit::WebPageProxy::updateSelectionWithExtentPointAndBoundary):
(WebKit::WebPageProxy::requestDictationContext):
(WebKit::WebPageProxy::getSelectionContext):
(WebKit::WebPageProxy::selectWithTwoTouches):
(WebKit::WebPageProxy::applicationDidEnterBackground):
(WebKit::WebPageProxy::requestRectsForGranularityWithSelectionOffset):
(WebKit::WebPageProxy::requestRectsAtSelectionOffsetWithText):
(WebKit::WebPageProxy::moveSelectionByOffset):
(WebKit::WebPageProxy::focusNextFocusedElement):
(WebKit::WebPageProxy::computePagesForPrintingAndDrawToPDF):

10:20 AM Changeset in webkit [251777] by commit-queue@webkit.org
  • 9 edits
    1 move
    153 adds
    1 delete in trunk/LayoutTests

Make testharnessreport.js report the results correctly inside an SVG document
https://bugs.webkit.org/show_bug.cgi?id=203503

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-30
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/dom/nodes/Document-constructor-xml-expected.txt:
  • web-platform-tests/dom/nodes/Node-contains-xml-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-10-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-11-expected.txt:
  • web-platform-tests/svg/animations/scripted/end-element-on-inactive-element-expected.txt: Added.
  • web-platform-tests/svg/animations/scripted/onhover-syncbases-expected.txt: Added.
  • web-platform-tests/svg/extensibility/foreignObject/properties-expected.txt: Added.
  • web-platform-tests/svg/extensibility/interfaces/foreignObject-graphics-expected.txt: Added.
  • web-platform-tests/svg/geometry/inheritance-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/cx-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/cx-invalid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/cx-valid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/cy-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/cy-invalid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/cy-valid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/height-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/r-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/r-invalid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/r-valid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/rx-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/rx-invalid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/rx-valid-expected.txt:
  • web-platform-tests/svg/geometry/parsing/ry-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/ry-invalid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/ry-valid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/sizing-properties-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/width-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/x-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/x-invalid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/x-valid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/y-computed-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/y-invalid-expected.txt: Added.
  • web-platform-tests/svg/geometry/parsing/y-valid-expected.txt: Added.
  • web-platform-tests/svg/interact/inheritance-expected.txt: Added.
  • web-platform-tests/svg/interact/parsing/pointer-events-computed-expected.txt: Added.
  • web-platform-tests/svg/interact/parsing/pointer-events-invalid-expected.txt: Added.
  • web-platform-tests/svg/interact/parsing/pointer-events-valid-expected.txt: Added.
  • web-platform-tests/svg/interact/script-content-expected.txt: Added.
  • web-platform-tests/svg/interact/scripted/composed.window-expected.txt: Added.
  • web-platform-tests/svg/interact/scripted/focus-events-expected.txt: Added.
  • web-platform-tests/svg/interact/scripted/focus-tabindex-default-value-expected.txt: Added.
  • web-platform-tests/svg/interact/scripted/tabindex-focus-flag-expected.txt: Added.
  • web-platform-tests/svg/linking/scripted/a-download-click-expected.txt: Added.
  • web-platform-tests/svg/linking/scripted/a.rel-getter-01-expected.txt: Added.
  • web-platform-tests/svg/linking/scripted/a.rel-setter-01-expected.txt: Added.
  • web-platform-tests/svg/linking/scripted/a.text-getter-01-expected.txt: Added.
  • web-platform-tests/svg/linking/scripted/a.text-setter-01-expected.txt: Added.
  • web-platform-tests/svg/linking/scripted/rellist-feature-detection-expected.txt: Added.
  • web-platform-tests/svg/painting/inheritance-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/color-interpolation-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/color-interpolation-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/fill-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/fill-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/fill-opacity-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/fill-opacity-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/fill-opacity-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/fill-rule-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/fill-rule-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/fill-rule-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/fill-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/image-rendering-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/image-rendering-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/image-rendering-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-end-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-end-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-end-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-mid-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-mid-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-mid-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-start-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-start-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-start-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/marker-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/paint-order-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/paint-order-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/paint-order-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/shape-rendering-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/shape-rendering-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/shape-rendering-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-dasharray-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-dasharray-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-dasharray-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-dashoffset-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-dashoffset-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-dashoffset-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-linecap-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-linecap-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-linecap-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-linejoin-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-linejoin-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-linejoin-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-miterlimit-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-miterlimit-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-miterlimit-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-opacity-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-opacity-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-opacity-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-width-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-width-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/stroke-width-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/text-rendering-computed-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/text-rendering-invalid-expected.txt: Added.
  • web-platform-tests/svg/painting/parsing/text-rendering-valid-expected.txt: Added.
  • web-platform-tests/svg/painting/scripted/paint-order-computed-value-01-expected.txt: Added.
  • web-platform-tests/svg/path/error-handling/bounding-expected.txt: Added.
  • web-platform-tests/svg/path/interfaces/SVGAnimatedPathData-removed-expected.txt: Added.
  • web-platform-tests/svg/path/property/d-interpolation-discrete-expected.txt: Added.
  • web-platform-tests/svg/path/property/d-interpolation-relative-absolute-expected.txt: Added.
  • web-platform-tests/svg/path/property/d-interpolation-single-expected.txt: Added.
  • web-platform-tests/svg/path/property/getComputedStyle-expected.txt: Added.
  • web-platform-tests/svg/path/property/serialization-expected.txt: Added.
  • web-platform-tests/svg/pservers/inheritance-expected.txt: Added.
  • web-platform-tests/svg/pservers/parsing/stop-color-computed-expected.txt: Added.
  • web-platform-tests/svg/pservers/parsing/stop-color-invalid-expected.txt: Added.
  • web-platform-tests/svg/pservers/parsing/stop-color-valid-expected.txt: Added.
  • web-platform-tests/svg/pservers/parsing/stop-opacity-computed-expected.txt: Added.
  • web-platform-tests/svg/pservers/parsing/stop-opacity-invalid-expected.txt: Added.
  • web-platform-tests/svg/pservers/parsing/stop-opacity-valid-expected.txt: Added.
  • web-platform-tests/svg/pservers/scripted/stop-color-inheritance-currentcolor-expected.txt: Added.
  • web-platform-tests/svg/scripted/text-attrs-dxdy-have-length-expected.txt: Added.
  • web-platform-tests/svg/scripted/text-attrs-xyrotate-have-length-expected.txt: Added.
  • web-platform-tests/svg/scripted/text-tspan-attrs-have-length-expected.txt: Added.
  • web-platform-tests/svg/scripted/text-tspan-attrs-indexed-access-expected.txt: Added.
  • web-platform-tests/svg/scripted/tspan-attrs-dxdy-have-length-expected.txt: Added.
  • web-platform-tests/svg/scripted/tspan-attrs-xyrotate-have-length-expected.txt: Added.
  • web-platform-tests/svg/shapes/line-getPointAtLength-expected.txt: Added.
  • web-platform-tests/svg/shapes/line-pathLength-expected.txt: Added.
  • web-platform-tests/svg/shapes/rx-ry-not-inherited-expected.txt: Added.
  • web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt: Added.
  • web-platform-tests/svg/struct/UnknownElement/interface-expected.txt: Added.
  • web-platform-tests/svg/struct/scripted/autofocus-attribute-expected.txt: Added.
  • web-platform-tests/svg/styling/required-properties-expected.txt: Added.
  • web-platform-tests/svg/text/inheritance-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/inline-size-invalid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/inline-size-valid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/shape-inside-invalid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/shape-inside-valid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/shape-margin-invalid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/shape-margin-valid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/shape-subtract-invalid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/shape-subtract-valid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/text-anchor-computed-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/text-anchor-invalid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/text-anchor-valid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/text-decoration-fill-invalid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/text-decoration-fill-valid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/text-decoration-stroke-invalid-expected.txt: Added.
  • web-platform-tests/svg/text/parsing/text-decoration-stroke-valid-expected.txt: Added.
  • web-platform-tests/svg/types/elements/SVGGeometryElement-rect-expected.txt: Added.
  • web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-01-expected.txt: Added.
  • web-platform-tests/svg/types/scripted/SVGGeometryElement.isPointInFill-01-expected.txt: Added.
  • web-platform-tests/svg/types/scripted/SVGGeometryElement.isPointInStroke-01-expected.txt: Added.
  • web-platform-tests/svg/types/scripted/SVGGraphicsElement-expected.txt: Added.
  • web-platform-tests/svg/types/scripted/event-handler-all-document-element-events-expected.txt: Added.

LayoutTests:

For SVG tests, the completion callback has to create a foreignObject and
append it to the root element. Then the results element has to be appended
to this foreignObject.

  • TestExpectations:
  • platform/mac/imported/w3c/web-platform-tests/svg/path/error-handling/bounding-expected.txt: Removed.
  • platform/mac/imported/w3c/web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt: Removed.
  • resources/testharnessreport.js:

(self.testRunner.add_completion_callback):

10:07 AM Changeset in webkit [251776] by krit@webkit.org
  • 26 edits in trunk

[css-masking] Unprefix -webkit-clip-path
https://bugs.webkit.org/show_bug.cgi?id=187888

Reviewed by Simon Fraser.

LayoutTests/imported/mozilla:

Integrated test expectations do not match the actual expected
behavior. The reason is that the expectation files reference
resources from different documents - which is not supported by
WebKit. Since unprefixed clip-path wasn't supported either
the test passed.

  • svg/svg-integration/clipPath-html-01-expected.xhtml:
  • svg/svg-integration/clipPath-html-02-expected.xhtml:
  • svg/svg-integration/clipPath-html-02.xhtml:
  • svg/svg-integration/clipPath-html-03-expected.xhtml:
  • svg/svg-integration/clipPath-html-04-expected.xhtml:
  • svg/svg-integration/clipPath-html-05-expected.xhtml:
  • svg/svg-integration/clipPath-html-06-expected.xhtml:

LayoutTests/imported/w3c:

Test started passing. Updating test results.

  • web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt:
  • web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt:
  • web-platform-tests/css/css-shapes/basic-shape-circle-ellipse-serialization-expected.txt:
  • web-platform-tests/css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative-expected.html:

Test result is incorrect: Doesn't test the shifing of content when shape-outside is set.

  • web-platform-tests/css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative.html:

Source/WebCore:

Unprefix -webkit-clip-path. Make clip-path alias the prefixed version.

We already have a wide variaty of pre-/unprexied clip-path tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):

  • css/CSSProperties.json:
  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::svgPropertyValue):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::initialShadow):
(WebCore::SVGRenderStyle::y const):
(WebCore::SVGRenderStyle::initialClipperResource): Deleted.
(WebCore::SVGRenderStyle::clipperResource const): Deleted.
(WebCore::SVGRenderStyle::hasClipper const): Deleted.
(WebCore::SVGRenderStyle::setClipperResource): Deleted.

  • rendering/style/SVGRenderStyleDefs.cpp:

(WebCore::StyleResourceData::StyleResourceData):
(WebCore::StyleResourceData::operator== const):

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

(WebCore::WillChangeData::propertyCreatesStackingContext):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::pathOnlyClipping):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeResources):

  • rendering/svg/SVGResources.cpp:

(WebCore::SVGResources::buildCachedResources):

9:51 AM Changeset in webkit [251775] by Chris Dumez
  • 4 edits in trunk/LayoutTests

Unreviewed, unskip imported/w3c/web-platform-tests/cors/credentials-flag.htm

The test is not flaky if we don't dump JS console messages in the output.

LayoutTests/imported/w3c:

  • web-platform-tests/cors/credentials-flag-expected.txt:

LayoutTests:

9:36 AM Changeset in webkit [251774] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, skip 3 WPT tests that are timing out since they were imported.

It unnecessarily slows down our test runs.

7:18 AM Changeset in webkit [251773] by Megan Gardner
  • 3 edits in trunk/LayoutTests

Fix autoscroll test to work on iPad.
https://bugs.webkit.org/show_bug.cgi?id=203598
<rdar://problem/51863703>

Reviewed by Wenson Hsieh.

iPads are much taller than iPhones, so to test autoscrolling under a
software keyboard, we need to return several more times.
Also take the opportunity to make the test more robust to races.

  • fast/events/autoscroll-with-software-keyboard.html:
  • platform/ipad/TestExpectations:
7:14 AM Changeset in webkit [251772] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r249428): [GStreamer] VP9 video rendered green
https://bugs.webkit.org/show_bug.cgi?id=201422
<rdar://problem/55945741>

Patch by Philippe Normand <philn@igalia.com> on 2019-10-30
Reviewed by Carlos Garcia Campos.

Enable the texture upload GStreamer meta code path. Until
GStreamer 1.16.2 this workaround is needed to fix VP9 (vp9dec)
rendering.

Original patch by: Chris Lord <Chris Lord>

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL):

12:59 AM Changeset in webkit [251771] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

ImageDecoders: use a thread safe data buffer for Cairo backing store
https://bugs.webkit.org/show_bug.cgi?id=201727
<rdar://problem/56665041>

Reviewed by Fujii Hironori.

Use SharedBuffer::dataSegment which is ThreadSafeRefCounted.

  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::setSize):
(WebCore::ImageBackingStore::ImageBackingStore):

  • platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:

(WebCore::ImageBackingStore::image const):

12:58 AM Changeset in webkit [251770] by commit-queue@webkit.org
  • 5 edits
    21 adds in trunk/LayoutTests

Import WPT tests for scrollend and overscroll events
https://bugs.webkit.org/show_bug.cgi?id=203500

Patch by Frederic Wang <fwang@igalia.com> on 2019-10-30
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/dom/events/scrolling/overscroll-event-fired-to-document-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/overscroll-event-fired-to-element-with-overscroll-behavior-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/overscroll-event-fired-to-scrolled-element-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/overscroll-event-fired-to-window-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/scrollend-event-fired-after-snap-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-document-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-element-with-overscroll-behavior-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-scrolled-element-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-window-expected.txt: Added.

LayoutTests:

sendEventStream is not supported.

  • platform/ios/TestExpectations: Enable the tests on iOS.
12:57 AM Changeset in webkit [251769] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

REGRESSION(2.27.2): [GTK] Overview item remove button broken
https://bugs.webkit.org/show_bug.cgi?id=203461

Reviewed by Adrian Perez de Castro.

This is a regression of the switch to new custom protocols implementation. Epiphany is passing NULL as content
type of ephy-resource requests, in which case we should try to guess the mime type, but we are not doing it.

  • UIProcess/API/glib/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback): Use MIMETypeRegistry to guess the mime type when content type is nullptr,
like NetworkDataTask does.

Oct 29, 2019:

10:12 PM Changeset in webkit [251768] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove HTMLMediaElementDestructorScope
https://bugs.webkit.org/show_bug.cgi?id=203600

Reviewed by Chris Dumez.

Removed the workaround introduced in r231392 for the bug 185284 now that it's been fixed.

No new tests since this code should be dead code.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::isRunningDestructor): Deleted.
(WebCore::HTMLMediaElementDestructorScope::HTMLMediaElementDestructorScope): Deleted.
(WebCore::HTMLMediaElementDestructorScope::~HTMLMediaElementDestructorScope): Deleted.

  • html/HTMLMediaElement.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkCompleted):

9:29 PM Changeset in webkit [251767] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/iOS 13.2

Added a tag for iOS 13.2.

9:26 PM Changeset in webkit [251766] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari 13.0.3

Added a tag for Safari 13.0.3.

9:14 PM Changeset in webkit [251765] by aestes@apple.com
  • 26 edits
    1 move
    1 delete in trunk

[Quick Look] Clean up LegacyPreviewLoaderClients
https://bugs.webkit.org/show_bug.cgi?id=203472

Reviewed by Brady Eidson.

Source/WebCore:

  • loader/ios/LegacyPreviewLoader.mm:

(WebCore::LegacyPreviewLoader::didReceiveBuffer):

  • platform/network/ios/LegacyPreviewLoaderClient.h:

(WebCore::LegacyPreviewLoaderClient::didReceiveBuffer):
(WebCore::LegacyPreviewLoaderClient::didReceiveDataArray): Deleted.

Source/WebKit:

Replaced QuickLookDocumentData with ShareableResource.

Removed messages WebPageProxy::DidRequestPasswordForQuickLookDocumentInMainFrame and
WebPage::DidReceivePasswordForQuickLookDocument, replacing them with async message
WebPageProxy::RequestPasswordForQuickLookDocumentInMainFrame.

  • Shared/ios/QuickLookDocumentData.cpp: Removed.
  • Shared/ios/QuickLookDocumentData.h: Removed.
  • SourcesCocoa.txt:
  • UIProcess/API/APILoaderClient.h:
  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::didFinishLoadForQuickLookDocumentInMainFrame):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::didFinishLoadForQuickLookDocumentInMainFrame):

  • UIProcess/ProvisionalPageProxy.cpp:

(WebKit::ProvisionalPageProxy::requestPasswordForQuickLookDocumentInMainFrame):
(WebKit::ProvisionalPageProxy::didReceiveMessage):
(WebKit::ProvisionalPageProxy::didRequestPasswordForQuickLookDocumentInMainFrame): Deleted.

  • UIProcess/ProvisionalPageProxy.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didFinishLoadForQuickLookDocumentInMainFrame):
(WebKit::WebPageProxy::requestPasswordForQuickLookDocumentInMainFrame):
(WebKit::WebPageProxy::requestPasswordForQuickLookDocumentInMainFrameShared):
(WebKit::WebPageProxy::didRequestPasswordForQuickLookDocumentInMainFrame): Deleted.
(WebKit::WebPageProxy::didRequestPasswordForQuickLookDocumentInMainFrameShared): Deleted.

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/ios/WebPreviewLoaderClient.cpp:

(WebKit::WebPreviewLoaderClient::WebPreviewLoaderClient):
(WebKit::WebPreviewLoaderClient::didReceiveBuffer):
(WebKit::WebPreviewLoaderClient::didFinishLoading):
(WebKit::WebPreviewLoaderClient::didFail):
(WebKit::WebPreviewLoaderClient::didRequestPassword):
(WebKit::passwordCallbacks): Deleted.
(WebKit::WebPreviewLoaderClient::~WebPreviewLoaderClient): Deleted.
(WebKit::WebPreviewLoaderClient::didReceiveDataArray): Deleted.
(WebKit::WebPreviewLoaderClient::didReceivePassword): Deleted.

  • WebProcess/WebCoreSupport/ios/WebPreviewLoaderClient.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::didStartLoadForQuickLookDocumentInMainFrame):
(WebKit::WebPage::didFinishLoadForQuickLookDocumentInMainFrame):
(WebKit::WebPage::requestPasswordForQuickLookDocumentInMainFrame):
(WebKit::WebPage::didReceivePasswordForQuickLookDocument): Deleted.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::createPreviewLoaderClient):

Tools:

Updated API tests to compare data received in
-_webView:didFinishLoadForQuickLookDocumentInMainFrame: with expected data.

  • TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:

(readFile):
(-[QuickLookDelegate initWithExpectedFileURL:responsePolicy:]):
(-[QuickLookDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
(-[QuickLookDelegate verifyDownload]):
(TEST):

8:14 PM Changeset in webkit [251764] by commit-queue@webkit.org
  • 9 edits in trunk

[SVG2] SVGSymbolElement should inherits SVGGraphicsElement
https://bugs.webkit.org/show_bug.cgi?id=203573

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-29
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/svg/idlharness.window-expected.txt:

Source/WebCore:

The spec link is:

https://www.w3.org/TR/SVG2/struct.html#InterfaceSVGSymbolElement

  • svg/SVGSymbolElement.cpp:

(WebCore::SVGSymbolElement::SVGSymbolElement):
(WebCore::SVGSymbolElement::parseAttribute):

  • svg/SVGSymbolElement.h:
  • svg/SVGSymbolElement.idl:

LayoutTests:

  • svg/dom/svg2-inheritance-expected.txt:
  • svg/dom/svg2-inheritance.html:
8:14 PM Changeset in webkit [251763] by Jonathan Bedard
  • 6 edits in trunk/Tools

results.webkit.org: Fix tooltip with drawer
https://bugs.webkit.org/show_bug.cgi?id=203527

Rubber-stamped by Aakash Jain.

The interaction between tooltips and drawers needs improvement, tooltips
are inconsistently under the drawer, do not treat the drawer as a boundary.

  • resultsdbpy/resultsdbpy/view/static/css/tooltip.css:

(.tooltip): Use topZIndex variable.

  • resultsdbpy/resultsdbpy/view/static/js/timeline.js:

(xAxisFromScale): Pass viewport to ToolTip.
(TimelineFromEndpoint): Ditto.
(TimelineFromEndpoint.prototype.update): Ditto.
(TimelineFromEndpoint.prototype.render): Ditto.
(TimelineFromEndpoint.prototype.render.onDotEnterFactory): Ditto.

  • resultsdbpy/resultsdbpy/view/static/js/tooltip.js:

(_ToolTip.prototype.toString): Use passed viewport instead of the document size.
(_ToolTip.prototype.setByElement): Set the viewport based on the passed viewport.

  • resultsdbpy/resultsdbpy/view/templates/search.html: Define the viewport as the

content element.

  • resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
7:50 PM Changeset in webkit [251762] by jiewen_tan@apple.com
  • 17 edits
    1 add in trunk

[WebAuthn] Add more information to _WKWebAuthenticationPanel
https://bugs.webkit.org/show_bug.cgi?id=202561
<rdar://problem/55973910>

Reviewed by Youenn Fablet and Brent Fulgham.

Source/WebCore:

Covered by new tests within existing test files.

  • Modules/webauthn/AuthenticatorCoordinator.cpp:
  • Modules/webauthn/WebAuthenticationConstants.h:

Source/WebKit:

This change adds transports and type to _WKWebAuthenticationPanel such that
clients can know what transport the current ceremony demands and the type of
the current ceremony. These extra information allow clients to give users
more specific instructions to interact with authenticators.

To pass transports to client, the way how them is collected is changed significantly:
1) The timing is moved to runPanel before the client delegate call.
2) NfcService::isAvailable is added for AuthenticatorManager to determine if NFC
is available in the current device.
3) AuthenticatorManager::filterTransports is added to filter transports requested
by RP to ones that are available. This process is handled by each service naturally
before.
4) AuthenticatorManager::startRequest is now being splitted into AuthenticatorManager::handleRequest,
AuthenticatorManager::runPanel and AuthenticatorManager::getTransports.

To pass type to _WKWebAuthenticationPanel, ClientDataType is moved from
WebCore::AuthenticatorCoordinator to WebCore::WebAuthenticationConstants in
order to be reused to indicate the ceremony type.

  • UIProcess/API/APIWebAuthenticationPanel.cpp:

(API::WebAuthenticationPanel::create):
(API::WebAuthenticationPanel::WebAuthenticationPanel):

  • UIProcess/API/APIWebAuthenticationPanel.h:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(-[_WKWebAuthenticationPanel relyingPartyID]):
(wkWebAuthenticationTransport):
(-[_WKWebAuthenticationPanel transports]):
(wkWebAuthenticationType):
(-[_WKWebAuthenticationPanel type]):

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::WebCore::collectTransports):
(WebKit::WebCore::getClientDataType):
(WebKit::AuthenticatorManager::handleRequest):
(WebKit::AuthenticatorManager::filterTransports const):
(WebKit::AuthenticatorManager::startDiscovery):
(WebKit::AuthenticatorManager::initTimeOutTimer):
(WebKit::AuthenticatorManager::runPanel):
(WebKit::AuthenticatorManager::getTransports const):
(WebKit::AuthenticatorManager::respondReceivedInternal): Deleted.
(WebKit::AuthenticatorManager::startRequest): Deleted.

  • UIProcess/WebAuthentication/AuthenticatorManager.h:

(WebKit::AuthenticatorManager::respondReceivedInternal):

  • UIProcess/WebAuthentication/Cocoa/NfcService.h:
  • UIProcess/WebAuthentication/Cocoa/NfcService.mm:

(WebKit::NfcService::isAvailable):
(WebKit::NfcService::platformStartDiscovery):

  • UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp:

(WebKit::MockAuthenticatorManager::filterTransports const):

  • UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.h:

Tools:

Adds new API tests.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(-[TestWebAuthenticationPanelUIDelegate panel]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid.html: Added.
7:48 PM Changeset in webkit [251761] by Wenson Hsieh
  • 5 edits
    2 adds in trunk

Source/WebCore:
REGRESSION (r251693): [iOS] Unable to change selection after focusing an element with keyboard attached
https://bugs.webkit.org/show_bug.cgi?id=203582

Reviewed by Tim Horton.

Introduces a new helper method to check whether two ElementContexts refer to the same element. Importantly, this
ignores any information on ElementContext that is not either the element, document, or page identifier (for now,
this only includes the element's bounding rect, which may change over time).

Test: editing/selection/ios/set-selection-by-tapping-after-changing-focused-element-bounds.html

  • dom/ElementContext.h:

(WebCore::ElementContext::isSameElement const):
(WebCore::operator==):

Source/WebKit:
REGRESSION (r251693): [iOS] Unable to change selection in a focused element if the element's bounds change
https://bugs.webkit.org/show_bug.cgi?id=203582

Reviewed by Tim Horton.

The refactoring in r251693 broke the ability to change selection in an editable area by tapping in iOS Safari,
in the case where the editable element's bounds change after focus. This is because the aforementioned change
now compares position informations' element context against the focused element information's element context to
check whether or not the position information request was inside the focused element. However, if the bounds of
the focused element change in between the position information request and when the element is initially
focused, the operator== comparison will fail, causing us to prevent text selection.

To fix this, only check whether or not the two element contexts refer to the same element in the DOM by
comparing page, document and element identifiers, but not the element's bounding rect.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:nodeHasBuiltInClickHandling:]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):

LayoutTests:
REGRESSION (r251693): [iOS] Unable to change selection after focusing an element with keyboard attached
https://bugs.webkit.org/show_bug.cgi?id=203582

Reviewed by Tim Horton.

Add a new layout test to cover this scenario.

  • editing/selection/ios/set-selection-by-tapping-after-changing-focused-element-bounds-expected.txt: Added.
  • editing/selection/ios/set-selection-by-tapping-after-changing-focused-element-bounds.html: Added.
7:29 PM Changeset in webkit [251760] by Alan Coon
  • 7 edits in trunk/Source

Versioning.

7:25 PM Changeset in webkit [251759] by Alan Coon
  • 1 copy in tags/Safari-609.1.9

Tag Safari-609.1.9.

6:30 PM Changeset in webkit [251758] by Alan Coon
  • 1 edit in branches/safari-608-branch/Source/WebKit/UIProcess/WebAuthentication/Cocoa/NfcService.mm

Unreviewed build fix. rdar://problem/56579657

6:26 PM Changeset in webkit [251757] by Alan Coon
  • 22 edits
    1 copy
    1 move
    1 add in branches/safari-608-branch

Cherry-pick r251317. rdar://problem/56598357

[WebAuthn] Warn users when no credentials are found
https://bugs.webkit.org/show_bug.cgi?id=203147
<rdar://problem/55931123>

Reviewed by Brent Fulgham.

Source/WebKit:

This patch returns _WKWebAuthenticationPanelUpdateNoCredentialsFound to client via
-[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:] when either
CtapAuthenticator receives kCtap2ErrNoCredentials or U2fAuthenticator exhausts the
allow list.

This patch also enhances CtapAuthenticator::tryDowngrade to check if the CTAP command
can be converted to U2F commands to ensure kCtap2ErrNoCredentials is returned if it
is the case. Otherwise, after downgrading, U2fAuthenticator will return NotSupportedError
given it can't convert the commands.

  • UIProcess/API/APIUIClient.h:
  • UIProcess/API/APIWebAuthenticationPanelClient.h: (API::WebAuthenticationPanelClient::updatePanel const):
  • UIProcess/WebAuthentication/Authenticator.h:
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::authenticatorStatusUpdated):
  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.h:
  • UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm: (WebKit::WebAuthenticationPanelClient::WebAuthenticationPanelClient): (WebKit::wkWebAuthenticationPanelUpdate): (WebKit::WebAuthenticationPanelClient::updatePanel const):
  • UIProcess/WebAuthentication/WebAuthenticationFlags.h: Renamed from Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationPanelFlags.h.
  • UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp: (WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived): (WebKit::CtapAuthenticator::tryDowngrade):
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp: (WebKit::U2fAuthenticator::issueSignCommand):
  • WebKit.xcodeproj/project.pbxproj:

Tools:

Adds new tests for _WKWebAuthenticationPanelUpdateNoCredentialsFound.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]): (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-cancel.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-no-credentials.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-u2f-no-credentials.html: Added.

LayoutTests:

Adds new tests for CtapAuthenticator::tryDowngrade enhancement.

  • http/wpt/webauthn/public-key-credential-get-failure-hid.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-get-failure-hid.https.html:

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

6:25 PM Changeset in webkit [251756] by Alan Coon
  • 24 edits
    1 add in branches/safari-608-branch

Cherry-pick r251500. rdar://problem/56579657

[WebAuthn] Warn users when multiple NFC tags present
https://bugs.webkit.org/show_bug.cgi?id=200932
<rdar://problem/54890736>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by new tests in existing test file.

  • testing/MockWebAuthenticationConfiguration.h: (WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::decode):
  • testing/MockWebAuthenticationConfiguration.idl: Adds a new test option.

Source/WebKit:

This patch utilizes -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:] to
inform clients about multiple physical tags are presenting such that clients can instruct users
to select only one of them physically. Given a physical tag could have multiple different
interfaces, which NearField will treat them into different NFTags, the tagID is then used to
identify if there are actually multiple physical tags.

This patch also adds the ability to restart polling of a partiuclar NFReaderSession to NfcConnection
and the ability to restart the whole session to NfcService. The former is used to recover from errors
in the discovery stages, and the latter is used to recover from errors returned from authenticators
in the request stages. For the latter, given NfcConnection is not awared of the syntax of FIDO2/U2F
protocol, and CtapAuthenticator/U2fAuthenticator are not awared the transport of the underneath driver.
A generic restartDiscovery process is added to each service and it is up to the actual service to
implement the actual process such that AuthenticatorManager can arbitrarily call it after exceptions
are returned to restart the whole NFC session. To achieve restartDiscovery, NfcConnection is made
RefCounted as well such that both the NfcService and the CtapNfcDriver could hold it at the same time.
CtapNfcDriver uses the connection to complete requests as before while NfcService has the new capability
to use it to stop the current session when restartDiscovery kicks off.

  • Platform/spi/Cocoa/NearFieldSPI.h:
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::serviceStatusUpdated): (WebKit::AuthenticatorManager::respondReceived): (WebKit::AuthenticatorManager::restartDiscovery):
  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp: (WebKit::AuthenticatorTransportService::startDiscovery): (WebKit::AuthenticatorTransportService::restartDiscovery):
  • UIProcess/WebAuthentication/AuthenticatorTransportService.h: (WebKit::AuthenticatorTransportService::restartDiscoveryInternal):
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.h:
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm: (WebKit::NfcConnection::create): (WebKit::NfcConnection::NfcConnection): (WebKit::NfcConnection::~NfcConnection): (WebKit::NfcConnection::stop const): (WebKit::NfcConnection::didDetectTags): (WebKit::NfcConnection::restartPolling): (WebKit::NfcConnection::startPolling): (WebKit::NfcConnection::didDetectTags const): Deleted.
  • UIProcess/WebAuthentication/Cocoa/NfcService.h:
  • UIProcess/WebAuthentication/Cocoa/NfcService.mm: (WebKit::NfcService::NfcService): (WebKit::NfcService::didConnectTag): (WebKit::NfcService::didDetectMultipleTags const): (WebKit::NfcService::setConnection): (WebKit::NfcService::restartDiscoveryInternal): (WebKit::NfcService::platformStartDiscovery): (WebKit::NfcService::setDriver): Deleted.
  • UIProcess/WebAuthentication/Mock/MockNfcService.h:
  • UIProcess/WebAuthentication/Mock/MockNfcService.mm: (-[WKMockNFTag tagID]): (-[WKMockNFTag initWithNFTag:]): (-[WKMockNFTag dealloc]): (-[WKMockNFTag initWithType:]): (-[WKMockNFTag initWithType:tagID:]): (WebKit::MockNfcService::receiveStopPolling): (WebKit::MockNfcService::receiveStartPolling): (WebKit::MockNfcService::platformStartDiscovery): (WebKit::MockNfcService::detectTags): (WebKit::MockNfcService::detectTags const): Deleted.
  • UIProcess/WebAuthentication/fido/CtapNfcDriver.cpp: (WebKit::CtapNfcDriver::CtapNfcDriver):
  • UIProcess/WebAuthentication/fido/CtapNfcDriver.h:
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]): (TestWebKitAPI::TEST): Adds a new test for -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:].
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Added.

LayoutTests:

  • http/wpt/webauthn/public-key-credential-create-success-nfc.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-nfc.https.html: Adds new tests for multiple physical tags and service restart.

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

6:25 PM Changeset in webkit [251755] by Alan Coon
  • 19 edits in branches/safari-608-branch

Cherry-pick r251489. rdar://problem/56579665

[WebAuthn] Supply FrameInfo in -[WKUIDelegatePrivate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=202563
<rdar://problem/55973968>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by new test contents within existing tests.

  • Modules/webauthn/AuthenticatorCoordinator.cpp: (WebCore::AuthenticatorCoordinator::create const): (WebCore::AuthenticatorCoordinator::discoverFromExternalSource const):
  • Modules/webauthn/AuthenticatorCoordinatorClient.h:

Source/WebKit:

This patch makes WKFrameInfo available to clients via the above SPI. To do so,
SecuirtyOrigin of the caller document is passed from WebContent Process.

  • UIProcess/API/APIUIClient.h: (API::UIClient::runWebAuthenticationPanel):
  • UIProcess/API/C/WKPage.cpp: (WKPageSetPageUIClient):
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::UIClient::runWebAuthenticationPanel):
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::runPanel):
  • UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp: (WebKit::WebAuthenticatorCoordinatorProxy::makeCredential): (WebKit::WebAuthenticatorCoordinatorProxy::getAssertion): (WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp: (WebKit::WebAuthenticatorCoordinator::makeCredential): (WebKit::WebAuthenticatorCoordinator::getAssertion):
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:

Tools:

Adds new test contents into existing tests.

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelUIDelegate init]): (-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): (-[TestWebAuthenticationPanelUIDelegate frame]): (TestWebKitAPI::TEST):

LayoutTests:

  • http/wpt/webauthn/public-key-credential-get-success-hid.https.html: Imporves the flakiness.

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

6:25 PM Changeset in webkit [251754] by Alan Coon
  • 58 edits
    3 copies
    2 deletes in branches/safari-608-branch

Cherry-pick r251295. rdar://problem/56579665

[WebAuthn] Implement AuthenticatorCancel
https://bugs.webkit.org/show_bug.cgi?id=191523
<rdar://problem/55920204>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by new tests in existing test files.

  • Modules/credentialmanagement/CredentialsContainer.cpp: (WebCore::CredentialsContainer::get): (WebCore::CredentialsContainer::isCreate):
  • Modules/webauthn/AuthenticatorCoordinator.cpp: (WebCore::AuthenticatorCoordinator::create const): (WebCore::AuthenticatorCoordinator::discoverFromExternalSource const):
  • Modules/webauthn/AuthenticatorCoordinator.h:
  • Modules/webauthn/AuthenticatorCoordinatorClient.cpp: Removed.
  • Modules/webauthn/AuthenticatorCoordinatorClient.h:
  • Modules/webauthn/PublicKeyCredential.cpp: (WebCore::PublicKeyCredential::tryCreate):
  • Modules/webauthn/PublicKeyCredential.h:
  • Modules/webauthn/PublicKeyCredentialData.h:
  • Modules/webauthn/fido/DeviceRequestConverter.h:
  • Modules/webauthn/fido/FidoHidMessage.cpp: (fido::FidoHidMessage::FidoHidMessage):
  • Modules/webauthn/fido/FidoHidPacket.cpp: (fido::FidoHidInitPacket::getSerializedData const): (fido::FidoHidContinuationPacket::getSerializedData const):
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • testing/MockWebAuthenticationConfiguration.h: (WebCore::MockWebAuthenticationConfiguration::HidConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::HidConfiguration::decode):
  • testing/MockWebAuthenticationConfiguration.idl: Adds a new option to test AuthenticatorCancel.

Source/WebKit:

This patch implement two ways to cancel a pending WebAuthn ceremony:
1) Via navigation activities. Activities include i) main frame navigation, ii) main frame reload,
iii) main frame destruction, iv) sub frame navigation, and v) sub frame destruction. All the above
activities will cancel any pending WebAuthn ceremony that is associated with the frame. To prove
the association, a GlobalFrameIdentifier is bridged into WebAuthenticationRequestData. Navigation
cancel is done in WebPageProxy::didStartProvisionalLoadForFrameShared, and destruction cancel is done
in WebProcessProxy::didDestroyFrame and WebPageProxy::resetState.
2) Via UI. This path is simply bridged -[_WKWebAuthenticationPanel cancel] into AuthenticatorManager.
Noted, this patch follows the spec to wait until time out to notify RPs.
References: i) Step 20 of https://www.w3.org/TR/webauthn/#createCredential, ii) Step 18 of
https://www.w3.org/TR/webauthn/#getAssertion

As for what the cancel actually does, it:
1) stops any HID/NFC scanning;
2) sends CTAPHID_CANCEL to any HID authenticators that have been added. Reference:
https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html#usb-hid-cancel
Sending CTAPHID_CANCEL, however, is not trivial. An abstract class FidoAuthenticator is crafted to
do this labor for both CtapAuthenticator and U2fAuthenticator during the time of destructions.
Noted: The CtapHidDriver is the only CtapDriver implements the cancel method. Since the message
is sent during state reset, lifecycle of the HidConenction and HidService which manage the underlying
IOHIDDeviceRef is very hard to hold. This is required for the regular async sender. Therefore,
HidConnection::sendSync is crafted to send the message synchronously to get rid of the tediousness
of managing those lifecycles.

P.S. Vector::grow doesn't initialize POD types. Therefore, this patch also appends it with memset
for FidoHidPacket.

P.S.S. This patch also simplifies AuthenticatorCoordinatorClient by: i) moving code from AuthenticatorCoordinatorClient
to WebAuthenticatorCoordinatorClient, and ii) using sendWithAsyncReply. The latter allows us to
get rid of the complex mechanism of ensuring the right reply is returned.

  • DerivedSources.make:
  • Sources.txt:
  • UIProcess/API/APIWebAuthenticationPanel.cpp: (API::WebAuthenticationPanel::create): (API::WebAuthenticationPanel::WebAuthenticationPanel): (API::WebAuthenticationPanel::cancel const):
  • UIProcess/API/APIWebAuthenticationPanel.h:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm: (-[_WKWebAuthenticationPanel cancel]):
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::cancelRequest): (WebKit::AuthenticatorManager::clearState): (WebKit::AuthenticatorManager::runPanel): (WebKit::AuthenticatorManager::resetState):
  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/Cocoa/HidConnection.h: (WebKit::HidConnection::isInitialized const): (WebKit::HidConnection::setIsInitialized):
  • UIProcess/WebAuthentication/Cocoa/HidConnection.mm: (WebKit::HidConnection::~HidConnection): (WebKit::HidConnection::initialize): (WebKit::HidConnection::terminate): (WebKit::HidConnection::sendSync): (WebKit::HidConnection::send): (WebKit::HidConnection::registerDataReceivedCallback):
  • UIProcess/WebAuthentication/Mock/MockHidConnection.cpp: (WebKit::MockHidConnection::initialize): (WebKit::MockHidConnection::terminate): (WebKit::MockHidConnection::sendSync): (WebKit::MockHidConnection::send): (WebKit::MockHidConnection::feedReports):
  • UIProcess/WebAuthentication/Mock/MockHidConnection.h:
  • UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp: (WebKit::WebAuthenticatorCoordinatorProxy::makeCredential): (WebKit::WebAuthenticatorCoordinatorProxy::getAssertion): (WebKit::WebAuthenticatorCoordinatorProxy::handleRequest): (WebKit::WebAuthenticatorCoordinatorProxy::isUserVerifyingPlatformAuthenticatorAvailable): (WebKit::WebAuthenticatorCoordinatorProxy::requestReply): Deleted.
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp: (WebKit::CtapAuthenticator::CtapAuthenticator): (WebKit::CtapAuthenticator::makeCredential): (WebKit::CtapAuthenticator::getAssertion): (WebKit::CtapAuthenticator::tryDowngrade):
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.h:
  • UIProcess/WebAuthentication/fido/CtapDriver.h: (WebKit::CtapDriver::cancel):
  • UIProcess/WebAuthentication/fido/CtapHidDriver.cpp: (WebKit::CtapHidDriver::Worker::write): (WebKit::CtapHidDriver::Worker::read): (WebKit::CtapHidDriver::Worker::returnMessage): (WebKit::CtapHidDriver::Worker::reset): (WebKit::CtapHidDriver::Worker::cancel): (WebKit::CtapHidDriver::continueAfterChannelAllocated): (WebKit::CtapHidDriver::continueAfterResponseReceived): (WebKit::CtapHidDriver::returnResponse): (WebKit::CtapHidDriver::reset): (WebKit::CtapHidDriver::cancel):
  • UIProcess/WebAuthentication/fido/CtapHidDriver.h:
  • UIProcess/WebAuthentication/fido/FidoAuthenticator.cpp: Copied from Source/WebKit/UIProcess/API/APIWebAuthenticationPanel.cpp. (WebKit::FidoAuthenticator::FidoAuthenticator): (WebKit::FidoAuthenticator::~FidoAuthenticator): (WebKit::FidoAuthenticator::driver const): (WebKit::FidoAuthenticator::releaseDriver):
  • UIProcess/WebAuthentication/fido/FidoAuthenticator.h: Copied from Source/WebKit/UIProcess/API/APIWebAuthenticationPanel.cpp.
  • UIProcess/WebAuthentication/fido/FidoService.cpp: (WebKit::FidoService::continueAfterGetInfo):
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp: (WebKit::U2fAuthenticator::U2fAuthenticator): (WebKit::U2fAuthenticator::issueCommand):
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared): (WebKit::WebPageProxy::resetState):
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didDestroyFrame):
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp: (WebKit::WebAuthenticatorCoordinator::WebAuthenticatorCoordinator): (WebKit::WebAuthenticatorCoordinator::makeCredential): (WebKit::WebAuthenticatorCoordinator::getAssertion): (WebKit::WebAuthenticatorCoordinator::isUserVerifyingPlatformAuthenticatorAvailable): (WebKit::WebAuthenticatorCoordinator::~WebAuthenticatorCoordinator): Deleted.
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:
  • WebProcess/WebAuthentication/WebAuthenticatorCoordinator.messages.in: Removed.
  • WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::fromCoreFrame):
  • WebProcess/WebPage/WebFrame.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp: (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-cancel.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html.
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html:
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion.html:

LayoutTests:

Modified one of the error message that is no longer emitted.

  • http/wpt/webauthn/public-key-credential-create-failure.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-hid.https.html:

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

6:25 PM Changeset in webkit [251753] by Alan Coon
  • 5 edits in branches/safari-608-branch

Cherry-pick r251154. rdar://problem/56715899

[WebAuthn] Rename -[WKUIDelegatePrivate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:] to -[WKUIDelegatePrivate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=202564
<rdar://problem/55974027>

Reviewed by Brent Fulgham.

Source/WebKit:

Rename the SPI to a proper SPI style.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::runWebAuthenticationPanel):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): (-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): Deleted.

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

6:25 PM Changeset in webkit [251752] by Alan Coon
  • 3 edits
    2 adds in branches/safari-608-branch/Tools

Cherry-pick r251148. rdar://problem/56598349

[WebAuthn] Write more tests for _WKWebAuthenticationPanel
https://bugs.webkit.org/show_bug.cgi?id=202565
<rdar://problem/55974128>

Reviewed by Brent Fulgham.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:]): (-[TestWebAuthenticationPanelUIDelegate init]): (-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): (TestWebKitAPI::TEST):
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html: Added.

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

6:25 PM Changeset in webkit [251751] by Alan Coon
  • 72 edits
    2 adds in branches/safari-608-branch

Cherry-pick r250940. rdar://problem/56598350

[WebAuthn] Move the mock testing entrance to Internals
https://bugs.webkit.org/show_bug.cgi?id=202560
<rdar://problem/55973793>

Reviewed by Chris Dumez.

Source/WebCore:

This patch moves TestRunner.setWebAuthenticationMockConfiguration to
Internals.setMockWebAuthenticationConfiguration and removes the old
entrance. The purpose of this patch is to allow API tests to use
the same mock infrastructure that is used by layout tests.

No new tests, covered by updates on existing tests.

  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webauthn/PublicKeyCredentialCreationOptions.h:
  • WebCore.xcodeproj/project.pbxproj:
  • page/ChromeClient.h: (WebCore::ChromeClient::setMockWebAuthenticationConfiguration):
  • testing/Internals.cpp: (WebCore::Internals::setMockWebAuthenticationConfiguration):
  • testing/Internals.h:
  • testing/Internals.idl:
  • testing/MockWebAuthenticationConfiguration.h: Added. (WebCore::MockWebAuthenticationConfiguration::LocalConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::LocalConfiguration::decode): (WebCore::MockWebAuthenticationConfiguration::HidConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::HidConfiguration::decode): (WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::decode): (WebCore::MockWebAuthenticationConfiguration::encode const): (WebCore::MockWebAuthenticationConfiguration::decode):
  • testing/MockWebAuthenticationConfiguration.idl: Added.

Source/WebKit:

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp: (WKWebsiteDataStoreSetWebAuthenticationMockConfiguration): Deleted.
  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp: (WebKit::AuthenticatorTransportService::createMock):
  • UIProcess/WebAuthentication/AuthenticatorTransportService.h:
  • UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp: (WebKit::MockAuthenticatorManager::MockAuthenticatorManager):
  • UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.h:
  • UIProcess/WebAuthentication/Mock/MockHidConnection.cpp: (WebKit::MockHidConnection::send): (WebKit::MockHidConnection::registerDataReceivedCallbackInternal): (WebKit::MockHidConnection::parseRequest): (WebKit::MockHidConnection::feedReports): (WebKit::MockHidConnection::shouldContinueFeedReports):
  • UIProcess/WebAuthentication/Mock/MockHidConnection.h:
  • UIProcess/WebAuthentication/Mock/MockHidService.cpp: (WebKit::MockHidService::MockHidService):
  • UIProcess/WebAuthentication/Mock/MockHidService.h:
  • UIProcess/WebAuthentication/Mock/MockLocalConnection.h:
  • UIProcess/WebAuthentication/Mock/MockLocalConnection.mm: (WebKit::MockLocalConnection::MockLocalConnection):
  • UIProcess/WebAuthentication/Mock/MockLocalService.h:
  • UIProcess/WebAuthentication/Mock/MockLocalService.mm: (WebKit::MockLocalService::MockLocalService):
  • UIProcess/WebAuthentication/Mock/MockNfcService.h:
  • UIProcess/WebAuthentication/Mock/MockNfcService.mm: (WebKit::MockNfcService::MockNfcService): (WebKit::MockNfcService::platformStartDiscovery): (WebKit::MockNfcService::detectTags const):
  • UIProcess/WebAuthentication/Mock/MockWebAuthenticationConfiguration.h: Removed.
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setMockWebAuthenticationConfiguration):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::setMockWebAuthenticationConfiguration):
  • WebProcess/WebCoreSupport/WebChromeClient.h:

Tools:

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebAuthenticationMockConfiguration): Deleted.
  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::setWebAuthenticationMockConfiguration): Deleted.
  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • http/wpt/webauthn/ctap-hid-failure.https.html:
  • http/wpt/webauthn/ctap-hid-success.https.html:
  • http/wpt/webauthn/ctap-nfc-failure.https.html:
  • http/wpt/webauthn/idl.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-hid-silent.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-hid.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-local-silent.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-local.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-nfc.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-u2f-silent.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-u2f.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-local.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-nfc.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-u2f.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-hid-silent.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-hid.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-local-silent.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-local.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-nfc.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-u2f-silent.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-u2f.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-hid.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-local.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-nfc.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-u2f.https.html:
  • http/wpt/webauthn/resources/public-key-credential-ip-address.https.html:

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

5:55 PM Changeset in webkit [251750] by Simon Fraser
  • 15 edits in trunk

Align CSS hsl() -> rgb() color conversion with the spec
https://bugs.webkit.org/show_bug.cgi?id=203592

Reviewed by Tim Horton.
LayoutTests/imported/w3c:

Fix lots of tests in css/css-color/color-resolving-hsl.html by matching the specified rounding
when converting between hsl() and rgb().

Remove some duplicated code, and call HSLToSRGB().

  • web-platform-tests/css/css-color/color-resolving-expected.txt:
  • web-platform-tests/css/css-color/color-resolving-hsl-expected.txt:
  • web-platform-tests/css/css-color/parsing/color-computed-expected.txt:
  • web-platform-tests/css/css-color/parsing/color-valid-expected.txt:

Source/WebCore:

Fix lots of tests in css/css-color/color-resolving-hsl.html by matching the specified rounding
when converting between hsl() and rgb().

Remove some duplicated code, and call HSLToSRGB().

Tested by WPT.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::parseHSLParameters):

  • platform/graphics/Color.cpp:

(WebCore::makeRGBAFromHSLA):
(WebCore::calcHue): Deleted.

  • platform/graphics/Color.h:

LayoutTests:

  • platform/mac/fast/css/hsl-color-expected.txt:
  • platform/mac/fast/css/hsla-color-expected.txt:
5:43 PM Changeset in webkit [251749] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

5:32 PM Changeset in webkit [251748] by Alan Coon
  • 1 copy in tags/Safari-608.4.4

Tag Safari-608.4.4.

5:29 PM Changeset in webkit [251747] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

5:28 PM Changeset in webkit [251746] by Chris Dumez
  • 8 edits
    2 adds in trunk

UserMediaRequest should not prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203098
<rdar://problem/56716101>

Reviewed by Eric Carlson.

Source/WebCore:

Allow pages to enter the back/forward cache, even if they have a pending
getUserMedia promise. Whenever we get a permission decision from the
UIProcess, we now schedule a task to resolve/reject the promise on the
WindowEventLoop. The WindowEventLoop properly gets suspended while in
the back/forward cache.

Test: http/tests/navigation/page-cache-getUserMedia-pending-promise.html

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::getUserMedia const):
If the document is not fully active, reject the promise with an InvalidStateError, as per:

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::allow):
(WebCore::UserMediaRequest::deny):
(WebCore::UserMediaRequest::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.

  • Modules/mediastream/UserMediaRequest.h:

LayoutTests:

Add layout test coverage.

  • fast/mediastream/MediaDevices-getUserMedia-expected.txt:
  • http/tests/navigation/page-cache-getUserMedia-pending-promise-expected.txt: Added.
  • http/tests/navigation/page-cache-getUserMedia-pending-promise.html: Added.
5:21 PM Changeset in webkit [251745] by commit-queue@webkit.org
  • 11 edits
    16 adds in trunk

[Picture-in-Picture Web API] Implement PictureInPictureWindow
https://bugs.webkit.org/show_bug.cgi?id=202615

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

Source/WebCore:

Tests: media/picture-in-picture-api-enter-pip-1.html

media/picture-in-picture-api-enter-pip-2.html
media/picture-in-picture-api-enter-pip-3.html
media/picture-in-picture-api-enter-pip-4.html
media/picture-in-picture-api-exit-pip-1.html
media/picture-in-picture-api-exit-pip-2.html
media/picture-in-picture-api-pip-events.html
media/picture-in-picture-api-pip-window.html

  • Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:

(WebCore::HTMLVideoElementPictureInPicture::HTMLVideoElementPictureInPicture):
(WebCore::HTMLVideoElementPictureInPicture::requestPictureInPicture):
(WebCore::HTMLVideoElementPictureInPicture::didEnterPictureInPicture):
(WebCore::HTMLVideoElementPictureInPicture::didExitPictureInPicture):
(WebCore::HTMLVideoElementPictureInPicture::pictureInPictureWindowResized):

  • Modules/pictureinpicture/HTMLVideoElementPictureInPicture.h:
  • Modules/pictureinpicture/PictureInPictureWindow.cpp:

(WebCore::PictureInPictureWindow::create):
(WebCore::PictureInPictureWindow::PictureInPictureWindow):
(WebCore::PictureInPictureWindow::setSize):
(WebCore::PictureInPictureWindow::close):

  • Modules/pictureinpicture/PictureInPictureWindow.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::fullscreenModeChanged):
(WebCore::HTMLVideoElement::didBecomeFullscreenElement):
(WebCore::HTMLVideoElement::setPictureInPictureObserver):
(WebCore::HTMLVideoElement::setVideoFullscreenFrame):

  • html/HTMLVideoElement.h:
  • platform/PictureInPictureObserver.h:

LayoutTests:

Add layout test cases for the Picture-in-Picture API.

  • TestExpectations:
  • media/picture-in-picture-api-enter-pip-1-expected.txt: Added.
  • media/picture-in-picture-api-enter-pip-1.html: Added.
  • media/picture-in-picture-api-enter-pip-2-expected.txt: Added.
  • media/picture-in-picture-api-enter-pip-2.html: Added.
  • media/picture-in-picture-api-enter-pip-3-expected.txt: Added.
  • media/picture-in-picture-api-enter-pip-3.html: Added.
  • media/picture-in-picture-api-enter-pip-4-expected.txt: Added.
  • media/picture-in-picture-api-enter-pip-4.html: Added.
  • media/picture-in-picture-api-exit-pip-1-expected.txt: Added.
  • media/picture-in-picture-api-exit-pip-1.html: Added.
  • media/picture-in-picture-api-exit-pip-2-expected.txt: Added.
  • media/picture-in-picture-api-exit-pip-2.html: Added.
  • media/picture-in-picture-api-pip-events-expected.txt: Added.
  • media/picture-in-picture-api-pip-events.html: Added.
  • media/picture-in-picture-api-pip-window-expected.txt: Added.
  • media/picture-in-picture-api-pip-window.html: Added.
  • platform/mac-wk2/TestExpectations:
5:10 PM Changeset in webkit [251744] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Opacity slider background doesn't update when when hue slider moves
https://bugs.webkit.org/show_bug.cgi?id=203593
<rdar://problem/56723629>

Reviewed by Matt Baker.

  • UserInterface/Views/ColorPicker.js:

(WI.ColorPicker.prototype.set color):
(WI.ColorPicker.prototype.colorSquareColorDidChange):
Remove unused function arguments.

(WI.ColorPicker.prototype.sliderValueDidChange):
Update the background of the opacity slider when the hue slider changes.

(WI.ColorPicker.prototype._updateOpacitySlider): Renamed from _updateSliders.
Drive-by: replace var with let.

5:02 PM Changeset in webkit [251743] by Alan Coon
  • 1 copy in tags/Safari-608.4.3

Tag Safari-608.4.3.

4:07 PM Changeset in webkit [251742] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

WebAnimation should never prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203088
<rdar://problem/56374249>

Patch by Antoine Quint <Antoine Quint> on 2019-10-29
Reviewed by Antti Koivisto.

Source/WebCore:

Test: webanimations/animation-page-cache.html

We remove the Web Animation override of the deprecated method ActiveDOMObject::shouldPreventEnteringBackForwardCache_DEPRECATED()
and instead ensure event dispatch is suspended along with the WebAnimation object through the adoption of a SuspendableTaskQueue.

We also ensure an animation correctly suspends itself when ActiveDOMObject::suspend() and ActiveDOMObject::resume() are called.
Implementing these methods showed that we have some placeholders in DeclarativeAnimation that were not necessary, so we remove those.

Finally, we no longer need to track the stopped state since the SuspendableTaskQueue will close itself when ActiveDOMObject::stop()
is called.

  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::stop): Deleted.
(WebCore::DeclarativeAnimation::suspend): Deleted.
(WebCore::DeclarativeAnimation::resume): Deleted.

  • animation/DeclarativeAnimation.h:
  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::WebAnimation):
(WebCore::WebAnimation::enqueueAnimationPlaybackEvent):
(WebCore::WebAnimation::suspend):
(WebCore::WebAnimation::resume):
(WebCore::WebAnimation::stop):
(WebCore::WebAnimation::hasPendingActivity):
(WebCore::WebAnimation::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.

  • animation/WebAnimation.h:

LayoutTests:

Add a new test that checks that an Animation that would run past a page's navigation is correctly suspended
and resumed as it enters and leaves the back/forward cache.

  • webanimations/animation-page-cache-expected.txt: Added.
  • webanimations/animation-page-cache.html: Added.
4:04 PM Changeset in webkit [251741] by Megan Gardner
  • 2 edits in trunk/LayoutTests

Update autocorrect test to have correctly focused contenteditable
https://bugs.webkit.org/show_bug.cgi?id=203552
<rdar://problem/51690426>

Reviewed by Wenson Hsieh.

Autocorrection bails when we are not first responder after
https://bugs.webkit.org/show_bug.cgi?id=192824
Therefore, this test must be written to first focus the
contenteditable, and then apply the autocorrection.

  • fast/events/ios/autocorrect-with-range-selection.html:
3:33 PM Changeset in webkit [251740] by dino@apple.com
  • 8 edits in trunk/Source/ThirdParty/ANGLE

[ANGLE] Put Apple platform compilation guards in a better place
https://bugs.webkit.org/show_bug.cgi?id=203590
<rdar://problem/56722345>

Reviewed by Simon Fraser.

Move the #define to platform.h.

  • src/common/platform.h:
  • src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp:
  • src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:
  • src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:
  • src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp:
  • src/libANGLE/renderer/gl/cgl/RendererCGL.cpp:
  • src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:
3:25 PM Changeset in webkit [251739] by Simon Fraser
  • 8 edits
    27 adds
    1 delete in trunk/LayoutTests

Update css/css-color WPT
https://bugs.webkit.org/show_bug.cgi?id=203585

Reviewed by Zalan Bujtas.
LayoutTests/imported/w3c:

Updated to e68120da0fb52f010f206f3ecc63cfa09885b0f4 (Wed Oct 23 13:18:06 2019 -0700).

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-color/META.yml: Added.
  • web-platform-tests/css/css-color/OWNERS: Removed.
  • web-platform-tests/css/css-color/animation/color-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-color/animation/color-interpolation.html: Added.
  • web-platform-tests/css/css-color/animation/opacity-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-color/animation/opacity-interpolation.html: Added.
  • web-platform-tests/css/css-color/animation/w3c-import.log: Added.
  • web-platform-tests/css/css-color/composited-filters-under-opacity-expected.html: Added.
  • web-platform-tests/css/css-color/composited-filters-under-opacity.html: Added.
  • web-platform-tests/css/css-color/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-color/inheritance.html: Added.
  • web-platform-tests/css/css-color/opacity-overlapping-letters-expected.html: Added.
  • web-platform-tests/css/css-color/opacity-overlapping-letters.html: Added.
  • web-platform-tests/css/css-color/parsing/color-computed-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/color-computed.html: Added.
  • web-platform-tests/css/css-color/parsing/color-invalid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/color-invalid.html: Added.
  • web-platform-tests/css/css-color/parsing/color-valid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/color-valid.html: Added.
  • web-platform-tests/css/css-color/parsing/opacity-computed-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/opacity-computed.html: Added.
  • web-platform-tests/css/css-color/parsing/opacity-invalid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/opacity-invalid.html: Added.
  • web-platform-tests/css/css-color/parsing/opacity-valid-expected.txt: Added.
  • web-platform-tests/css/css-color/parsing/opacity-valid.html: Added.
  • web-platform-tests/css/css-color/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-color/t31-color-text-a-expected.xht:
  • web-platform-tests/css/css-color/t32-opacity-zorder-c.xht:
  • web-platform-tests/css/css-color/w3c-import.log:

LayoutTests:

  • tests-options.json:
3:25 PM Changeset in webkit [251738] by Simon Fraser
  • 2 edits
    77 adds in trunk/LayoutTests/imported/w3c

Import css/css-box WPT
https://bugs.webkit.org/show_bug.cgi?id=203584

Reviewed by Tim Horton.

  • resources/import-expectations.json:
  • web-platform-tests/css/css-box/META.yml: Added.
  • web-platform-tests/css/css-box/animation/margin-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-box/animation/margin-interpolation.html: Added.
  • web-platform-tests/css/css-box/animation/padding-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-box/animation/padding-interpolation.html: Added.
  • web-platform-tests/css/css-box/animation/w3c-import.log: Added.
  • web-platform-tests/css/css-box/box-chrome-crash-001-expected.txt: Added.
  • web-platform-tests/css/css-box/box-chrome-crash-001.html: Added.
  • web-platform-tests/css/css-box/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-box/inheritance.html: Added.
  • web-platform-tests/css/css-box/parsing/clear-computed-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/clear-computed.html: Added.
  • web-platform-tests/css/css-box/parsing/clear-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/clear-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/clear-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/clear-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/float-computed-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/float-computed.html: Added.
  • web-platform-tests/css/css-box/parsing/float-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/float-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/float-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/float-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/height-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/height-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/height-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/height-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/margin-computed-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/margin-computed.html: Added.
  • web-platform-tests/css/css-box/parsing/margin-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/margin-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/margin-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/margin-shorthand.html: Added.
  • web-platform-tests/css/css-box/parsing/margin-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/margin-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/max-height-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/max-height-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/max-height-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/max-height-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/max-width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/max-width-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/max-width-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/max-width-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/min-height-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/min-height-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/min-height-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/min-height-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/min-width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/min-width-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/min-width-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/min-width-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/overflow-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/overflow-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/overflow-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/overflow-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/padding-computed-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/padding-computed.html: Added.
  • web-platform-tests/css/css-box/parsing/padding-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/padding-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/padding-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/padding-shorthand.html: Added.
  • web-platform-tests/css/css-box/parsing/padding-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/padding-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/visibility-computed-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/visibility-computed.html: Added.
  • web-platform-tests/css/css-box/parsing/visibility-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/visibility-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/visibility-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/visibility-valid.html: Added.
  • web-platform-tests/css/css-box/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-box/parsing/width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/width-invalid.html: Added.
  • web-platform-tests/css/css-box/parsing/width-valid-expected.txt: Added.
  • web-platform-tests/css/css-box/parsing/width-valid.html: Added.
  • web-platform-tests/css/css-box/w3c-import.log: Added.
2:54 PM Changeset in webkit [251737] by jer.noble@apple.com
  • 64 edits
    5 copies
    28 adds in trunk

Implement the Remote Playback API.
https://bugs.webkit.org/show_bug.cgi?id=162971

Reviewed by Youenn Fablet.

Source/JavaScriptCore:

Add RemotePlayback as a common identifier, needed for bindings due to "EnabledAtRuntime=RemotePlayback".

  • runtime/CommonIdentifiers.h:

Source/WebCore:

Tests: media/remoteplayback-cancel-invalid.html

media/remoteplayback-prompt.html
media/remoteplayback-target-availability.html
media/remoteplayback-watch-disableremoteplayback.html
imported/w3c/web-platform-tests/remote-playback/cancel-watch-availability.html
imported/w3c/web-platform-tests/remote-playback/disable-remote-playback-cancel-watch-availability-throws.html
imported/w3c/web-platform-tests/remote-playback/disable-remote-playback-prompt-throws.html
imported/w3c/web-platform-tests/remote-playback/disable-remote-playback-watch-availability-throws.html
imported/w3c/web-platform-tests/remote-playback/idlharness.window.html
imported/w3c/web-platform-tests/remote-playback/watch-availability-initial-callback.html

The Remote Playback API <https://w3c.github.io/remote-playback> allows page authors
to control the presentation of <audio> and <video> elements to remote playback devices
such as the Apple TV or Chromecast. WebKit already exposes a non-standardized API to
initiate remote playback, and the Remote Playback API is largely congruent with the
webkitShowPlaybackTargetPicker() API et. al.

One addition provided by the Remote Playback API is an event in the case the user
dismisses the picker UI without making a choice, so this concept needs to be plumbed
through from the ChromeClient to the PlatformMediaSession.

  • DerivedSources.make:
  • Modules/mediasession/WebMediaSessionManager.cpp:

(WebCore::WebMediaSessionManager::mockMediaPlaybackTargetPickerDismissPopup):
(WebCore::WebMediaSessionManager::playbackTargetPickerWasDismissed):
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients):

  • Modules/mediasession/WebMediaSessionManager.h:
  • Modules/mediasession/WebMediaSessionManagerClient.h:
  • Modules/remoteplayback/HTMLMediaElementRemotePlayback.h: Added.

(WebCore::HTMLMediaElementRemotePlayback::remote):
(WebCore::HTMLMediaElementRemotePlayback::hasAttributeWithoutSynchronization):
(WebCore::HTMLMediaElementRemotePlayback::setBooleanAttribute):

  • Modules/remoteplayback/HTMLMediaElementRemotePlayback.idl: Added.
  • Modules/remoteplayback/RemotePlayback.cpp: Added.

(WebCore::RemotePlayback::create):
(WebCore::RemotePlayback::RemotePlayback):
(WebCore::RemotePlayback::~RemotePlayback):
(WebCore::RemotePlayback::watchAvailability):
(WebCore::RemotePlayback::cancelWatchAvailability):
(WebCore::RemotePlayback::prompt):
(WebCore::RemotePlayback::shouldPlayToRemoteTargetChanged):
(WebCore::RemotePlayback::setState):
(WebCore::RemotePlayback::establishConnection):
(WebCore::RemotePlayback::disconnect):
(WebCore::RemotePlayback::updateAvailability):
(WebCore::RemotePlayback::playbackTargetPickerWasDismissed):
(WebCore::RemotePlayback::isPlayingToRemoteTargetChanged):
(WebCore::RemotePlayback::hasAvailabilityCallbacks):
(WebCore::RemotePlayback::availabilityChanged):
(WebCore::RemotePlayback::invalidate):
(WebCore::RemotePlayback::activeDOMObjectName):
(WebCore::RemotePlayback::canSuspendForDocumentSuspension):
(WebCore::RemotePlayback::stop):

  • Modules/remoteplayback/RemotePlayback.h: Added.

(WebCore::RemotePlayback::state):

  • Modules/remoteplayback/RemotePlayback.idl: Added.
  • Modules/remoteplayback/RemotePlaybackAvailabilityCallback.h: Added.

(WebCore::RemotePlaybackAvailabilityCallback::~RemotePlaybackAvailabilityCallback):

  • Modules/remoteplayback/RemotePlaybackAvailabilityCallback.idl: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/generic/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setRemotePlaybackEnabled):
(WebCore::RuntimeEnabledFeatures::remotePlaybackEnabled):

  • dom/Document.cpp:

(WebCore::Document::playbackTargetPickerWasDismissed):

  • dom/Document.h:
  • dom/EventNames.h:
  • dom/EventTargetFactory.in:
  • html/HTMLAttributeNames.in:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange):
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
(WebCore::HTMLMediaElement::addEventListener):
(WebCore::HTMLMediaElement::removeEventListener):
(WebCore::HTMLMediaElement::setWirelessPlaybackTarget):
(WebCore::HTMLMediaElement::playbackTargetPickerWasDismissed):
(WebCore::HTMLMediaElement::remoteHasAvailabilityCallbacksChanged):
(WebCore::HTMLMediaElement::createMediaPlayer):

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::remote):

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled):
(WebCore::MediaElementSession::playbackTargetPickerWasDismissed):

  • html/MediaElementSession.h:
  • page/Page.cpp:

(WebCore::Page::mockMediaPlaybackTargetPickerDismissPopup):
(WebCore::Page::playbackTargetPickerWasDismissed):

  • page/Page.h:
  • page/Settings.in:
  • platform/audio/PlatformMediaSession.h:

(WebCore::PlatformMediaSessionClient::playbackTargetPickerWasDismissed):

  • platform/graphics/MediaPlaybackTargetClient.h:
  • platform/graphics/MediaPlaybackTargetPicker.h:

(WebCore::MediaPlaybackTargetPicker::playbackTargetPickerWasDismissed):

  • platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:

(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):

  • platform/mock/MediaPlaybackTargetPickerMock.cpp:

(WebCore::MediaPlaybackTargetPickerMock::dismissPopup):

  • platform/mock/MediaPlaybackTargetPickerMock.h:
  • testing/Internals.cpp:

(WebCore::Internals::mockMediaPlaybackTargetPickerDismissPopup):

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

Source/WebKit:

Add a preference to enable the Remote Playback API. Pass the playbackTargetPickerWasDismissed()
notification on to Page.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesGetRemotePlaybackEnabled):
(WKPreferencesSetRemotePlaybackEnabled):

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::playbackTargetPickerWasDismissed):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::mockMediaPlaybackTargetPickerDismissPopup):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::playbackTargetPickerWasDismissed):

Tools:

Enable RemotePlayback for DumpRenderTree and WebKitTestRunner.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

  • media/remoteplayback-cancel-invalid-expected.txt: Added.
  • media/remoteplayback-cancel-invalid.html: Added.
  • media/remoteplayback-prompt-expected.txt: Added.
  • media/remoteplayback-prompt.html: Added.
  • media/remoteplayback-target-availability-expected.txt: Added.
  • media/remoteplayback-target-availability.html: Added.
  • media/remoteplayback-watch-disableremoteplayback-expected.txt: Added.
  • media/remoteplayback-watch-disableremoteplayback.html: Added.
  • platform/ios-wk2/TestExpectations:
2:43 PM Changeset in webkit [251736] by ysuzuki@apple.com
  • 8 edits
    1 add in trunk

[JSC] Add fast path for String#localeCompare
https://bugs.webkit.org/show_bug.cgi?id=202676

Reviewed by Mark Lam.

JSTests:

  • stress/locale-compare-bits.js: Added.

(shouldBe):

Source/JavaScriptCore:

When String#localeCompare is invoked, we are setting up UCharIterator to iterate code points.
But this is too slow since its implementation is invoking function pointer for each code point
to get next code point. Strings have many code points typically. Invoking function pointer so many times
takes too much time just for locale-aware comparison.

This patch revises the implementation by adding 2 fast path and 1 slow path. The slow path requires extra memory,
but it is soon released (not GC-managed).

  1. If both strings are ASCII (not Latin1), we use ucol_strcollUTF8.
  2. If both strings are 16-bit, we use ucol_strcoll.
  3. Otherwise, we convert strings to 16-bit strings, and then we use ucol_strcoll.

JetStream2/cdjs is improved from 56 to 85 on iMac Pro (50%).

  • runtime/IntlCollator.cpp:

(JSC::IntlCollator::compareStrings):

  • tools/JSDollarVM.cpp:

(JSC::functionMake16BitStringIfPossible):
(JSC::JSDollarVM::finishCreation):

Source/WTF:

  • wtf/text/StringView.h:

(WTF::StringView::isAllASCII const):

Tools:

  • TestWebKitAPI/Tests/WTF/StringView.cpp:

(TestWebKitAPI::TEST):

2:41 PM Changeset in webkit [251735] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION: WebContent getting killed due to syscall filter violation
https://bugs.webkit.org/show_bug.cgi?id=203575

Reviewed by Alexey Proskuryakov.

The sandbox profile on macOS needs to open up for a syscall.

No new tests, covered by existing tests.

  • WebProcess/com.apple.WebProcess.sb.in:
2:22 PM Changeset in webkit [251734] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[iOS] Clean up sandbox to group similar rules together
https://bugs.webkit.org/show_bug.cgi?id=203525
<rdar://problem/56686416>

Reviewed by Per Arne Vollan.

Clean up the sandbox rules by grouping rules by feature areas to make future editing easier.
This change should have no impact on behavior.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
2:21 PM Changeset in webkit [251733] by Truitt Savell
  • 2 edits in trunk/LayoutTests

imported/w3c/web-platform-tests/css/css-sizing/dynamic-available-size-iframe.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=203517

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
1:58 PM Changeset in webkit [251732] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebKit

REGRESSION (r251413): Nightly build crashes on launch due to -[WKPreferences _setShouldAllowDesignSystemUIFonts:]: unrecognized selector
https://bugs.webkit.org/show_bug.cgi?id=203549

Reviewed by Simon Fraser.

r251413 deleted an SPI that new Safari stopped calling. However,
old Safari continues to call it. The solution is just to add stub
implementations so old Safari doesn't fail to link at runtime.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _shouldAllowDesignSystemUIFonts]):
(-[WKPreferences _setShouldAllowDesignSystemUIFonts:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
1:39 PM Changeset in webkit [251731] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Flaky Test: imported/w3c/web-platform-tests/css/css-values/absolute_length_units.html
https://bugs.webkit.org/show_bug.cgi?id=203581

Unreviewed Test Gardening. Mark as flakey.

1:36 PM Changeset in webkit [251730] by Simon Fraser
  • 2 edits in trunk/LayoutTests

css/css-sizing/aspect-ratio-affects-container-width-when-height-changes.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=203583

Unreviewed Test Gardening. Mark as flakey.

1:20 PM Changeset in webkit [251729] by Alan Coon
  • 2 edits in tags/Safari-609.1.8/Source/WebCore

Cherry-pick r251614. rdar://problem/56598370

macCatalyst: Build failures in projects that have both AppKit and WAK headers
https://bugs.webkit.org/show_bug.cgi?id=203429
<rdar://problem/56598370>

Reviewed by Sam Weinig.

  • platform/ios/wak/WAKAppKitStubs.h: Slightly abuse the preprocessor to avoid errors due to redefining AppKit symbols.

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

1:04 PM Changeset in webkit [251728] by Simon Fraser
  • 271 edits
    15 copies
    212 adds
    1 delete in trunk/LayoutTests

Update css/css-multicol WPT
https://bugs.webkit.org/show_bug.cgi?id=203551

Reviewed by Zalan Bujtas.
LayoutTests/imported/w3c:

Import css-multicol tests from WPT at e68120da0fb52f010f206f3ecc63cfa09885b0f4 (Wed Oct 23 13:18:06 2019 -0700).

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-multicol/META.yml: Added.
  • web-platform-tests/css/css-multicol/OWNERS: Removed.
  • web-platform-tests/css/css-multicol/abspos-in-multicol-with-spanner-crash-expected.txt: Added.
  • web-platform-tests/css/css-multicol/abspos-in-multicol-with-spanner-crash.html: Added.
  • web-platform-tests/css/css-multicol/animation/column-count-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-multicol/animation/column-count-interpolation.html: Added.
  • web-platform-tests/css/css-multicol/animation/column-rule-color-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-multicol/animation/column-rule-color-interpolation.html: Added.
  • web-platform-tests/css/css-multicol/animation/column-rule-width-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-multicol/animation/column-rule-width-interpolation.html: Added.
  • web-platform-tests/css/css-multicol/animation/column-width-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-multicol/animation/column-width-interpolation.html: Added.
  • web-platform-tests/css/css-multicol/animation/w3c-import.log: Added.
  • web-platform-tests/css/css-multicol/balance-table-with-fractional-height-row-expected.txt: Added.
  • web-platform-tests/css/css-multicol/balance-table-with-fractional-height-row.html: Added.
  • web-platform-tests/css/css-multicol/columnfill-auto-max-height-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
  • web-platform-tests/css/css-multicol/columnfill-auto-max-height-001.html: Added.
  • web-platform-tests/css/css-multicol/columnfill-auto-max-height-002-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
  • web-platform-tests/css/css-multicol/columnfill-auto-max-height-002.html: Added.
  • web-platform-tests/css/css-multicol/composited-under-clip-under-multicol-expected.html: Added.
  • web-platform-tests/css/css-multicol/composited-under-clip-under-multicol.html: Added.
  • web-platform-tests/css/css-multicol/extremely-tall-multicol-with-extremely-tall-child-crash.html:
  • web-platform-tests/css/css-multicol/filter-with-abspos-expected.txt: Added.
  • web-platform-tests/css/css-multicol/filter-with-abspos.html: Added.
  • web-platform-tests/css/css-multicol/float-with-line-after-spanner-expected.html: Added.
  • web-platform-tests/css/css-multicol/float-with-line-after-spanner.html: Added.
  • web-platform-tests/css/css-multicol/going-out-of-flow-after-spanner.html:
  • web-platform-tests/css/css-multicol/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-multicol/inheritance.html: Added.
  • web-platform-tests/css/css-multicol/inline-block-and-column-span-all-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
  • web-platform-tests/css/css-multicol/inline-block-and-column-span-all.html: Added.
  • web-platform-tests/css/css-multicol/intrinsic-size-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
  • web-platform-tests/css/css-multicol/intrinsic-size-001.html: Added.
  • web-platform-tests/css/css-multicol/large-actual-column-count-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
  • web-platform-tests/css/css-multicol/large-actual-column-count.html: Added.
  • web-platform-tests/css/css-multicol/multicol-basic-001-expected.html:
  • web-platform-tests/css/css-multicol/multicol-basic-001.html:
  • web-platform-tests/css/css-multicol/multicol-basic-002-expected.html:
  • web-platform-tests/css/css-multicol/multicol-basic-002.html:
  • web-platform-tests/css/css-multicol/multicol-basic-003-expected.html:
  • web-platform-tests/css/css-multicol/multicol-basic-003.html:
  • web-platform-tests/css/css-multicol/multicol-basic-004-expected.html:
  • web-platform-tests/css/css-multicol/multicol-basic-004.html:
  • web-platform-tests/css/css-multicol/multicol-block-no-clip-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-block-no-clip-001.xht:
  • web-platform-tests/css/css-multicol/multicol-block-no-clip-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-block-no-clip-002.xht:
  • web-platform-tests/css/css-multicol/multicol-break-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-break-000.xht:
  • web-platform-tests/css/css-multicol/multicol-break-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-break-001.xht:
  • web-platform-tests/css/css-multicol/multicol-breaking-000-expected.html:
  • web-platform-tests/css/css-multicol/multicol-breaking-000.html:
  • web-platform-tests/css/css-multicol/multicol-breaking-001-expected.html:
  • web-platform-tests/css/css-multicol/multicol-breaking-001.html:
  • web-platform-tests/css/css-multicol/multicol-breaking-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001-expected.html.
  • web-platform-tests/css/css-multicol/multicol-breaking-004.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001.html.
  • web-platform-tests/css/css-multicol/multicol-breaking-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001-expected.html.
  • web-platform-tests/css/css-multicol/multicol-breaking-005.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001.html.
  • web-platform-tests/css/css-multicol/multicol-breaking-nobackground-000-expected.html:
  • web-platform-tests/css/css-multicol/multicol-breaking-nobackground-000.html:
  • web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001-expected.html:
  • web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001.html:
  • web-platform-tests/css/css-multicol/multicol-breaking-nobackground-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001-expected.html.
  • web-platform-tests/css/css-multicol/multicol-breaking-nobackground-004.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001.html.
  • web-platform-tests/css/css-multicol/multicol-breaking-nobackground-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-001-expected.html.
  • web-platform-tests/css/css-multicol/multicol-breaking-nobackground-005.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-breaking-nobackground-001.html.
  • web-platform-tests/css/css-multicol/multicol-clip-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-clip-001.xht:
  • web-platform-tests/css/css-multicol/multicol-clip-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-clip-002.xht:
  • web-platform-tests/css/css-multicol/multicol-collapsing-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-collapsing-001.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-001.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-002.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-003.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-004-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-004.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-005-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-005.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-006-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-006.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-007-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-007.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-invalid-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-invalid-001.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-invalid-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-invalid-002.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-toolong-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-toolong-001.xht:
  • web-platform-tests/css/css-multicol/multicol-containing-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-containing-001.xht:
  • web-platform-tests/css/css-multicol/multicol-containing-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-containing-002.xht:
  • web-platform-tests/css/css-multicol/multicol-count-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-001.xht:
  • web-platform-tests/css/css-multicol/multicol-count-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-002.xht:
  • web-platform-tests/css/css-multicol/multicol-count-computed-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-computed-003.xht:
  • web-platform-tests/css/css-multicol/multicol-count-computed-004-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-computed-004.xht:
  • web-platform-tests/css/css-multicol/multicol-count-computed-005-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-computed-005.xht:
  • web-platform-tests/css/css-multicol/multicol-count-negative-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-negative-001.xht:
  • web-platform-tests/css/css-multicol/multicol-count-negative-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-negative-002.xht:
  • web-platform-tests/css/css-multicol/multicol-count-non-integer-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-non-integer-001.xht:
  • web-platform-tests/css/css-multicol/multicol-count-non-integer-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-non-integer-002.xht:
  • web-platform-tests/css/css-multicol/multicol-count-non-integer-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-non-integer-003.xht:
  • web-platform-tests/css/css-multicol/multicol-dynamic-add-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-dynamic-add-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-fill-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-000.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-001.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-001.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-002.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-003.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-001.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-003-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-fill-balance-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-balance-001.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-000.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-001.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-002.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-003.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-fraction-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-fraction-001.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-large-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-large-001.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-large-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-large-002.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-negative-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-negative-001.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-percentage-001.html:
  • web-platform-tests/css/css-multicol/multicol-height-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-height-001.xht:
  • web-platform-tests/css/css-multicol/multicol-height-block-child-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-height-block-child-001.xht:
  • web-platform-tests/css/css-multicol/multicol-inherit-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-inherit-001.xht:
  • web-platform-tests/css/css-multicol/multicol-inherit-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-inherit-002.xht:
  • web-platform-tests/css/css-multicol/multicol-inherit-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-inherit-003.xht:
  • web-platform-tests/css/css-multicol/multicol-list-item-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-list-item-001.xht:
  • web-platform-tests/css/css-multicol/multicol-margin-001.xht:
  • web-platform-tests/css/css-multicol/multicol-margin-002.xht:
  • web-platform-tests/css/css-multicol/multicol-margin-003-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-margin-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-margin-child-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-margin-child-001.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-002.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-005-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-005.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-006-expected.txt: Added.
  • web-platform-tests/css/css-multicol/multicol-nested-006.html: Added.
  • web-platform-tests/css/css-multicol/multicol-nested-column-rule-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-column-rule-001.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-001.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-002.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-003.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-004-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-004.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-005-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-005.xht:
  • web-platform-tests/css/css-multicol/multicol-overflow-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-overflow-000.xht:
  • web-platform-tests/css/css-multicol/multicol-overflow-clip-positioned-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-overflow-clip-positioned.html: Added.
  • web-platform-tests/css/css-multicol/multicol-overflowing-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-overflowing-001.xht:
  • web-platform-tests/css/css-multicol/multicol-reduce-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-reduce-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-002.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-003.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-004.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-color-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-color-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-color-inherit-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-color-inherit-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-color-inherit-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-color-inherit-002.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-dashed-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-dashed-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-dotted-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-dotted-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-double-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-double-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-fraction-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-fraction-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-fraction-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-fraction-002.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-fraction-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-fraction-003.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-groove-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-groove-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-hidden-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-hidden-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-inset-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-inset-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-large-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-large-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-large-002.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-003-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-004-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-rule-nested-balancing-004.html: Added.
  • web-platform-tests/css/css-multicol/multicol-rule-none-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-none-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-outset-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-outset-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-percent-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-percent-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-px-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-px-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-ridge-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-ridge-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-samelength-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-samelength-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-shorthand-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-shorthand-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-shorthand-2-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-shorthand-2.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-solid-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-solid-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-stacking-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-stacking-001.xht:
  • web-platform-tests/css/css-multicol/multicol-shorthand-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-shorthand-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-000.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-002.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-003.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-004-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-004.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-005-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-005.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-006-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-006.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-007-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-007.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-008-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-008.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-009-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-009.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-010-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-010.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-011-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-011.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-button-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-button-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-button-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-button-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-button-003-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-button-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-003-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-004a-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-004a.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-004b-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-004b.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-005-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-005.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-006-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-006.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-007-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-007.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-008-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-children-height-008.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-003-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-004-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-004.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-005-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-005.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-006-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-006.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-007-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-007.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-008-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-008.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-009-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-009.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-010-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-010.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-011-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-011.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-012-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-012.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-013-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-add-013.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-003-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-004-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-004.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-005-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-005.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-006-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-006.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-007-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-dynamic-remove-007.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-fieldset-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-fieldset-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-fieldset-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-fieldset-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-fieldset-003-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-fieldset-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-list-item-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-list-item-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-list-item-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-list-item-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-002.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-002.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-firstchild-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-firstchild-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-restyle-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-restyle-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-restyle-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-restyle-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-restyle-003-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-restyle-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-restyle-004-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-restyle-004.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-rule-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-all-rule-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-span-float-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-float-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-none-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-none-001.xht:
  • web-platform-tests/css/css-multicol/multicol-table-cell-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-table-cell-001.xht:
  • web-platform-tests/css/css-multicol/multicol-table-cell-height-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-table-cell-height-001.xht:
  • web-platform-tests/css/css-multicol/multicol-table-cell-height-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-table-cell-height-002.xht:
  • web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001.xht:
  • web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-under-vertical-rl-scroll.html: Added.
  • web-platform-tests/css/css-multicol/multicol-width-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-001.xht:
  • web-platform-tests/css/css-multicol/multicol-width-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-002.xht:
  • web-platform-tests/css/css-multicol/multicol-width-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-003.xht:
  • web-platform-tests/css/css-multicol/multicol-width-004-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-width-004.html: Added.
  • web-platform-tests/css/css-multicol/multicol-width-005-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-width-005.html: Added.
  • web-platform-tests/css/css-multicol/multicol-width-ch-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-ch-001.xht:
  • web-platform-tests/css/css-multicol/multicol-width-count-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-count-001.xht:
  • web-platform-tests/css/css-multicol/multicol-width-count-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-count-002.xht:
  • web-platform-tests/css/css-multicol/multicol-width-invalid-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-invalid-001.xht:
  • web-platform-tests/css/css-multicol/multicol-width-large-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-large-001.xht:
  • web-platform-tests/css/css-multicol/multicol-width-large-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-large-002.xht:
  • web-platform-tests/css/css-multicol/multicol-width-negative-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-negative-001.xht:
  • web-platform-tests/css/css-multicol/multicol-width-small-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-small-001.xht:
  • web-platform-tests/css/css-multicol/multicol-zero-height-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-zero-height-001.xht:
  • web-platform-tests/css/css-multicol/nested-with-padding-and-spanner-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
  • web-platform-tests/css/css-multicol/nested-with-padding-and-spanner.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-count-computed-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-count-computed.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-count-invalid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-count-invalid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-count-valid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-count-valid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-fill-computed-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-fill-computed.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-fill-invalid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-fill-invalid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-fill-valid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-fill-valid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-color-computed-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-color-computed.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-color-invalid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-color-invalid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-color-valid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-color-valid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-computed-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-computed.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-invalid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-invalid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-shorthand.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-style-computed-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-style-computed.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-style-invalid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-style-invalid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-style-valid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-style-valid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-valid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-valid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-width-computed-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-width-computed.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-width-invalid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-width-valid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-rule-width-valid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-span-computed-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-span-computed.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-span-invalid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-span-invalid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-span-valid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-span-valid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-width-computed-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-width-computed.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-width-invalid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/column-width-valid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/column-width-valid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/columns-invalid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/columns-invalid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/columns-valid-expected.txt: Added.
  • web-platform-tests/css/css-multicol/parsing/columns-valid.html: Added.
  • web-platform-tests/css/css-multicol/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-multicol/support/w3c-import.log:
  • web-platform-tests/css/css-multicol/w3c-import.log:
  • web-platform-tests/css/css-multicol/with-custom-layout-on-same-element-crash.https-expected.txt: Added.
  • web-platform-tests/css/css-multicol/with-custom-layout-on-same-element-crash.https.html: Added.
  • web-platform-tests/css/css-multicol/with-custom-layout-on-same-element.https-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-004-expected.xht.
  • web-platform-tests/css/css-multicol/with-custom-layout-on-same-element.https.html: Added.

LayoutTests:

1:01 PM Changeset in webkit [251727] by dino@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[ANGLE] Window Server blocking stops single GPU systems from creating a CGLPixelFormat
https://bugs.webkit.org/show_bug.cgi?id=203522
<rdar://problem/56685302>

Reviewed by Alex Christensen.

The Web Content Process blocks access to the Window Server. For that reason, we
must create all CGLPixelFormats with the "offline renderer" flag, even if we're
not on a dual-GPU system.

  • src/libANGLE/renderer/gl/cgl/DisplayCGL.mm: Always enable kCGLPFAAllowOfflineRenderers.

(rx::DisplayCGL::initialize):

12:51 PM Changeset in webkit [251726] by Alan Coon
  • 4 edits in branches/safari-608-branch/Source/WebCore

Cherry-pick r251603. rdar://problem/56670801

Introduce AudioTrackPrivateMediaStreamCocoa::clear()
https://bugs.webkit.org/show_bug.cgi?id=203369
<rdar://problem/49017262>

Reviewed by Jer Noble.

Introduce the clear method to make sure the AudioTrackPrivteMediaStreamCocoa is in a clean state.
This will help further simplifications.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC): (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks):
  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp: (WebCore::AudioTrackPrivateMediaStreamCocoa::~AudioTrackPrivateMediaStreamCocoa): (WebCore::AudioTrackPrivateMediaStreamCocoa::clear):
  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:

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

12:51 PM Changeset in webkit [251725] by Alan Coon
  • 4 edits
    1 add in branches/safari-608-branch

Apply patch. rdar://problem/56280709

12:51 PM Changeset in webkit [251724] by Alan Coon
  • 5 edits
    2 adds in branches/safari-608-branch

Cherry-pick r250640. rdar://problem/56237433

REGRESSION (r245672): <select> dropdown with text-rendering: optimizeLegibility freezes Safari
https://bugs.webkit.org/show_bug.cgi?id=202198

Reviewed by Tim Horton.

Source/WebKit:

NSFont has a bug where passing "auto" to kCTFontOpticalSizeAttribute
causes an exception to be thrown. We don't catch the exception, so we
pop up back to the runloop, which confuses the UI process.

The solution is twofold: 1) Workaround the bug by passing the font size
to kCTFontOpticalSizeAttribute instead, and 2) catch any exceptions that
this part of the code might throw.

  • UIProcess/mac/WebPopupMenuProxyMac.mm: (WebKit::WebPopupMenuProxyMac::showPopupMenu):

Source/WTF:

  • wtf/Platform.h:

LayoutTests:

  • fast/forms/select-font-optical-size-expected.txt: Added.
  • fast/forms/select-font-optical-size.html: Added.

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

12:51 PM Changeset in webkit [251723] by Alan Coon
  • 3 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r251370. rdar://problem/56579672

Add more release logging for "Unexpectedly resumed" assertion
https://bugs.webkit.org/show_bug.cgi?id=203196

Reviewed by Geoffrey Garen.

  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::processDidResume):
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::processTaskStateDidChange):

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

12:51 PM Changeset in webkit [251722] by Alan Coon
  • 5 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r251304. rdar://problem/56579672

[iOS] "Unexpectedly Resumed" process assertion may cause us to get terminated
https://bugs.webkit.org/show_bug.cgi?id=203046
<rdar://problem/56179592>

Reviewed by Geoffrey Garen.

This patch implements the following to avoid getting terminated:

  1. Schedule the task to release the assertion on a background thread instead of the main thread so that we end up releasing the task even if the main thread is somehow hung.
  2. Add an invalidation handler to the process assertion which releases the assertion upon expiration.
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::processWasUnexpectedlyUnsuspended):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::processDidResume):
  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::processTaskStateDidChange):

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

12:51 PM Changeset in webkit [251721] by Alan Coon
  • 4 edits
    1 add in branches/safari-608-branch

Cherry-pick r250863. rdar://problem/56579654

Copying white text from dark mode WebKit apps and pasting in a light mode app results in white (invisible) text.
https://bugs.webkit.org/show_bug.cgi?id=202662
rdar://problem/48677354

Reviewed by Megan Gardner.

Source/WebCore:

Covered by new API tests.

HTMLConverter needs to strip white text colors when the document is in dark mode, like it does for black in light mode.

  • editing/cocoa/HTMLConverter.mm: (normalizedColor): Handle dark mode and ignore white. (HTMLConverterCaches::colorPropertyValueForNode): Pass element to normalizedColor.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/CopyRTF.mm: Added. (readRTFDataFromPasteboard): (copyAttributedStringFromHTML): (checkColor): (TEST):

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

12:39 PM Changeset in webkit [251720] by Wenson Hsieh
  • 9 edits
    1 add in trunk

Add enterkeyhint support
https://bugs.webkit.org/show_bug.cgi?id=189546
<rdar://problem/51021148>

Reviewed by Tim Horton.

Source/WebCore:

  • Headers.cmake: Add EnterKeyHint.h.

Source/WebKit:

This patch adds support for the enterkeyhint HTML attribute on iOS.

Tests: EnterKeyHintTests.EnterKeyHintInContentEditableElement

EnterKeyHintTests.EnterKeyHintInTextInput
EnterKeyHintTests.EnterKeyHintInTextArea

  • Shared/FocusedElementInformation.cpp:

(WebKit::FocusedElementInformation::encode const):
(WebKit::FocusedElementInformation::decode):

  • Shared/FocusedElementInformation.h:

Add a new flag to FocusedElementInformation to indicate the EnterKeyHint type that should be used when bringing
up an input view for the focused element.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView textInputTraits]):

Map the given EnterKeyHint type to a UIReturnKeyType. If an unsupported (i.e. "previous") or default
EnterKeyHint value is used, then we fall back to existing behavior which deduces the default enterkeyhint value
from the input type if the focused element is inside an actionable form; otherwise, we avoid setting any value
for the returnKeyType, defaulting to UIReturnKeyDefault.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getFocusedElementInformation):

Tools:

Add new API tests to check the resulting UIReturnKeyType that gets set on text input traits in the UI process,
given the different values for "enterkeyhint". Also verifies that the default behaviors of search fields and
text input fields inside actionable form elements is to show "Search" or "Go" as the return key by default,
unless a different value for "enterkeyhint" is specified.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/ios/EnterKeyHintTests.mm: Added.

(-[TestWKWebView test:enterKeyHint:returnKeyType:]):
(TestWebKitAPI::enterKeyHintTestCases):
(TestWebKitAPI::createWebViewAndInputDelegateForTesting):
(TestWebKitAPI::TEST):

12:29 PM Changeset in webkit [251719] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Layout Test http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-database.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203542#add_comment
<rdar://problem/56689764>

Reviewed by John Wilander.

This test was a flaky failure due to its calling
scheduleStatisticsProcessingRequestIfNecessary() after logging a cross
site load with link decoration. This call is currently unecessary
because this function is not yet used to classify resources, and is
causing the test to execute a callback before it is ready.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
12:03 PM Changeset in webkit [251718] by Chris Dumez
  • 5 edits in trunk

<input type="range">.setAttribute("value") does not update the value
https://bugs.webkit.org/show_bug.cgi?id=202859
<rdar://problem/56204271>

Reviewed by Frédéric Wang.

Source/WebCore:

Make sure the position of the range input element's slider gets updated whenever
the element's 'value' attribute changes.

No new tests, unskipped existing test.

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::attributeChanged):

LayoutTests:

Unskip ref test that is no longer failing.

11:46 AM Changeset in webkit [251717] by Russell Epstein
  • 2 edits in trunk/LayoutTests

(r251242) [ iOS ]: fast/scrolling/ios/touch-scroll-visibility-hidden.html is a Flaky Timeout.
https://bugs.webkit.org/show_bug.cgi?id=203577

Unreviewed Test Gardening.

Patch by Russell Epstein <Russell Epstein> on 2019-10-29

  • platform/ios-wk2/TestExpectations:
11:42 AM Changeset in webkit [251716] by Russell Epstein
  • 2 edits in trunk/LayoutTests

[iOS] fast/forms/contenteditable-font-optical-size.html landed flaky.
https://bugs.webkit.org/show_bug.cgi?id=203371

Unreviewed Test Gardening.

Patch by Russell Epstein <Russell Epstein> on 2019-10-29

  • platform/ios-wk2/TestExpectations:
11:34 AM Changeset in webkit [251715] by Kate Cheney
  • 3 edits in trunk/LayoutTests

Layout Test http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html is flaky (183093)
<https://bugs.webkit.org/show_bug.cgi?id=183093>
<rdar://problem/37964600>

Reviewed by John Wilander.

Flakiness no longer reproducible.

  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:
11:21 AM Changeset in webkit [251714] by Simon Fraser
  • 6 edits
    156 adds in trunk/LayoutTests

Import css/css-sizing WPT
https://bugs.webkit.org/show_bug.cgi?id=203517

Reviewed by Tim Horton.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-sizing/META.yml: Added.
  • web-platform-tests/css/css-sizing/animation/height-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-sizing/animation/height-interpolation.html: Added.
  • web-platform-tests/css/css-sizing/animation/max-height-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-sizing/animation/max-height-interpolation.html: Added.
  • web-platform-tests/css/css-sizing/animation/max-width-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-sizing/animation/max-width-interpolation.html: Added.
  • web-platform-tests/css/css-sizing/animation/min-height-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-sizing/animation/min-height-interpolation.html: Added.
  • web-platform-tests/css/css-sizing/animation/min-width-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-sizing/animation/min-width-interpolation.html: Added.
  • web-platform-tests/css/css-sizing/animation/w3c-import.log: Added.
  • web-platform-tests/css/css-sizing/animation/width-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-sizing/animation/width-interpolation.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio-affects-container-width-when-height-changes-expected.txt: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio-affects-container-width-when-height-changes.html: Added.
  • web-platform-tests/css/css-sizing/auto-scrollbar-inside-stf-abspos-expected.html: Added.
  • web-platform-tests/css/css-sizing/auto-scrollbar-inside-stf-abspos.html: Added.
  • web-platform-tests/css/css-sizing/block-fit-content-as-initial-expected.html: Added.
  • web-platform-tests/css/css-sizing/block-fit-content-as-initial.html: Added.
  • web-platform-tests/css/css-sizing/block-image-percentage-max-height-inside-inline-expected.xht: Added.
  • web-platform-tests/css/css-sizing/block-image-percentage-max-height-inside-inline.html: Added.
  • web-platform-tests/css/css-sizing/button-min-width-expected.txt: Added.
  • web-platform-tests/css/css-sizing/button-min-width.html: Added.
  • web-platform-tests/css/css-sizing/clone-intrinsic-size-expected.html: Added.
  • web-platform-tests/css/css-sizing/clone-intrinsic-size.html: Added.
  • web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi-expected.html: Added.
  • web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-bidi.html: Added.
  • web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size-expected.html: Added.
  • web-platform-tests/css/css-sizing/clone-nowrap-intrinsic-size.html: Added.
  • web-platform-tests/css/css-sizing/dynamic-available-size-iframe-expected.html: Added.
  • web-platform-tests/css/css-sizing/dynamic-available-size-iframe.html: Added.
  • web-platform-tests/css/css-sizing/fit-content-percentage-padding-expected.txt: Added.
  • web-platform-tests/css/css-sizing/fit-content-percentage-padding.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-001-expected.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-001.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-002-expected.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-002.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-003-expected.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-003.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-004-expected.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-004.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-005-expected.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-005.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-006-expected.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-006.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-007-expected.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-007.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-008-expected.html: Added.
  • web-platform-tests/css/css-sizing/image-min-max-content-intrinsic-size-change-008.html: Added.
  • web-platform-tests/css/css-sizing/image-percentage-max-height-in-anonymous-block-expected.xht: Added.
  • web-platform-tests/css/css-sizing/image-percentage-max-height-in-anonymous-block.html: Added.
  • web-platform-tests/css/css-sizing/inheritance-001-expected.txt: Added.
  • web-platform-tests/css/css-sizing/inheritance-001.html: Added.
  • web-platform-tests/css/css-sizing/inheritance-002-expected.txt: Added.
  • web-platform-tests/css/css-sizing/inheritance-002.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-003-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-003.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-004-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-004.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-005-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-005.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-001-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-001.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-002-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-002.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-003-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-003.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-004-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-004.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-005-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-005.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-006-expected.html: Added.
  • web-platform-tests/css/css-sizing/intrinsic-percent-replaced-006.html: Added.
  • web-platform-tests/css/css-sizing/min-max-content-orthogonal-flow-crash-001-expected.txt: Added.
  • web-platform-tests/css/css-sizing/min-max-content-orthogonal-flow-crash-001.html: Added.
  • web-platform-tests/css/css-sizing/orthogonal-writing-mode-float-in-inline-expected.xht: Added.
  • web-platform-tests/css/css-sizing/orthogonal-writing-mode-float-in-inline.html: Added.
  • web-platform-tests/css/css-sizing/parsing/box-sizing-computed-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/box-sizing-computed.html: Added.
  • web-platform-tests/css/css-sizing/parsing/box-sizing-invalid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/box-sizing-invalid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/box-sizing-valid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/box-sizing-valid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/height-invalid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/height-invalid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/height-valid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/height-valid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/max-height-computed-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/max-height-computed.html: Added.
  • web-platform-tests/css/css-sizing/parsing/max-height-invalid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/max-height-invalid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/max-height-valid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/max-height-valid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/max-width-computed-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/max-width-computed.html: Added.
  • web-platform-tests/css/css-sizing/parsing/max-width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/max-width-invalid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/max-width-valid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/max-width-valid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/min-height-computed-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/min-height-computed.html: Added.
  • web-platform-tests/css/css-sizing/parsing/min-height-invalid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/min-height-invalid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/min-height-valid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/min-height-valid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/min-width-computed-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/min-width-computed.html: Added.
  • web-platform-tests/css/css-sizing/parsing/min-width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/min-width-invalid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/min-width-valid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/min-width-valid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-sizing/parsing/width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/width-invalid.html: Added.
  • web-platform-tests/css/css-sizing/parsing/width-valid-expected.txt: Added.
  • web-platform-tests/css/css-sizing/parsing/width-valid.html: Added.
  • web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt: Added.
  • web-platform-tests/css/css-sizing/percentage-height-in-flexbox.html: Added.
  • web-platform-tests/css/css-sizing/percentage-height-replaced-content-in-auto-cb-expected.txt: Added.
  • web-platform-tests/css/css-sizing/percentage-height-replaced-content-in-auto-cb.html: Added.
  • web-platform-tests/css/css-sizing/percentage-min-width-expected.txt: Added.
  • web-platform-tests/css/css-sizing/percentage-min-width.html: Added.
  • web-platform-tests/css/css-sizing/range-percent-intrinsic-size-1-expected.html: Added.
  • web-platform-tests/css/css-sizing/range-percent-intrinsic-size-1.html: Added.
  • web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2-expected.html: Added.
  • web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2.html: Added.
  • web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2a-expected.html: Added.
  • web-platform-tests/css/css-sizing/range-percent-intrinsic-size-2a.html: Added.
  • web-platform-tests/css/css-sizing/slice-intrinsic-size-expected.html: Added.
  • web-platform-tests/css/css-sizing/slice-intrinsic-size.html: Added.
  • web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size-bidi-expected.html: Added.
  • web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size-bidi.html: Added.
  • web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size-expected.html: Added.
  • web-platform-tests/css/css-sizing/slice-nowrap-intrinsic-size.html: Added.
  • web-platform-tests/css/css-sizing/support/dynamic-available-size-iframe.html: Added.
  • web-platform-tests/css/css-sizing/support/w3c-import.log: Added.
  • web-platform-tests/css/css-sizing/table-percentage-max-width-beside-float-expected.txt: Added.
  • web-platform-tests/css/css-sizing/table-percentage-max-width-beside-float.html: Added.
  • web-platform-tests/css/css-sizing/table-percentage-min-width-below-float-expected.txt: Added.
  • web-platform-tests/css/css-sizing/table-percentage-min-width-below-float.html: Added.
  • web-platform-tests/css/css-sizing/table-percentage-min-width-beside-float-expected.txt: Added.
  • web-platform-tests/css/css-sizing/table-percentage-min-width-beside-float.html: Added.
  • web-platform-tests/css/css-sizing/w3c-import.log: Added.
  • web-platform-tests/css/css-sizing/whitespace-and-break-expected.xht: Added.
  • web-platform-tests/css/css-sizing/whitespace-and-break.html: Added.

LayoutTests:

  • TestExpectations:
  • platform/ios/TestExpectations:
  • platform/ios/imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio-affects-container-width-when-height-changes-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/css/css-sizing/button-min-width-expected.txt: Added.
11:11 AM Changeset in webkit [251713] by Simon Fraser
  • 1 edit
    1 add in trunk/LayoutTests/imported/w3c

https://bugs.webkit.org/show_bug.cgi?id=203571
New Layout Test web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-crash.html is Missing Expectations

Unreviewed test gardening.

  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-crash-expected.txt: Added.
10:33 AM Changeset in webkit [251712] by Truitt Savell
  • 12 edits
    2 deletes in trunk

Unreviewed, rolling out r251639.

Caused flakey API failures for GetDisplayMediaTest.Constraints

Reverted changeset:

"Enforce user gesture for getUserMedia in case a previous
getUserMedia call was denied"
https://bugs.webkit.org/show_bug.cgi?id=203362
https://trac.webkit.org/changeset/251639

10:28 AM Changeset in webkit [251711] by Truitt Savell
  • 2 edits in trunk/Source/WebKit

Unreviewed, rolling out r251646.

Caused flakey API failures for GetDisplayMediaTest.Constraints

Reverted changeset:

"Unreviewed build fix for !ENABLE(MEDIA_STREAM) builds"
https://bugs.webkit.org/show_bug.cgi?id=203362
https://trac.webkit.org/changeset/251646

10:04 AM Changeset in webkit [251710] by Chris Dumez
  • 21 edits in trunk

Unreviewed, rolling out r251594.

Caused an API test failure

Reverted changeset:

"mp4 video element broken with service worker"
https://bugs.webkit.org/show_bug.cgi?id=184447
LayoutTests/imported/w3c:

https://trac.webkit.org/changeset/251594

Source/WebCore:

https://trac.webkit.org/changeset/251594

Source/WebKit:

https://trac.webkit.org/changeset/251594

LayoutTests:

https://trac.webkit.org/changeset/251594

9:57 AM Changeset in webkit [251709] by Chris Dumez
  • 4 edits
    1 add in trunk

Notification permissions are not remembered for origins without port
https://bugs.webkit.org/show_bug.cgi?id=203537
<rdar://problem/55281080>

Reviewed by Brady Eidson.

Source/WebKit:

When WKSecurityOriginCreate() gets called with a port that is invalid, then pass
WTF::nullopt to construct the security origin instead of the invalid port.

The issue is that the port for security origins is optional internally. However,
our API (WKSecurityOriginGetPort() & WKSecurityOrigin.port) will return 0 when
there is no port. As a result, clients such as Safari sometimes pass 0 as port to construct
a new WKSecurityOriginRef().

This was causing issues with regards to notifications because Safari would construct
origins whose string representation looks like "https://www.apple.com:0" and it would
not match the "https://www.apple.com" we expect internally.

  • Shared/API/c/WKSecurityOriginRef.cpp:

(WKSecurityOriginCreate):

Tools:

Add API test coverage.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/WKSecurityOrigin.cpp: Added.

(TestWebKitAPI::TEST):

9:56 AM Changeset in webkit [251708] by Chris Dumez
  • 21 edits
    4 deletes in trunk

Unreviewed, revert r251637 as it caused http/tests/lazyload/scroll-element-removed-from-document.html to crash
https://bugs.webkit.org/show_bug.cgi?id=203566

LayoutTests/imported/w3c:

  • web-platform-tests/loading/lazyload/image-loading-lazy.tentative-expected.txt: Removed.
  • web-platform-tests/loading/lazyload/image-loading-lazy.tentative.html:

Source/WebCore:

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

(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didMoveToNewDocument):

  • html/HTMLImageElement.h:
  • html/HTMLImageElement.idl:
  • html/LazyLoadImageObserver.cpp: Removed.
  • html/LazyLoadImageObserver.h: Removed.
  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):

  • loader/ImageLoader.h:
  • loader/cache/CachedImage.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy const):
(WebCore::CachedResourceLoader::clientDefersImage const):
(WebCore::CachedResourceLoader::shouldDeferImageLoad const):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):

  • loader/cache/CachedResourceLoader.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):

LayoutTests:

  • TestExpectations:
  • http/tests/lazyload/attribute-expected.txt: Removed.
  • http/tests/lazyload/attribute.html: Removed.
  • http/tests/lazyload/invisible-image-expected.txt: Removed.
  • http/tests/lazyload/invisible-image.html: Removed.
  • http/tests/lazyload/js-image-expected.txt: Removed.
  • http/tests/lazyload/js-image.html: Removed.
  • http/tests/lazyload/lazy-expected.txt: Removed.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled-expected.txt: Removed.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled.html: Removed.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled-expected.txt: Removed.
  • http/tests/lazyload/lazy-image-load-in-iframes-scripting-enabled.html: Removed.
  • http/tests/lazyload/lazy.html: Removed.
  • http/tests/lazyload/lazy2-expected.txt: Removed.
  • http/tests/lazyload/placeholder.js: Removed.
  • http/tests/lazyload/resources/lazy-load-in-iframe.html: Removed.
  • http/tests/lazyload/scroll-element-moved-from-document-expected.txt: Removed.
  • http/tests/lazyload/scroll-element-moved-from-document.html: Removed.
  • http/tests/lazyload/scroll-element-removed-from-document-expected.txt: Removed.
  • http/tests/lazyload/scroll-element-removed-from-document.html: Removed.
  • http/tests/lazyload/scroll-expected.txt: Removed.
  • http/tests/lazyload/scroll.html: Removed.
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
9:19 AM Changeset in webkit [251707] by Kate Cheney
  • 2 edits in trunk/Tools

Removed duplicate email address.

  • Scripts/webkitpy/common/config/contributors.json:
9:14 AM Changeset in webkit [251706] by graouts@webkit.org
  • 3 edits in trunk/Source/WebCore

[Web Animations] Optimize blending for CSS Transitions
https://bugs.webkit.org/show_bug.cgi?id=203561

Reviewed by Simon Fraser.

The work performed in KeyframeEffect::setAnimatedPropertiesInStyle() has a level of complexity warranted by the
flexibility of how keyframes can be specified via the Web Animations JS API. However, in the case of CSS Transitions,
we already know that there are only two keyframes, one where offset=0 and one where offset=1, and that only a single
CSS property is specified so we can simplify the process greatly.

To ensure we only perform this quicker blending operation for keyframes computed for a CSS Transition and that no
modification to the keyframes have been applied via the Web Animations JS API after the fact, we now keep track
of whether the blending keyframes (KeyframeList) were generated for a CSS Transition or a CSS Animation and only
use this information to decide whether we're blending for declarative animations.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::processKeyframes):
(WebCore::KeyframeEffect::clearBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSAnimationBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):
(WebCore::KeyframeEffect::setTarget):
(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):

  • animation/KeyframeEffect.h:
9:09 AM Changeset in webkit [251705] by Wenson Hsieh
  • 3 edits
    1 copy
    1 delete in trunk/LayoutTests

Unreviewed, add missing platform-specific test expectations after r251686

LayoutTests/imported/w3c:

Revert changes to these test expectations.

  • web-platform-tests/html/dom/idlharness.https-expected.txt:

LayoutTests:

Add mac-wk2-specific baselines.

  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: Added.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https.html: Removed.
9:00 AM Changeset in webkit [251704] by Kate Cheney
  • 2 edits in trunk/Tools

Edited email address for commiting.

  • Scripts/webkitpy/common/config/contributors.json:
8:32 AM Changeset in webkit [251703] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.27.2

WPE WebKit 2.27.2

8:31 AM Changeset in webkit [251702] by Adrian Perez de Castro
  • 4 edits in trunk

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.27.2 release

.:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.27.2.
8:17 AM Changeset in webkit [251701] by Simon Fraser
  • 5 edits in trunk/LayoutTests

Unreviewed test gardening; new iOS results for these now passing tests.

  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:
7:54 AM WebKitGTK/2.26.x edited by Adrian Perez de Castro
(diff)
7:53 AM Changeset in webkit [251700] by Adrian Perez de Castro
  • 3 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit

Merge r250818 - [WPE][GTK] Build fails with ENABLE_WEBDRIVER=OFF
https://bugs.webkit.org/show_bug.cgi?id=202658

Reviewed by Carlos Garcia Campos.

  • UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp: Add missing

ENABLE(WEBDRIVER_MOUSE_INTERACTIONS) and ENABLE(WEBDRIVER_KEYBOARD_INTERACTIONS)
preprocessor guards.

  • UIProcess/Automation/wpe/WebAutomationSessionWPE.cpp: Ditto.
7:50 AM Changeset in webkit [251699] by Simon Fraser
  • 266 edits
    2 copies
    23 adds
    1 delete in trunk/LayoutTests

Re-import the css/css-shapes WPT
https://bugs.webkit.org/show_bug.cgi?id=203441

Reviewed by Tim Horton.
LayoutTests/imported/w3c:

Update css-shapes from e68120da0fb52f010f206f3ecc63cfa09885b0f4 (Wed Oct 23 13:18:06 2019 -0700).

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-shapes/META.yml: Added.
  • web-platform-tests/css/css-shapes/OWNERS: Removed.
  • web-platform-tests/css/css-shapes/animation/shape-image-threshold-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-shapes/animation/shape-image-threshold-interpolation.html: Added.
  • web-platform-tests/css/css-shapes/animation/shape-margin-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-shapes/animation/shape-margin-interpolation.html: Added.
  • web-platform-tests/css/css-shapes/animation/shape-outside-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-shapes/animation/shape-outside-interpolation.html: Added.
  • web-platform-tests/css/css-shapes/animation/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/formatting-context/w3c-import.log.
  • web-platform-tests/css/css-shapes/basic-shape-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-shapes/basic-shape-interpolation.html: Added.
  • web-platform-tests/css/css-shapes/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-shapes/inheritance.html: Added.
  • web-platform-tests/css/css-shapes/parsing/shape-image-threshold-computed-expected.txt: Added.
  • web-platform-tests/css/css-shapes/parsing/shape-image-threshold-computed.html: Added.
  • web-platform-tests/css/css-shapes/parsing/shape-image-threshold-invalid-expected.txt:
  • web-platform-tests/css/css-shapes/parsing/shape-image-threshold-invalid.html:
  • web-platform-tests/css/css-shapes/parsing/shape-image-threshold-valid-expected.txt:
  • web-platform-tests/css/css-shapes/parsing/shape-image-threshold-valid.html:
  • web-platform-tests/css/css-shapes/parsing/shape-margin-computed-expected.txt: Added.
  • web-platform-tests/css/css-shapes/parsing/shape-margin-computed.html: Added.
  • web-platform-tests/css/css-shapes/parsing/shape-margin-invalid.html:
  • web-platform-tests/css/css-shapes/parsing/shape-margin-valid.html:
  • web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position.html:
  • web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position.html:
  • web-platform-tests/css/css-shapes/parsing/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-001.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-circle-002.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-circle-003.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-001.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-002.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-003.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-004.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-005.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-ellipse-006.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-inset-001.html:
  • web-platform-tests/css/css-shapes/shape-outside-invalid-inset-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/formatting-context/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-003.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-004.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-006.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-007.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-008.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-box/shape-outside-box-009.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-box/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-005-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-005.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-006-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-006.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-007-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-007.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-008-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-008.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-009-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-009.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-010-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-010.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-011-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-011.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-012-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-012.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-013-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-013.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-014-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-014.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-015-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-015.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-016-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-016.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-000-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-001-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-003.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-004-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-004.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-005.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-006-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-006.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-007.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-008.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-009-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-009.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-010-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-010.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-011.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-012-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-012.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-013-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-013.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-014.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-015-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-015.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-016-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-016.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-017.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-018-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-018.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-019-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-019.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-020-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-020.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-021-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-021.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-022-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-022.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-023-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-023.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-024.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-025.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-026-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-026.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-027-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/shape-image-027.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/support/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-013.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-014.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-015.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-016.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-017.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-018.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-019.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-020.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-021.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-022.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-024.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-025.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-026.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-027.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-028.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-029.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/circle/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/ellipse/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-010.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-011.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-012.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-013.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-014.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-015.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-028.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-029.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-030.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash-expected.html: Added.
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/shape-outside-inset-crash.html: Added.
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/inset/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-007.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-008.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-009.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-010.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-011.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-013.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-014.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-015.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-016.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-017.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-crash.html: Added.
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/polygon/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/support/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-margin-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-box-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-003.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-004.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-005.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-006.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-007.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-008.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-009.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-010.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-011.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-computed-shape-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-computed-shape-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-003.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-004.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-006.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-007.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-008.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-009.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-010.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-011.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-0010-expected.html: Added.
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-0010.html: Added.
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-003.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-004.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-005.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-006.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-007.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-008.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-inset-009.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-003.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-005.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-polygon-006.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-box-pair-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-inherit-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-initial-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-none-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-shape-notation-000.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/support/parsing-utils.js:

(setupFonts): Deleted.

  • web-platform-tests/css/css-shapes/shape-outside/values/support/w3c-import.log:
  • web-platform-tests/css/css-shapes/shape-outside/values/w3c-import.log:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-001-expected.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-001.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-002-expected.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-002.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-003-expected.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-003.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-004-expected.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-004.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-005-expected.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-005.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-006.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-007-expected.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-007.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-008.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-010.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-011.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-012.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-013.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-014.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-015.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-016.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-017.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-018.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-019.html:
  • web-platform-tests/css/css-shapes/spec-examples/support/rounded-triangle.svg:
  • web-platform-tests/css/css-shapes/spec-examples/support/w3c-import.log:
  • web-platform-tests/css/css-shapes/spec-examples/w3c-import.log:
  • web-platform-tests/css/css-shapes/support/w3c-import.log:
  • web-platform-tests/css/css-shapes/test-plan/index.html: Added.
  • web-platform-tests/css/css-shapes/test-plan/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/support/w3c-import.log.
  • web-platform-tests/css/css-shapes/w3c-import.log:

LayoutTests:

7:36 AM Changeset in webkit [251698] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebCore

[GTK][WPE] Fix non-unified build after r251691
https://bugs.webkit.org/show_bug.cgi?id=203556

Reviewed by Žan Doberšek.

No new tests needed.

  • bindings/js/ScriptModuleLoader.cpp:

(WebCore::rejectPromise): Add missing namespace in call to JSC::JSInternalPromise::create().

7:22 AM Changeset in webkit [251697] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

[Picture-in-Picture Web API] Synchronize the attributes and properties of HTMLVideoElementPictureInPicture
https://bugs.webkit.org/show_bug.cgi?id=203518

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

Source/WebCore:

Test: media/picture-in-picture-api-element-attributes.html

  • Modules/pictureinpicture/HTMLVideoElementPictureInPicture.idl:
  • html/HTMLAttributeNames.in:

LayoutTests:

  • TestExpectations:
  • media/picture-in-picture-api-element-attributes-expected.txt: Added.
  • media/picture-in-picture-api-element-attributes.html: Added.
  • platform/mac-wk2/TestExpectations:
3:27 AM Changeset in webkit [251696] by commit-queue@webkit.org
  • 15 edits
    11 adds in trunk

[SVG2] fill-opacity, stroke-opacity, stop-opacity and flood-opacity doe not support percentage
https://bugs.webkit.org/show_bug.cgi?id=201731

Source/WebCore:

Patch by Dirk Schulze <krit@webkit.org> on 2019-10-29
Reviewed by Simon Fraser.

The CSS properties opacity, fill-opacity, stroke-opacity, stop-opacity, flood-opacity support
percentage in addition to number values.
Add percentage support.

Tests: fast/css/parsing-opacity.html

fast/svg/parsing-fill-opacity.html
fast/svg/parsing-flood-opacity.html
fast/svg/parsing-stop-opacity.html
fast/svg/parsing-stroke-opacity.html

  • css/CSSProperties.json: opacity needs to use Opacity converter now.
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertOpacity): Clamp values to [0,1]

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue): Parse percentage values.

LayoutTests:

Test number and percentage values for opacity, fill-opacity, stroke-opacity, stop-opacity, flood-opacity.

Patch by Dirk Schulze <krit@webkit.org> on 2019-10-29
Reviewed by Simon Fraser.

  • fast/css/parsing-opacity-expected.txt: Added.
  • fast/css/parsing-opacity.html: Added.
  • fast/svg/parsing-fill-opacity-expected.txt: Added.
  • fast/svg/parsing-fill-opacity.html: Added.
  • fast/svg/parsing-flood-opacity-expected.txt: Added.
  • fast/svg/parsing-flood-opacity.html: Added.
  • fast/svg/parsing-stop-opacity-expected.txt: Added.
  • fast/svg/parsing-stop-opacity.html: Added.
  • fast/svg/parsing-stroke-opacity-expected.txt: Added.
  • fast/svg/parsing-stroke-opacity.html: Added.
3:15 AM Changeset in webkit [251695] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Add CSS Masking and SVG 2 to feature list
https://bugs.webkit.org/show_bug.cgi?id=186155

Patch by Dirk Schulze <krit@webkit.org> on 2019-10-29
Reviewed by Simon Fraser.

Add CSS Masking Level 1 and SVG 2 to feature list.

  • features.json:

Oct 28, 2019:

9:08 PM Changeset in webkit [251694] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unnecessary #include <limits.h> header from Timer.cpp
https://bugs.webkit.org/show_bug.cgi?id=203504

Patch by Daniel Bates <dabates@apple.com> on 2019-10-28
Reviewed by Alex Christensen.

Timer.cpp includes both <limits> and <limits.h>. The latter was added to fix a build issue in r30193 that
effected GCC 4.3 when Timer.cpp referenced UINT_MAX. Timer.cpp no longer references this constant and instead
uses the C++ std::numeric_limits equivalent. So, remove the #include <limits.h>.

  • platform/Timer.cpp:
7:34 PM Changeset in webkit [251693] by Wenson Hsieh
  • 8 edits in trunk/Source/WebKit

Replace InteractionInformationAtPosition.nodeAtPositionIsFocusedElement with an element context
https://bugs.webkit.org/show_bug.cgi?id=203498

Reviewed by Tim Horton.

Refactors InteractionInformationAtPosition, such that it doesn't need a special flag to indicate whether there
is a focused element at the position. This is a followup to webkit.org/b/203264; no new tests, as there should
be no change in behavior.

  • Shared/FocusedElementInformation.cpp:

(WebKit::FocusedElementInformation::encode const):
(WebKit::FocusedElementInformation::decode):

  • Shared/FocusedElementInformation.h:

Add an elementContext to FocusedElementInformation to represent the focused element; then, instead of checking
whether there is a focused element underneath the request position, simply check that the position information's
element context matches the FocusedElementInformation's element context.

Additionally, rename elementRect in FocusedElementInformation to interactionRect, to draw a distinction between
this rect and the new ElementContext's boundingRect.

  • Shared/ios/InteractionInformationAtPosition.h:
  • Shared/ios/InteractionInformationAtPosition.mm:

(WebKit::InteractionInformationAtPosition::encode const):
(WebKit::InteractionInformationAtPosition::decode):

Remove the nodeAtPositionIsFocusedElement flag.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:nodeHasBuiltInClickHandling:]):
(-[WKContentView _zoomToRevealFocusedElement]):
(-[WKContentView _selectionClipRect]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):

In various places that consult nodeAtPositionIsFocusedElement, instead check that the position information's
hit-tested element context is the same as the focused element, via FocusedElementInformation.

(-[WKContentView _didCommitLoadForMainFrame]):

Nuke the cached position information data upon navigation; without this tweak, we will fail when running several
iOS layout tests back-to-back, that tap in exactly the same location.

(rectToRevealWhenZoomingToFocusedElement):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView _elementDidBlur]):
(-[WKContentView rectForFocusedFormControlView:]):
(-[WKContentView _didChangeFocusedElementRect:toRect:]): Deleted.

Remove code to invalidate cached position information when changing the focused element rect.

  • UIProcess/ios/forms/WKFormPopover.mm:

(-[WKRotatingPopover presentPopoverAnimated:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::positionInformation):
(WebKit::WebPage::getFocusedElementInformation):

7:25 PM Changeset in webkit [251692] by Kate Cheney
  • 3 edits in trunk/LayoutTests

http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-w* are flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=196269
<rdar://problem/49288612>

Reviewed by Alexey Proskuryakov.

Flakiness no longer reproducible.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-wk2/TestExpectations:
6:37 PM Changeset in webkit [251691] by ysuzuki@apple.com
  • 38 edits
    2 moves
    2 adds
    4 deletes in trunk

[JSC] Remove JSPromiseDeferred
https://bugs.webkit.org/show_bug.cgi?id=203400

Reviewed by Keith Miller.

Source/JavaScriptCore:

This patch optimizes the existing Promise usage in C++. We remove JSPromiseDeferred and JSInternalPromiseDeferred, use JSPromise and JSInternalPromise directly.
JSC now offers first resolve and reject operations to JSPromise without separating resolve and reject function from JSPromise. Then, we do not need
to have a tuple of these functions and promise, and we can just use JSPromise::resolve and JSPromise::reject. This removes unnecessary function allocations
and cell allocation for JSPromiseDeferred and makes API simple.

  • API/JSAPIGlobalObject.mm:

(JSC::JSAPIGlobalObject::moduleLoaderImportModule):
(JSC::JSAPIGlobalObject::moduleLoaderFetch):
(JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule):

  • API/JSObjectRef.cpp:

(JSObjectMakeDeferredPromise):

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • jsc.cpp:

(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderFetch):
(runJSC):

  • runtime/Completion.cpp:

(JSC::rejectPromise):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::newPromiseCapabilityFunction const):
(JSC::JSGlobalObject::resolvePromiseFunction const):
(JSC::JSGlobalObject::rejectPromiseFunction const):
(JSC::JSGlobalObject::numberProtoToStringFunction const):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncImportModule):

  • runtime/JSInternalPromise.h:
  • runtime/JSInternalPromiseDeferred.cpp: Removed.
  • runtime/JSInternalPromiseDeferred.h: Removed.
  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::importModule):
(JSC::JSModuleLoader::resolve):
(JSC::JSModuleLoader::fetch):
(JSC::moduleLoaderParseModule):

  • runtime/JSPromise.cpp:

(JSC::JSPromise::flags const):
(JSC::JSPromise::isHandled const):
(JSC::JSPromise::createDeferredData):
(JSC::JSPromise::resolvedPromise):
(JSC::callFunction):
(JSC::JSPromise::resolve):
(JSC::JSPromise::reject):

  • runtime/JSPromise.h:
  • runtime/JSPromiseDeferred.cpp: Removed.
  • runtime/JSPromiseDeferred.h: Removed.
  • runtime/PromiseTimer.cpp: Renamed from Source/JavaScriptCore/runtime/PromiseDeferredTimer.cpp.

(JSC::PromiseTimer::PromiseTimer):
(JSC::PromiseTimer::doWork):
(JSC::PromiseTimer::runRunLoop):
(JSC::PromiseTimer::addPendingPromise):
(JSC::PromiseTimer::hasPendingPromise):
(JSC::PromiseTimer::hasDependancyInPendingPromise):
(JSC::PromiseTimer::cancelPendingPromise):
(JSC::PromiseTimer::scheduleWorkSoon):

  • runtime/PromiseTimer.h: Renamed from Source/JavaScriptCore/runtime/PromiseDeferredTimer.h.

(JSC::PromiseTimer::create):

  • runtime/StringRecursionChecker.h:
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::~VM):

  • runtime/VM.h:
  • wasm/js/JSWebAssembly.cpp:

(JSC::reject):
(JSC::webAssemblyModuleValidateAsyncInternal):
(JSC::webAssemblyCompileFunc):
(JSC::resolve):
(JSC::JSWebAssembly::webAssemblyModuleValidateAsync):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::JSWebAssembly::instantiate):
(JSC::webAssemblyModuleInstantinateAsyncInternal):
(JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync):
(JSC::webAssemblyInstantiateFunc):
(JSC::webAssemblyCompileStreamingInternal):
(JSC::webAssemblyInstantiateStreamingInternal):

  • wasm/js/JSWebAssembly.h:
  • wasm/js/JSWebAssemblyCodeBlock.h:

Source/WebCore:

This patch removes PromiseExecutionScope. This assumed that promise operation cannot fail in main thread. But this is
wrong since any JS call can fail due to stack-overflow error. This patch makes things more robust by handling errors correctly.
And we remove JSPromiseDeferred and use JSPromise instead.

  • bindings/js/JSCustomElementRegistryCustom.cpp:

(WebCore::whenDefinedPromise):
(WebCore::JSCustomElementRegistry::whenDefined):

  • bindings/js/JSDOMConvertPromise.h:

(WebCore::Converter<IDLPromise<T>>::convert):

  • bindings/js/JSDOMGlobalObject.cpp:
  • bindings/js/JSDOMOperationReturningPromise.h:

(WebCore::IDLOperationReturningPromise::call):
(WebCore::IDLOperationReturningPromise::callStatic):

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::promise const):
(WebCore::DeferredPromise::callFunction):
(WebCore::DeferredPromise::whenSettled):
(WebCore::rejectPromiseWithExceptionIfAny):
(WebCore::createDeferredPromise):

  • bindings/js/JSDOMPromiseDeferred.h:

(WebCore::DeferredPromise::create):
(WebCore::DeferredPromise::DeferredPromise):
(WebCore::DeferredPromise::deferred const):
(WebCore::DeferredPromise::resolve):
(WebCore::DeferredPromise::reject):
(WebCore::DOMPromiseDeferredBase::DOMPromiseDeferredBase):
(WebCore::DOMPromiseDeferredBase::operator=):
(WebCore::DOMPromiseDeferredBase::reject):
(WebCore::DOMPromiseDeferredBase::rejectType):
(WebCore::DOMPromiseDeferredBase::promise const):
(WebCore::DOMPromiseDeferredBase::whenSettled):
(WebCore::DOMPromiseDeferred::resolve):
(WebCore::DOMPromiseDeferred<void>::resolve):
(WebCore::callPromiseFunction):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::moduleLoaderFetch):
(WebCore::JSDOMWindowBase::moduleLoaderImportModule):
(WebCore::tryAllocate):
(WebCore::isResponseCorrect):
(WebCore::handleResponseOnStreamingAction):
(WebCore::JSDOMWindowBase::compileStreaming):
(WebCore::JSDOMWindowBase::instantiateStreaming):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/ScriptModuleLoader.cpp:

(WebCore::ScriptModuleLoader::fetch):
(WebCore::rejectPromise):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::addTimerSetNotification):
(WebCore::WorkerScriptController::removeTimerSetNotification):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateOperationTrampolineDefinition):

  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:

(WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::jsTestNodePrototypeFunctionTestWorkerPromise):
(WebCore::jsTestNodePrototypeFunctionCalculateSecretResult):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionCalculateSecretResult):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunction):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction):

  • workers/WorkerRunLoop.cpp:
  • worklets/WorkletScriptController.cpp:

LayoutTests:

  • js/dom/promise-stack-overflow-expected.txt: Added.
  • js/dom/promise-stack-overflow.html: Added.
6:06 PM Changeset in webkit [251690] by Adrian Perez de Castro
  • 36 edits in trunk/Source

[GTK][WPE] Fix various non-unified build issues introduced since r251436
https://bugs.webkit.org/show_bug.cgi?id=203492

Reviewed by Alex Christensen and Mark Lam.

Source/JavaScriptCore:

  • bytecode/BytecodeIndex.cpp: Add missing inclusion of wtf/PrintStream.h
  • bytecode/ICStatusUtils.h: Add missing inclusion if BytecodeIndex.h
  • bytecode/InstructionStream.h: Ditto.
  • debugger/DebuggerLocation.cpp: Add missing inclusion of JSCellInlines.h
  • dfg/DFGLazyJSValue.h: Add missing inclusion of GPRInfo.h
  • ftl/FTLOSREntry.h: Add missing inclusion of BytecodeIndex.h
  • heap/CompleteSubspaceInlines.h: Add missing inclusions of CompleteSubspace.h and VM.h
  • inspector/JavaScriptCallFrame.h:

(Inspector::JavaScriptCallFrame::thisValue const): Prepend namespace to the JSC::VM type.

  • jit/JITDisassembler.h: Add missing inclusion of BytecodeIndex.h
  • jit/JITWorklist.h: Ditto.
  • runtime/JSImmutableButterfly.cpp: Add missing inclusion of ButterflyInlines.h
  • runtime/ObjectInitializationScope.h: Add missing inclusion of VM.h
  • runtime/StringRecursionChecker.h: Add missing inclusion of GetVM.h
  • runtime/VMTraps.cpp: Add missing inclusion of CallFrameInlines.h
  • tools/Integrity.cpp: Add missing inclusion of Integrity.h, HeapCellInlines.h, and

JSCellInlines.h

  • wasm/WasmOperations.cpp: Add missing inclusion of JSCJSValueInlines.h and

JSGlobalObjectInlines.h

  • wasm/WasmOperations.h: Add missing inclusion of IndexingType.h, JSCJSValue.h, and

WasmExceptionType.h; add forward declarations for JSArrray and Wasm::Signature.

  • wasm/js/JSWebAssembly.cpp: Add missing inclusion of WasmOperations.h
  • wasm/js/JSWebAssemblyHelpers.h: Add missing inclusion of Error.h and JSArrayBufferView.h

Source/WebCore:

No new tests needed.

  • Modules/entriesapi/FileSystemEntry.cpp: Add missing inclusion of Document.h
  • Modules/entriesapi/FileSystemFileEntry.cpp: Add missing inclusion of File.h
  • Modules/fetch/FetchBodyOwner.cpp: Add missing inclusion of Document.h
  • bindings/js/ExceptionDetails.h: Add missing inclusion of wtf/text/WTFString.h; remove

unneeded inclusion of wtf/Forward.h.

  • css/ElementRuleCollector.cpp: Add missing inclusion of DocumentRuleSets.h and

styleResolver.h

  • inspector/agents/page/PageDebuggerAgent.h: Add forward declaration for Frame.
  • style/StyleInvalidator.cpp: Add missing inclusion of RuleSet.h
  • style/StyleSharingResolver.cpp: Add missing inclusion of StyleResolver.h

Source/WebKit:

  • UIProcess/InspectorTargetProxy.h: Add forward declaration of ProvisionalPageProxy.
  • UIProcess/Plugins/PluginProcessProxy.cpp: Add missin inclusion of

WebProcessProxyMessages.h

  • UIProcess/ProcessThrottler.cpp: Add missing inclusion of wtf/CompletionHandler.h
  • UIProcess/ProvisionalPageProxy.h: Add missing inclusion of WebCore/FrameIdentifier.h
  • UIProcess/WebPageInspectorController.h: Add missing inclusion of WebCore/PageIdentifier.h
  • WebProcess/WebPage/WebPageInspectorTargetController.cpp: Add missing inclusion of

WebPageInspectorTargetFrontendChannel.h

5:31 PM Changeset in webkit [251689] by Simon Fraser
  • 42 edits
    127 adds
    1 delete in trunk/LayoutTests

Update css/css-text-decor WPT
https://bugs.webkit.org/show_bug.cgi?id=203532

Reviewed by Tim Horton.
LayoutTests/imported/w3c:

Import css/css-text-decor at e68120da0fb52f010f206f3ecc63cfa09885b0f4 (Wed Oct 23 13:18:06 2019 -0700)

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-text-decor/META.yml: Added.
  • web-platform-tests/css/css-text-decor/OWNERS: Removed.
  • web-platform-tests/css/css-text-decor/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/inheritance.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-color.html:
  • web-platform-tests/css/css-text-decor/text-decoration-line-010-expected.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-010.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-011-expected.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-011.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-012-expected.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-012.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-013-expected.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-013.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-recalc-expected.html:
  • web-platform-tests/css/css-text-decor/text-decoration-line-recalc.html:
  • web-platform-tests/css/css-text-decor/text-decoration-line.html:
  • web-platform-tests/css/css-text-decor/text-decoration-propagation-shadow-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-propagation-shadow.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-serialization.tentative-expected.txt:
  • web-platform-tests/css/css-text-decor/text-decoration-serialization.tentative.html:
  • web-platform-tests/css/css-text-decor/text-decoration-shorthands-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-shorthands-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-shorthands-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-shorthands-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-003-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-003.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-computed.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-initial-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-initial.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-overline-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-overline-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-scroll-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-scroll-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-underline-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-underline-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-valid.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-horizontal-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-horizontal.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical-ja-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical-ja.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical.html: Added.
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-001-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-001.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-002-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-002.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-001-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-001.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-002-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-002.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-001-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-001.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-002-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-002.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-001-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-001.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-002-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-002.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-006-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-007-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-008-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-008.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-010-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-021-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-unrepresentable-characters-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-emphasis-unrepresentable-characters.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-computed.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-initial-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-initial.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-valid.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002.html: Added.
  • web-platform-tests/css/css-text-decor/w3c-import.log:

LayoutTests:

Mark tests as failing.

5:21 PM Changeset in webkit [251688] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Fix sandbox violations
https://bugs.webkit.org/show_bug.cgi?id=203505

Reviewed by Brent Fulgham.

Running layout tests shows that allowing mach lookup is needed for a set of services which was previously denied.
This patch add rules for allowing these services again. The service 'com.apple.logd.events' is still denied, since
it has not been observed to be in use.

No new tests, covered by existing tests.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
5:09 PM Changeset in webkit [251687] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Unreviewed, rolling out r251675.

Broke some builds

Reverted changeset:

"Remove unused WKWebsiteDataStore setter SPI"
https://bugs.webkit.org/show_bug.cgi?id=203114
https://trac.webkit.org/changeset/251675

4:56 PM Changeset in webkit [251686] by Wenson Hsieh
  • 19 edits
    7 adds in trunk

Add bindings support for the enterkeyhint HTML attribute
https://bugs.webkit.org/show_bug.cgi?id=203440

Reviewed by Ryosuke Niwa.

Source/WebCore:

Work towards support for the enterkeyhint attribute. This patch introduces the new attribute to HTMLElement's
IDL; see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-enterkeyhint-attribute
for more information. This version of the spec was last updated October 25, 2019 (at time of writing).

Test: fast/forms/enterkeyhint-attribute-values.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/EnterKeyHint.cpp: Added.

Add a new helper file that declares a new EnterKeyHint enum type, as well as helper functions to map between
attribute values and EnterKeyHint values.

(WebCore::enterKeyHintForAttributeValue):
(WebCore::attributeValueForEnterKeyHint):

  • html/EnterKeyHint.h: Added.
  • html/HTMLAttributeNames.in:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::canonicalEnterKeyHint const):

Returns the canonical EnterKeyHint enum value, by inspecting the "enterkeyhint" attribute value.

(WebCore::HTMLElement::enterKeyHint const):
(WebCore::HTMLElement::setEnterKeyHint):

Implement enterKeyHint. Since enterkeyhint is a reflected HTML attribute with enumerated values, the setter sets
the attribute value and the getter returns the "canonicalized" attribute value.

  • html/HTMLElement.h:
  • html/HTMLElement.idl:

Add the new attribute. Note that this isn't marked as [Reflect] in IDL, since doing so would generate incorrect
bindings code. This is because we don't support reflection for enumerated attributes in our bindings generator
yet, so for now, we just match HTMLInputElement.type and HTMLElement.inputMode.

  • page/Settings.yaml:

Add a new runtime switch to guard the enterkeyhint attribute.

Source/WebKit:

Add a new runtime switch for the enterkeyhint attribute, and enable it by default on macOS and iOS.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:

LayoutTests:

  • fast/forms/enterkeyhint-attribute-values-expected.txt: Added.
  • fast/forms/enterkeyhint-attribute-values.html: Added.

Add a new layout test to exercise the new attribute (including case sensitivity, the default value, unknown
values, all known value types, and different types of elements).

  • platform/ios-wk2/TestExpectations:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-misc-expected.txt: Added.
  • platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:
  • platform/mac-wk2/TestExpectations:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-misc-expected.txt: Added.
  • platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:

Add some new baselines for some existing layout tests.

4:55 PM Changeset in webkit [251685] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Correcting expectations after r251666
https://bugs.webkit.org/show_bug.cgi?id=203501

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:42 PM Changeset in webkit [251684] by Ross Kirsling
  • 7 edits in trunk/Source/JavaScriptCore

[JSC] Lexer flags should be an OptionSet
https://bugs.webkit.org/show_bug.cgi?id=203032

Reviewed by Yusuke Suzuki.

LexerFlags has an annoyingly misspelled value LexexFlagsDontBuildKeywords;
let's use this as an opportunity to modernize this enum.

  • parser/ASTBuilder.h:
  • parser/Lexer.cpp:

(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<CharacterType>::parseIdentifierSlowCase):
(JSC::Lexer<T>::lexWithoutClearingLineTerminator):

  • parser/Lexer.h:

(JSC::Lexer<T>::lexExpectIdentifier):
(JSC::Lexer<T>::lex):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parseMemberExpression):

  • parser/Parser.h:

(JSC::Parser::next):
(JSC::Parser::nextWithoutClearingLineTerminator):
(JSC::Parser::nextExpectIdentifier):
(JSC::Parser::consume):

  • parser/SyntaxChecker.h:
4:29 PM Changeset in webkit [251683] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

editing/firstPositionInNode-crash.html in crashing in Debug
https://bugs.webkit.org/show_bug.cgi?id=203520

Reviewed by Ryosuke Niwa.

If positionInParentBeforeNode / positionInParentAfterNode on a node and editingIgnoresContent()
returns true for this node's parent, keep traversing ancestors until we find one for which
editingIgnoresContent() returns false.

No new tests, covered by editing/firstPositionInNode-crash.html.

  • dom/Position.cpp:

(WebCore::positionInParentBeforeNode):
(WebCore::positionInParentAfterNode):

  • dom/Position.h:
4:24 PM Changeset in webkit [251682] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Right-clicking in color picker should not select color
https://bugs.webkit.org/show_bug.cgi?id=203434

Reviewed by Devin Rousso.

  • UserInterface/Views/ColorSquare.js:

(WI.ColorSquare.prototype._handleMousedown):

4:12 PM Changeset in webkit [251681] by Alan Coon
  • 5 edits in tags/Safari-609.1.8

Cherry-pick r251598. rdar://problem/56480245

WebProcess should unregister its interest for a SWServerRegistration when all its corresponding ServiceWorkerRegistrations are destroyed
https://bugs.webkit.org/show_bug.cgi?id=203410

Reviewed by Chris Dumez.

Source/WebKit:

A SWServerRegistration is keeping a list of web processes that should be notified of change to its state.
Previously, WebProcesses were registering their interest to a SWServerRegistration on construction of a ServiceWorkerRegistration,
and unregistering their interest on destruction of a ServiceWorkerRegistration.

This does not work in case two ServiceWorkerRegistrations are created for the same SWServerRegistration in the same WebProcess.
In that case, when one of the two ServiceWorkerRegistration is destroyed, the WebProcess will no longer be notified of changes to the SWServerRegistration,
thus breaking the second ServiceWorkerRegistration behavior.

We introduce a map at WebProcess level to keep track of the number of ServiceWorkerRegistration created for a given SWServerRegistration.

Covered by re-enabled tests.

  • WebProcess/Storage/WebSWClientConnection.cpp: (WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer): (WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::addServiceWorkerRegistration): (WebKit::WebProcess::removeServiceWorkerRegistration):
  • WebProcess/WebProcess.h:

LayoutTests:

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:

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

4:09 PM Changeset in webkit [251680] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Hidden framesets should provide default edgeInfo value
https://bugs.webkit.org/show_bug.cgi?id=203506
<rdar://problem/56233726>

Reviewed by Simon Fraser.

Source/WebCore:

The grid information (and certain associated structures e.g. edegeInfo) for a frameset is updated through the layout() call.
When the used height/width computes to zero on a frameset child (frame or nested frameset), we don't run layout on the renderer thus
hidden nested framesets can only provide the default edge info.
This patch changes this behaviour and we now call layout on those hidden renderers the same way we do it on iOS.

Test: fast/frames/hidden-frameset.html

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::edgeInfo const):

LayoutTests:

  • fast/frames/hidden-frameset-expected.txt: Added.
  • fast/frames/hidden-frameset.html: Added.
3:41 PM Changeset in webkit [251679] by Kate Cheney
  • 2 edits in trunk/Tools

Added myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
3:10 PM Changeset in webkit [251678] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop code for X-Temp-Tablet HTTP header experiment
https://bugs.webkit.org/show_bug.cgi?id=203524
<rdar://problem/55791195>

Reviewed by Ryosuke Niwa.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/CachedResourceLoader.h:
3:07 PM Changeset in webkit [251677] by Chris Dumez
  • 11 edits
    9 adds in trunk/LayoutTests

Update html/semantics/forms WPT tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=203499

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Re-sync html/semantics/forms WPT tests from upstream 23c1462333cb99f.

  • resources/import-expectations.json:
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-2-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-2.html: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3.html: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit.html: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/resources/form-submission.py: Added.

(main):

  • web-platform-tests/html/semantics/forms/form-submission-0/resources/w3c-import.log:
  • web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body.html:
  • web-platform-tests/html/semantics/forms/form-submission-0/w3c-import.log:
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html:
  • web-platform-tests/html/semantics/forms/the-input-element/range-setattribute-value-expected.html: Added.
  • web-platform-tests/html/semantics/forms/the-input-element/range-setattribute-value.html: Added.
  • web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:

LayoutTests:

Skip new ref-test that is failing.

  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:

Baseline existing WPT test.

2:57 PM Changeset in webkit [251676] by achristensen@apple.com
  • 16 edits in trunk

Remove unused _WKProcessPoolConfiguration SPI
https://bugs.webkit.org/show_bug.cgi?id=203066

Reviewed by Youenn Fablet.

Source/WebKit:

After rdar://problem/56260478 this is not used, so away it goes!

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const): Deleted.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::globalCTDataConnectionServiceType): Deleted.
(WebKit::NetworkSessionCocoa::ctDataConnectionServiceType const): Deleted.
(WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType): Deleted.

  • NetworkProcess/ios/NetworkConnectionToWebProcessIOS.mm:

(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorCTDataConnectionServiceType):

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]): Deleted.
(-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]): Deleted.
(-[_WKProcessPoolConfiguration CTDataConnectionServiceType]): Deleted.
(-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]): Deleted.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:

(TEST):

2:52 PM Changeset in webkit [251675] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Remove unused WKWebsiteDataStore setter SPI
https://bugs.webkit.org/show_bug.cgi?id=203114

Reviewed by Anders Carlsson.

They have been replaced by _WKWebsiteDataStoreConfiguration SPI which was adopted in rdar://problem/56349165

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _setBoundInterfaceIdentifier:]): Deleted.
(-[WKWebsiteDataStore _boundInterfaceIdentifier]): Deleted.
(-[WKWebsiteDataStore _setAllowsCellularAccess:]): Deleted.
(-[WKWebsiteDataStore _allowsCellularAccess]): Deleted.
(-[WKWebsiteDataStore _setProxyConfiguration:]): Deleted.
(-[WKWebsiteDataStore _proxyConfiguration]): Deleted.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::setBoundInterfaceIdentifier): Deleted.
(WebKit::WebsiteDataStore::setAllowsCellularAccess): Deleted.
(WebKit::WebsiteDataStore::setProxyConfiguration): Deleted.

2:46 PM Changeset in webkit [251674] by Dewei Zhu
  • 4 edits in trunk/Websites/perf.webkit.org

Fix a bug that cannot unhide a platform.
https://bugs.webkit.org/show_bug.cgi?id=203521

Reviewed by Ryosuke Niwa.

Before this change, the there is no value in POST when 'hidden' checkbox is unchecked.
Then the update will fail because platform_hidden cannot be NULL.

  • public/admin/platforms.php: Adapted 'update_boolean_field'.
  • public/admin/triggerables.php: Adapted 'update_boolean_field'.
  • public/include/admin-header.php: Added 'update_boolean_field' helper function to set explict

boolean value for update.

2:42 PM Changeset in webkit [251673] by beidson@apple.com
  • 5 edits in trunk

Expose _printOperationWithPrintInfo: SPI as API
<rdar://problem/36557179> and https://bugs.webkit.org/show_bug.cgi?id=203496

Reviewed by Andy Estes.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView printOperationWithPrintInfo:]):
(-[WKWebView _printOperationWithPrintInfo:]):

Tools:

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController printWebView:]):

2:38 PM Changeset in webkit [251672] by Kate Cheney
  • 8 edits in trunk/Source/WebKit

Layout Test http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203491
<rdar://problem/56674176>

Reviewed by Chris Dumez.

No new tests, this change is tested by the existing resourceLoadStatistics
tests.

This test started flaking when a new memory store was being created
between tests to maintain consistency. The call to grandfatherExistingWebsiteData
from populateMemoryStoreFromDisk in the persistent storage was
async, causing a race condition that led to occasional failures.
Adding a completion handler and changing the callsite of
populateMemoryStoreFromDisk should fix this problem.

  • NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp:

(WebKit::ResourceLoadStatisticsPersistentStorage::ResourceLoadStatisticsPersistentStorage):

  • NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
The persistent store in the databaseEnabled case was never being used
and is unnecessary.

(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
Since persistent storage only exists when using the memory store,
populateMemoryStoreFromDisk should check if
m_persistentStorage has been initialized.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::setUseITPDatabase):

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):
(WebKit::NetworkSession::recreateResourceLoadStatisticStore):

  • NetworkProcess/NetworkSession.h:
2:13 PM Changeset in webkit [251671] by ysuzuki@apple.com
  • 8 edits
    2 adds in trunk

[JSC] Optimize Promise runtime functions
https://bugs.webkit.org/show_bug.cgi?id=203454

Reviewed by Keith Miller.

JSTests:

  • microbenchmarks/promise-reject.js: Added.
  • microbenchmarks/promise-resolve.js: Added.

Source/JavaScriptCore:

This patch optimizes Promise runtime functions a bit.

  1. Add fast paths to Promise.resolve / Promise.reject.
  2. Remove state check in async-functions. Unlike generators, async-function's next function is not exposed to users. It is called by runtime so we can control state perfectly.
  3. Add "enqueueJob" name to make sampling profiler work for this function.
  4. Make Promise/InternalPromise constructor inlinable size

ToT Patched

promise-creation-many 25.5794+-0.3681 22.5410+-0.3229 definitely 1.1348x faster
promise-resolve 32.3793+-0.4252 9.4219+-0.1114 definitely 3.4366x faster
promise-reject 108.5968+-0.7741 36.9383+-0.3770 definitely 2.9400x faster

  • builtins/AsyncFunctionPrototype.js:

(globalPrivate.asyncFunctionResume):

  • builtins/PromiseConstructor.js:

(reject):
(resolve):
(nakedConstructor.Promise.reject):
(nakedConstructor.Promise):
(nakedConstructor.InternalPromise.reject):
(nakedConstructor.InternalPromise):
(nakedConstructor.Promise.resolve): Deleted.
(nakedConstructor.InternalPromise.resolve): Deleted.

  • builtins/PromiseOperations.js:

(globalPrivate.newPromiseCapability.resolve):
(globalPrivate.newPromiseCapability.reject):
(globalPrivate.newPromiseCapability):
(globalPrivate.promiseResolveSlow):
(globalPrivate.promiseRejectSlow):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

LayoutTests:

  • inspector/console/message-stack-trace-expected.txt:
1:50 PM Changeset in webkit [251670] by Jonathan Bedard
  • 4 edits in trunk/Tools

results.webkit.org: Show results which are missing expectations
https://bugs.webkit.org/show_bug.cgi?id=203494
<rdar://problem/56436643>

Reviewed by Aakash Jain.

  • resultsdbpy/resultsdbpy/view/static/css/timeline.css:

(.dot.warning): Add warning dot with dark-orange color.

  • resultsdbpy/resultsdbpy/view/static/js/expectations.js:

(Expectations.colorMap): Add warning.
(Expectations.failureTypes): Ditto.
(Expectations.failureTypeMap): Ditto.
(Expectations.symbolMap): Ditto.

  • resultsdbpy/resultsdbpy/view/static/js/timeline.js:

(Legend): Add warning bubble.

1:44 PM Changeset in webkit [251669] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Use FTLOutput::callWithoutSideEffects if operation does not have side effects
https://bugs.webkit.org/show_bug.cgi?id=203485

Reviewed by Mark Lam.

This makes Call's Effect none, and encourages optimizations around it.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::doubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::jsValueToStrictInt52):

1:32 PM Changeset in webkit [251668] by Simon Fraser
  • 17 edits in trunk

Properties that take <position> should not accept 3 values
https://bugs.webkit.org/show_bug.cgi?id=189142
LayoutTests/imported/w3c:

<rdar://problem/44110851>

Reviewed by Antti Koivisto.

New PASS results.

  • web-platform-tests/css/css-images/parsing/gradient-position-invalid-expected.txt:
  • web-platform-tests/css/css-images/parsing/object-position-invalid-expected.txt:
  • web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position-expected.txt:

Source/WebCore:

Reviewed by Antti Koivisto.

The resolution in https://github.com/w3c/csswg-drafts/issues/2140 changed the syntax for <position>,
disallowing the 3-value syntax. This is used in object-position, gradients and shapes. background-position
continues to use the old syntax.

Fix CSS parsing accordingly.

Tested by css-images WPT, by shapes tests, and object-position tests.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumePerspectiveOrigin):
(WebCore::consumeBasicShapeCircle):
(WebCore::consumeBasicShapeEllipse):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeBackgroundPosition):
(WebCore::CSSPropertyParser::consumeBackgroundShorthand):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::backgroundPositionFromThreeValues):
(WebCore::CSSPropertyParserHelpers::positionFromFourValues):
(WebCore::CSSPropertyParserHelpers::consumePosition):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeConicGradient):
(WebCore::CSSPropertyParserHelpers::positionFromThreeOrFourValues): Deleted.

  • css/parser/CSSPropertyParserHelpers.h:

LayoutTests:

Reviewed by Antti Koivisto.

Land some FAIL results for these shapes tests. They should get removed when
the css/css-shapes WPT are imported (webkit.org/b/203441), though the WPT
haven't been updated for the new syntax either.

  • css3/shapes/shape-outside/values/shape-outside-circle-002-expected.txt:
  • css3/shapes/shape-outside/values/shape-outside-circle-004-expected.txt:
  • css3/shapes/shape-outside/values/shape-outside-ellipse-002-expected.txt:
  • css3/shapes/shape-outside/values/shape-outside-ellipse-004-expected.txt:
  • fast/css/object-position/parsing-object-position-expected.txt:
  • fast/css/object-position/parsing-object-position.html: Remove the invalid position test.
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js: Remove the invalid position tests.
1:21 PM Changeset in webkit [251667] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

dumpSpeculation in SpeculatedType.cpp prints to the wrong stream and has wrong capitalization for NaN
https://bugs.webkit.org/show_bug.cgi?id=203486

Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2019-10-28
Reviewed by Antti Koivisto.

  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):

1:09 PM Changeset in webkit [251666] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Two imported tests from r251591 are failing
https://bugs.webkit.org/show_bug.cgi?id=203501

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:58 PM Changeset in webkit [251665] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

[iOS] 3 editing/pasteboard/smart-paste-paragraph-* tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=203264
<rdar://problem/56512107>

Reviewed by Tim Horton.

Fixes several flaky layout tests that exercise a corner case in our logic for caching position information
responses in the UI process. When focusing an element via a tap, we send a position information request for the
tap location in -_webTouchEventsRecognized:. After the web process computes the information and hands it back to
the UI process, we cache this in WKContentView's _positionInformation.

However, at the time of computing the request, the tapped element has not been focused yet, so the value of the
position information's nodeAtPositionIsFocusedElement flag is false. After the tap is recognized, we'll then
focus the element, such that if a subsequent position information request were to arrive at the same location,
it would have a nodeAtPositionIsFocusedElement flag set to true.

In this state, if the user taps _exactly_ at the same location again, UIKit (through text interaction gestures)
will ask us for information at the same point; we will end up using the cached information, for which
nodeAtPositionIsFocusedElement is false, causing us to incorrectly prevent the text interaction. In this
particular case, we fail to select text via a double tap gesture.

To address this, we invalidate the cached position information in the UI process whenever the focused element
rect changes (e.g. when the focused element changes); the only exception to this is when the previously cached
position information was not over the focused element, and the new focused element rect is empty, in which case
the value of nodeAtPositionIsFocusedElement is guaranteed to have not changed.

While this may potentially leads to an additional synchronous position information request when tapping at the
same location after focusing an element, this is very difficult to achieve in practice, since the tap location
would need to be _exactly_ at the same location.

No new test, since this is exercised by existing flaky layout tests.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView _elementDidBlur]):

Also, add a FIXME about how we clear out surprisingly little of _focusedElementInformation when blurring the
focused element.

(-[WKContentView _didChangeFocusedElementRect:toRect:]):

12:52 PM Changeset in webkit [251664] by Simon Fraser
  • 1 edit
    2 adds in trunk/LayoutTests/imported/w3c

Flaky Test: imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-005.html
https://bugs.webkit.org/show_bug.cgi?id=203473
https://bugs.webkit.org/show_bug.cgi?id=203474

Unreviewed test gardening.

Add missing results (missing because these tests assert in debug).

  • web-platform-tests/css/css-position/position-absolute-container-dynamic-002-expected.txt: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-005-expected.txt: Added.
12:45 PM Changeset in webkit [251663] by wilander@apple.com
  • 16 edits
    16 adds in trunk

Storage Access API: Make the API work with the experimental 3rd-party cookie blocking
https://bugs.webkit.org/show_bug.cgi?id=203428
<rdar://problem/56626949>

Reviewed by Alex Christensen.

Source/WebKit:

Tests: http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking.html

http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking.html
http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie.html
http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie.html

This patch adds Storage Access API support for the experimental 3rd-party cookie blocking that
landed in <https://trac.webkit.org/changeset/251467>.

There are three policies at play because it can be changed with the experimental setting:

  1. The underlying cookie policy.
  2. Shipping ITP.
  3. The off by default, experimental 3rd-party cookie blocking.

To support them all, a CookieAccess enum was added to encode how the API should respond.
The enum has these values:
CannotRequest - This third-party cannot request storage access based on the current policy.
BasedOnCookiePolicy – This third-party should be treated according to the underlying cookie policy.
OnlyIfGranted – This third-party can and must get access through the Storage Access API.

Here's the truth table I used to work through the logic for both
document.hasStorageAccess() and document.requestStorageAccess():

Access | Is | User | Has | 3rd-party | |
granted | prevalent | interaction | cookie | cookie block | RESULT |


| | | |  | | false |


| | | |  | true | false |


| | | | true | | true |


| | | | true | true | false |


| | | true |  | | false |


| | | true |  | true | false |


| | | true | true | | true |


| | | true | true | true | false |


| | true | !care | !care | !care | false |


| true | !care | !care | !care | !care | true |


  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::cookieAccess const):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccessUnderOpener):

Extra checks removed since there's no harm in granting access
to a third-party that already has access by way of the underlying
cookie policy. Also, this is a temporary compatibility fix.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::cookieAccess const):
(WebKit::ResourceLoadStatisticsMemoryStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccessUnderOpener):

Extra checks removed since there's no harm in granting access
to a third-party that already has access by way of the underlying
cookie policy. Also, this is a temporary compatibility fix.

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:

(WebKit::ResourceLoadStatisticsStore::setIsThirdPartyCookieBlockingEnabled):
(WebKit::ResourceLoadStatisticsStore::isThirdPartyCookieBlockingEnabled const):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::setIsThirdPartyCookieBlockingEnabled):

This is now the single path to control this setting in both ITP
and the network storage session. See comment below.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::setShouldBlockThirdPartyCookiesForTesting):

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):
(WebKit::NetworkSession::setIsThirdPartyCookieBlockingEnabled):

Restructured these so that they are initiated like the rest of the
parameters and only have a single path for changes so that a
reset to consistent state resets all the state.

  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

Tools:

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::statisticsCallDidSetShouldDowngradeReferrerCallback):
(WTR::TestRunner::statisticsCallDidSetShouldBlockThirdPartyCookiesCallback):

Both of these were missing resets of their m_hasSet*Callback booleans.

LayoutTests:

  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database-expected.txt: Added.
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database.html: Added.
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-expected.txt: Added.
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking.html: Added.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database-expected.txt: Added.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html: Added.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-expected.txt: Added.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking.html: Added.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies.html:
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie.html: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database.html: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie.html: Added.
11:56 AM Changeset in webkit [251662] by Simon Fraser
  • 24 edits in trunk

Add support for the Q unit
https://bugs.webkit.org/show_bug.cgi?id=203469

Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:

Add support for the CSS "Q" unit (quater-millimeter):
<https://drafts.csswg.org/css-values-4/#Q>

  • web-platform-tests/css/css-values/absolute-length-units-001-expected.txt:
  • web-platform-tests/css/css-values/calc-serialization-002-expected.txt:
  • web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
  • web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:
  • web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt:
  • web-platform-tests/css/css-values/minmax-length-serialize-expected.txt:

Source/WebCore:

Add support for the CSS "Q" unit (quater-millimeter):
<https://drafts.csswg.org/css-values-4/#Q>

Tested by web platform tests.

  • css/CSSCalculationValue.cpp:

(WebCore::unitCategory):
(WebCore::hasDoubleValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::isStringType):
(WebCore::CSSPrimitiveValue::unitCategory):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
(WebCore::CSSPrimitiveValue::equals const):

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isLength):

  • css/parser/CSSParserToken.cpp:

(WebCore::cssPrimitiveValueUnitFromTrie):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeLength):

  • editing/cocoa/HTMLConverter.mm:

(floatValueFromPrimitiveValue):

LayoutTests:

More tests now pass.

  • TestExpectations:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:
11:43 AM Changeset in webkit [251661] by Jonathan Bedard
  • 6 edits in trunk/Tools

results.webkit.org: Report more descriptive configurations for non-Apple ports
https://bugs.webkit.org/show_bug.cgi?id=203490
<rdar://problem/56658244>

Reviewed by Carlos Alberto Lopez Perez.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort):
(GtkPort.configuration_for_upload): Return use GTK as the platform.

  • Scripts/webkitpy/port/gtk_unittest.py:

(GtkPortTest):
(GtkPortTest.test_default_upload_configuration):

  • Scripts/webkitpy/port/win.py:

(WinCairoPort.configuration_for_upload): Use wincairo as the platform.

  • Scripts/webkitpy/port/wpe.py:

(WPEPort):
(WPEPort.configuration_for_upload): Use WPE as the platform.

  • Scripts/webkitpy/port/wpe_unittest.py:

(WPEPortTest):
(WPEPortTest.test_default_upload_configuration):

11:26 AM Changeset in webkit [251660] by achristensen@apple.com
  • 3 edits in trunk/LayoutTests

Remove flaky debug log from WK1 expectations after r251582
https://bugs.webkit.org/show_bug.cgi?id=203383

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt:

The important part of this test is that there are 3 PASSes, not that the console log is consistent.

10:53 AM Changeset in webkit [251659] by achristensen@apple.com
  • 9 edits in trunk/Source

Remove unused NetworkProcessCreationParameters.urlSchemesRegisteredAsCanDisplayOnlyIfCanRequest
https://bugs.webkit.org/show_bug.cgi?id=203393

Reviewed by Chris Dumez.

Source/WebCore:

  • platform/LegacySchemeRegistry.cpp:

(WebCore::canDisplayOnlyIfCanRequestSchemes):
(WebCore::LegacySchemeRegistry::canDisplayOnlyIfCanRequest):
(WebCore::LegacySchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):

Source/WebKit:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::registerURLSchemeAsCanDisplayOnlyIfCanRequest const): Deleted.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::registerURLSchemeAsCanDisplayOnlyIfCanRequest):

10:01 AM Changeset in webkit [251658] by graouts@webkit.org
  • 22 edits in trunk

CSS Transitions and CSS Animations properties should treat unitless 0 as an invalid value for times
https://bugs.webkit.org/show_bug.cgi?id=203484

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-animations/parsing/animation-delay-invalid-expected.txt:
  • web-platform-tests/css/css-animations/parsing/animation-duration-invalid-expected.txt:
  • web-platform-tests/css/css-transitions/parsing/transition-delay-invalid-expected.txt:

Source/WebCore:

The CSS specification does not allow for "0" as a valid time (https://drafts.csswg.org/css-values-3/#time).
We change the way we parse time values to only allow for "0" if the UnitlessQuirk is set to Allow, which is
only the case for the -webkit-marquee-speed property.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeTime):

Source/WebInspectorUI:

Use 0s instead of 0 in places where unitless times were used but shouldn't have been.

  • UserInterface/Views/FindBanner.css:

(.no-find-banner-transition:matches(.find-banner, .supports-find-banner)):

  • UserInterface/Views/TabBar.css:

(.tab-bar > .item > .close):

LayoutTests:

Use 0s instead of 0 in places where unitless times were used but shouldn't have been.

  • animations/fill-mode-forwards-zero-duration.html:
  • compositing/animation/keyframe-order.html:
  • css1/units/zero-duration-without-units.html:
  • legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html:
  • legacy-animation-engine/compositing/animation/keyframe-order.html:
  • legacy-animation-engine/css1/units/zero-duration-without-units.html:
  • legacy-animation-engine/transitions/zero-duration-in-list.html:
  • legacy-animation-engine/transitions/zero-duration-without-units.html:
  • transitions/zero-duration-in-list.html:
  • transitions/zero-duration-without-units.html:
  • webanimations/css-animations-expected.txt:
  • webanimations/css-animations.html:
9:59 AM Changeset in webkit [251657] by graouts@webkit.org
  • 5 edits in trunk

[Web Animations] The easing property for a CSSTransition effect is always "linear"
https://bugs.webkit.org/show_bug.cgi?id=203476

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-transitions/AnimationEffect-getComputedTiming.tentative-expected.txt:

Source/WebCore:

While we correctly used the timing function set on the Animation object created while parsing a CSS Transition
for blending, we wouldn't set the timing function on the CSSTransition's AnimationEffect and it would not be
reflected correctly through the JS API. This also means that we shouldn't perform per-keyframe blending for CSS
Transitions.

  • animation/CSSTransition.cpp:

(WebCore::CSSTransition::setTimingProperties):

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):

9:25 AM Changeset in webkit [251656] by clopez@igalia.com
  • 9 edits in trunk

[GTK][WPE] Enable CSS typed OM
https://bugs.webkit.org/show_bug.cgi?id=192875

Reviewed by Carlos Garcia Campos.

.:

This enables the feature when building with experimental features enabled.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

Source/WebKit:

Enable the runtime feature by default on GTK/WPE when building with
experimental features enabled.

Covered by existing tests.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:

LayoutTests:

Unskip the tests that now pass.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
9:02 AM Changeset in webkit [251655] by Simon Fraser
  • 30 edits
    1 copy in trunk

Can't change @font-face descriptors from fontFaceRule.style.setProperty()
https://bugs.webkit.org/show_bug.cgi?id=177975
<rdar://problem/56648761>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

More passing subtests.

  • web-platform-tests/css/css-syntax/urange-parsing-expected.txt:

Source/WebCore:

When parsing properties via PropertySetCSSStyleDeclaration::setProperty() (called from
script as rule.style.setProperty()), CSSPropertyParser::parseValue() needs to know if
we're parsing properties in a @font-face or @viewport rule, since some properties are
only allowed in these contexts.

Achieve this by adding to CSSParserContext an Optional<enclosingRuleType>, which gets set
for font-face and viewport rules. This gets set by StyleRuleCSSStyleDeclaration::cssParserContext()
based on the type of the parent rule.

Moved StyleRule::Type to its own header so CSSParserContext can use it. Added compile-time asserts
that the values match CSSRule::Type (fixing one of them).

Also fix <urange> serialization when start and end values are the same.

Test: web-platform-tests/css/css-syntax/urange-parsing.html

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

(WebCore::StyleRuleKeyframe::StyleRuleKeyframe):

  • css/CSSKeyframesRule.cpp:

(WebCore::StyleRuleKeyframes::StyleRuleKeyframes):

  • css/CSSPropertySourceData.h:

(WebCore::CSSRuleSourceData::create):
(WebCore::CSSRuleSourceData::createUnknown):
(WebCore::CSSRuleSourceData::CSSRuleSourceData):

  • css/CSSRule.cpp:
  • css/CSSUnicodeRangeValue.cpp:

(WebCore::CSSUnicodeRangeValue::customCSSText const):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::StyleRuleCSSStyleDeclaration::cssParserContext const):

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy const):
(WebCore::StyleRuleBase::createCSSOMWrapper const):
(WebCore::StyleRule::StyleRule):
(WebCore::StyleRulePage::StyleRulePage):
(WebCore::StyleRuleFontFace::StyleRuleFontFace):
(WebCore::StyleRuleGroup::StyleRuleGroup):
(WebCore::StyleRuleMedia::StyleRuleMedia):
(WebCore::StyleRuleSupports::StyleRuleSupports):
(WebCore::StyleRuleViewport::StyleRuleViewport):
(WebCore::StyleRuleCharset::StyleRuleCharset):
(WebCore::StyleRuleNamespace::StyleRuleNamespace):

  • css/StyleRule.h:

(WebCore::StyleRuleBase::type const):
(WebCore::StyleRuleBase::isCharsetRule const):
(WebCore::StyleRuleBase::isFontFaceRule const):
(WebCore::StyleRuleBase::isKeyframesRule const):
(WebCore::StyleRuleBase::isKeyframeRule const):
(WebCore::StyleRuleBase::isNamespaceRule const):
(WebCore::StyleRuleBase::isMediaRule const):
(WebCore::StyleRuleBase::isPageRule const):
(WebCore::StyleRuleBase::isStyleRule const):
(WebCore::StyleRuleBase::isSupportsRule const):
(WebCore::StyleRuleBase::isViewportRule const):
(WebCore::StyleRuleBase::isImportRule const):
(WebCore::StyleRuleBase::StyleRuleBase):

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::StyleRuleImport):

  • css/StyleRuleImport.h:
  • css/StyleRuleType.h: Copied from Source/WebCore/css/CSSUnicodeRangeValue.cpp.
  • css/StyleSheetContents.cpp:

(WebCore::traverseRulesInVector):
(WebCore::StyleSheetContents::traverseSubresources const):

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • css/parser/CSSParserContext.h:
  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::parseValue):
(WebCore::CSSParserImpl::parseInlineStyleDeclaration):
(WebCore::CSSParserImpl::parseDeferredDeclaration):
(WebCore::CSSParserImpl::parseDeclarationList):
(WebCore::CSSParserImpl::supportsDeclaration):
(WebCore::CSSParserImpl::parseDeclarationListForInspector):
(WebCore::CSSParserImpl::consumeImportRule):
(WebCore::CSSParserImpl::consumeMediaRule):
(WebCore::CSSParserImpl::consumeSupportsRule):
(WebCore::CSSParserImpl::consumeViewportRule):
(WebCore::CSSParserImpl::consumeFontFaceRule):
(WebCore::CSSParserImpl::consumeKeyframesRule):
(WebCore::CSSParserImpl::consumePageRule):
(WebCore::CSSParserImpl::consumeKeyframeStyleRule):
(WebCore::observeSelectors):
(WebCore::CSSParserImpl::consumeStyleRule):
(WebCore::CSSParserImpl::consumeDeclarationList):
(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::consumeDeclarationValue):

  • css/parser/CSSParserImpl.h:
  • css/parser/CSSParserObserver.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseValue):

  • css/parser/CSSPropertyParser.h:
  • css/parser/CSSTokenizer.cpp:

(WebCore::CSSTokenizer::letterU):

  • inspector/InspectorStyleSheet.cpp:

(flattenSourceData):
(WebCore::StyleSheetHandler::startRuleHeader):
(WebCore::InspectorStyleSheetForInlineStyle::ruleSourceData const):

LayoutTests:

Fix tests for the urange serialization fix.

  • fast/text/font-face-javascript-expected.txt:
  • fast/text/font-face-javascript.html:
  • fast/text/unicode-range-javascript-expected.txt:
  • fast/text/unicode-range-javascript.html:
8:06 AM Changeset in webkit [251654] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r251651.
https://bugs.webkit.org/show_bug.cgi?id=203488

It's causing crashes in several tests (Requested by KaL on
#webkit).

Reverted changeset:

"ImageDecoders: use a thread safe data buffer for Cairo
backing store"
https://bugs.webkit.org/show_bug.cgi?id=201727
https://trac.webkit.org/changeset/251651

7:57 AM Changeset in webkit [251653] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] Improve summary for CompileWebKit and CompileJSC build step
https://bugs.webkit.org/show_bug.cgi?id=203487

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(CompileWebKit.getResultSummary): Method to generate custom status message.
(CompileJSC.getResultSummary): Ditto.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
3:31 AM Changeset in webkit [251652] by Fujii Hironori
  • 2 edits in trunk/Source/JavaScriptCore

[Windows][Clang] error LNK2001: unresolved external symbol "void * cdecl JSC::allocateCell<class JSC::JSGenericTypedArrayView<struct JSC::Float32Adaptor> >(class JSC::Heap &,unsigned int64)"
https://bugs.webkit.org/show_bug.cgi?id=203483

Unreviewed build fix for clang-cl builds.

  • runtime/JSGenericTypedArrayViewInlines.h: Added #include "JSCellInlines.h".
3:12 AM Changeset in webkit [251651] by cturner@igalia.com
  • 3 edits in trunk/Source/WebCore

ImageDecoders: use a thread safe data buffer for Cairo backing store
https://bugs.webkit.org/show_bug.cgi?id=201727

Reviewed by Carlos Garcia Campos.

When an image resource gets cached and replaces an existing image,
CachedImage::didReplaceSharedBufferContents is called, which
destroys the decoder in the BitmapImage class. This decoder can be
initialized from any thread via
ImageSource::ensureDecoderAvailable. On GTK/WPE, this dispatches
to a ScalableImageDecoder, which contains a vector of
ScalableImageDecoderFrame's, which contain ImageBackingStore's,
which for reasons related to Cairo, contain a RefCounted
SharedBuffer of pixel data.

The problem is that the CachedImage's decoders can be
created/destroyed on different threads, so a thread-safe buffer
class is required to hold these data, and pass them safely into
cairo_image_surface_create_for_data rather than a SharedBuffer
which must be created/destroyed on the main-thread.

Covered by existing tests.

  • platform/graphics/ImageBackingStore.h: Create a small

thread-safe utility class to hold the RGBA pixel data.
(WebCore::ImageBackingStore::setSize):
(WebCore::ImageBackingStore::clear):
(WebCore::ImageBackingStore::pixelAt const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::create):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::zeroPixelData):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::pixelAt const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::data const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::isValid const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::RGBAPixelBufferThreadSafeRefCounted):
(WebCore::ImageBackingStore::ImageBackingStore):

  • platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:

(WebCore::ImageBackingStore::image const):

2:24 AM Changeset in webkit [251650] by Carlos Garcia Campos
  • 19 edits
    1 delete in trunk/Source

[GTK] Simplify the Input Method implementation
https://bugs.webkit.org/show_bug.cgi?id=203149

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Remove CompositionResults and remove dead code in PlatformKeyboardEventGtk.

  • PlatformGTK.cmake:
  • platform/PlatformKeyboardEvent.h:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/gtk/CompositionResults.h: Removed.
  • platform/gtk/PlatformKeyboardEventGtk.cpp:

(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

Source/WebKit:

  • Shared/NativeWebKeyboardEvent.h: Stop using WebCore::CompositionResults.

(WebKit::NativeWebKeyboardEvent::text const):
(WebKit::NativeWebKeyboardEvent::handledByInputMethod const):
(WebKit::NativeWebKeyboardEvent::fakedForComposition const):

  • Shared/gtk/NativeWebKeyboardEventGtk.cpp: Ditto.

(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebKeyboardEvent): Ditto.

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithKeyEvent): Updated to use the new name.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp: Stop using WebCore::CompositionResults.

(webkitWebViewBaseKeyPressEvent):
(webkitWebViewBaseKeyReleaseEvent):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Remove unused function.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setComposition): Use EditingRange instead of two integers and remove replacement range
that is unused.
(WebKit::WebPageProxy::confirmComposition): Remove unused selection range parameters.

  • UIProcess/WebPageProxy.h:
  • UIProcess/gtk/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::handleKeyboardEvent):
(WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults):
(WebKit::InputMethodFilter::confirmComposition):
(WebKit::InputMethodFilter::updatePreedit):
(WebKit::InputMethodFilter::confirmCurrentComposition):
(WebKit::InputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
(WebKit::InputMethodFilter::logHandleKeyboardEventForTesting):
(WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting):

  • UIProcess/gtk/InputMethodFilter.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::targetFrameForEditing): Receive a reference instead of a pointer.
(WebKit::WebPage::confirmComposition): Remove the unused code to handle the selection range.
(WebKit::WebPage::setComposition): Remove the unused code to handle the replacement range.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
1:08 AM Changeset in webkit [251649] by graouts@webkit.org
  • 5 edits in trunk

[Web Animations] getKeyframes() doesn't return the right timing function for declarative animations
https://bugs.webkit.org/show_bug.cgi?id=203475

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt:
  • web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt:

Source/WebCore:

We had two bugs for declarative animations and the "easing" property for keyframes returned by KeyframeEffect::getKeyframes().
First, we should return "linear" for all keyframes for CSS Transitions since the transition-timing-function is set as the "easing"
property of the effect itself, not any indvidual keyframe. Then, we would always return the "easing" of the first keyframe while
iterating over keyframes, which was an oversight.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::getKeyframes):

12:54 AM Changeset in webkit [251648] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

[Web Animations] Update WPT tests related to Web Animations and remove imported Mozilla tests
https://bugs.webkit.org/show_bug.cgi?id=203291

Unreviewed test gardening.

Note: See TracTimeline for information about the timeline view.