Timeline
May 2, 2021:
- 8:11 PM Changeset in webkit [276889] by
-
- 1 edit139 adds in trunk/Websites/browserbench.org
Copy PerformanceTests/MotionMark to WebSites/browserbench.org/MotionMark1.2
https://bugs.webkit.org/show_bug.cgi?id=225287
Reviewed by Maciej Stachowiak and Ryosuke Niwa.
This patch copies the files, and also updates the version in WebSites/browserbench.org
to "1.2." It also updates the "about" page to include a description of the changes.
No existing links have been updated to point to this new version.
- MotionMark1.2/about.html: Added.
- MotionMark1.2/developer.html: Added.
- MotionMark1.2/index.html: Added.
- MotionMark1.2/resources/debug-runner/d3.min.js: Added.
- MotionMark1.2/resources/runner/benchmark-runner.js: Added.
(BenchmarkRunnerState.Utilities.createClass):
(this.next.currentSuite):
(this.next.currentTest):
(this.next.isFirstTest):
(this.next.next):
(this.next.frame.onload):
(this.next.prepareCurrentTest):
(this.next):
(BenchmarkRunner.Utilities.createClass):
(_appendFrame):
(_removeFrame):
(_runBenchmarkAndRecordResults):
(step):
(runAllSteps):
(this._runNextIteration):
(runMultipleIterations):
(_finalize):
- MotionMark1.2/resources/runner/crystal.svg: Added.
- MotionMark1.2/resources/runner/lines.svg: Added.
- MotionMark1.2/resources/runner/logo.svg: Added.
- MotionMark1.2/resources/runner/motionmark.css: Added.
(html,):
(body):
(body.showing-intro,):
(body.showing-test-container):
(body.images-loaded):
(@media screen and (min-width: 667px) body):
(@media screen and (min-width: 667px) body.showing-intro,):
(@media screen and (min-width: 1025px) body.showing-intro,):
(::selection):
(.hidden):
(section):
(section.selected):
(.logo):
(.logo svg):
(.logo div):
(body.images-loaded .logo svg):
(@media screen and (min-width: 667px) .logo svg):
(@media screen and (min-width: 667px) .logo div):
(section .body):
(section .body p):
(@media screen and (min-width: 667px) section .body):
(@media screen and (min-width: 667px) section button):
(button):
(body.images-loaded button):
(button:hover):
(button:active):
(button:disabled):
(@media print button):
(.portrait-orientation-check):
(@media screen and (max-device-width: 1025px) and (orientation: portrait) .portrait-orientation-check):
(@media screen and (max-device-width: 1025px) and (orientation: portrait) .landscape-orientation-check):
(@keyframes background-fade):
(@keyframes background-color):
(12%, 20%):
(22%, 30%):
(32%, 40%):
(42%, 50%):
(52%, 60%):
(62%, 70%):
(72%, 80%):
(82%, 90%):
(92%, 100%):
(@keyframes foreground-color):
(#intro, #about):
(#intro):
(body.images-loaded #intro):
(#about .body):
(#about li):
(#about button):
(#about h3):
(#about #log):
(#about #log li):
(@media screen and (min-width: 667px) #about .body):
(@media screen and (min-width: 667px) #about ol, #about ul):
(#intro a, #about a,):
(.frame-container):
(.frame-container > iframe):
(body.small .frame-container):
(body.medium .frame-container):
(body.large .frame-container):
(#results):
(#results .body):
(#results .score-container):
(#results .table-container):
(#results .table-container > div):
(#results .score):
(#results .confidence):
(#results table):
(#results table td,):
(#results table td.suites-separator):
(#results table tr:nth-child(even)):
(#results #results-header):
(#results #results-score):
(#results #results-data span):
(#results #results-header td,):
(#results #results-score td,):
(#results #results-score td):
(@media screen and (min-width: 667px) #results .score,):
(.detail span):
(body.small .detail .small,):
(#overlay):
(@supports (-webkit-backdrop-filter: blur(10px))):
(#overlay > div):
(#overlay > div div):
- MotionMark1.2/resources/runner/motionmark.js: Added.
(ResultsDashboard.Utilities.createClass):
(this._processData.push):
(this._processData._processData):
(this._processData.findRegression):
(this._processData.):
(this._processData.calculateScore):
(this._processData.get data):
(this._processData.get results):
(this._processData.get options):
(this._processData.get version):
(this._processData._getResultsProperty):
(this._processData.get score):
(this._processData.get scoreLowerBound):
(this._processData.get scoreUpperBound):
(this._processData):
(ResultsTable.Utilities.createClass):
(this.clear.clear):
(this.clear._addHeader):
(this.clear._addBody):
(this.clear._addEmptyRow):
(this.clear):
(this.clear._addIteration):
(this.clear.showIterations):
(window.benchmarkRunnerClient.initialize):
(window.benchmarkRunnerClient.willStartFirstIteration):
(window.benchmarkRunnerClient.didRunSuites):
(window.benchmarkRunnerClient.didRunTest):
(window.benchmarkRunnerClient.didFinishLastIteration):
(window.sectionsManager.showSection):
(window.sectionsManager.setSectionVersion):
(window.sectionsManager.setSectionScore):
(window.sectionsManager.populateTable):
(window.benchmarkController.initialize):
(window.benchmarkController.determineCanvasSize):
(window.benchmarkController.addOrientationListenerIfNecessary):
(window.benchmarkController._orientationChanged):
(window.benchmarkController.updateStartButtonState):
(window.benchmarkController._startBenchmark):
(window.benchmarkController.startBenchmark):
(window.benchmarkController.showResults):
(window.benchmarkController.handleKeyPress):
(window.benchmarkController.hideDebugInfo):
(window.benchmarkController.data.onclick):
(window.benchmarkController.button.onclick):
(window.benchmarkController.showDebugInfo):
(window.benchmarkController.selectResults):
- MotionMark1.2/resources/runner/tests.js: Added.
(Headers.details.text):
(Suite):
(suiteFromName):
- MotionMark1.2/resources/statistics.js: Added.
(Pseudo.resetRandomSeed):
(Pseudo.random):
(Statistics.sampleMean):
(Statistics.unbiasedSampleStandardDeviation):
(Statistics.geometricMean):
(Statistics.cdf):
(Statistics.erf):
(Statistics.largestDeviationPercentage):
(Experiment.Utilities.createClass):
(this.reset.reset):
(this.reset.get sampleCount):
(this.reset.sample):
(this.reset.mean):
(this.reset.standardDeviation):
(this.reset.cdf):
(this.reset.percentage):
(this.reset.concern):
(this.reset.score):
(this.reset):
(Regression.Utilities.createClass):
(valueAt):
(setBest):
(_calculateRegression):
(bootstrap):
- MotionMark1.2/resources/strings.js: Added.
- MotionMark1.2/tests/3d/resources/webgl.js: Added.
(Stage.call.initialize):
(Stage.call._getFunctionSource):
(Stage.call._resetIfNecessary):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call.complexity):
(Stage.call):
- MotionMark1.2/tests/3d/resources/webgpu.js: Added.
(constant.float.uniforms.register):
(Stage.call.initialize):
(Stage.call._getFunctionSource):
(Stage.call._resetIfNecessary):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call.complexity):
(Stage.call):
(new.WebGLStage.waitUntilReady):
(new.WebGLStage):
- MotionMark1.2/tests/3d/triangles-webgl.html: Added.
- MotionMark1.2/tests/3d/triangles-webgpu.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-canvas-images.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-canvas-shapes.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-css-images.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-css-shapes.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-svg-images.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-svg-shapes.html: Added.
- MotionMark1.2/tests/bouncing-particles/bouncing-tagged-images.html: Added.
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-canvas-images.js: Added.
(_draw):
(BouncingCanvasParticlesStage.call.initialize):
(BouncingCanvasParticlesStage.call.createParticle):
(BouncingCanvasParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Added.
(applyRotation):
(applyClipping):
(_draw):
(animate):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.animate):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Added.
(this._color1.Stage.randomColor._applyFill):
(this._color1.Stage.randomColor._drawShape):
(this._color1.Stage.randomColor._draw):
(this._color1.Stage.randomColor):
(BouncingCanvasParticlesStage.call.initialize):
(BouncingCanvasParticlesStage.call.createParticle):
(BouncingCanvasParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-css-images.js: Added.
(this._move._move):
(this._move.animate):
(this._move):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.createParticle):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-css-shapes.js: Added.
(switch):
(this._move._createSpan):
(this._move._move):
(this._move.animate):
(this._move):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.createParticle):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-particles.js: Added.
(BouncingParticle):
(BouncingParticle.prototype.get center):
(BouncingParticle.prototype.animate):
(initialize):
(parseShapeParameters):
(animate):
(tune):
(complexity):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-svg-images.js: Added.
(BouncingSvgParticlesStage.call.initialize):
(BouncingSvgParticlesStage.call.createParticle):
(BouncingSvgParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-svg-particles.js: Added.
(_applyClipping):
(_move):
(animate):
(BouncingParticlesStage.call._createDefs):
(BouncingParticlesStage.call._ensureDefsIsCreated):
(BouncingParticlesStage.call._createClipStar):
(BouncingParticlesStage.call.ensureClipStarIsCreated):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Added.
(this._move._createShape):
(this._move._applyFill):
(this._move):
(BouncingSvgParticlesStage.call.initialize):
(BouncingSvgParticlesStage.call.createGradient):
(BouncingSvgParticlesStage.call.createParticle):
(BouncingSvgParticlesStage.call.particleWillBeRemoved):
(BouncingSvgParticlesStage.call):
- MotionMark1.2/tests/bouncing-particles/resources/bouncing-tagged-images.js: Added.
(this._move._move):
(this._move.animate):
(this._move):
(BouncingParticlesStage.call.):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.img.onload):
(BouncingParticlesStage.call._loadImage):
(BouncingParticlesStage.call.createParticle):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
(new.BouncingTaggedImagesStage.waitUntilReady):
(new.BouncingTaggedImagesStage):
- MotionMark1.2/tests/bouncing-particles/resources/image1.jpg: Added.
- MotionMark1.2/tests/bouncing-particles/resources/image2.jpg: Added.
- MotionMark1.2/tests/bouncing-particles/resources/image3.jpg: Added.
- MotionMark1.2/tests/bouncing-particles/resources/image4.jpg: Added.
- MotionMark1.2/tests/bouncing-particles/resources/image5.jpg: Added.
- MotionMark1.2/tests/dom/compositing-transforms.html: Added.
- MotionMark1.2/tests/dom/focus.html: Added.
- MotionMark1.2/tests/dom/leaves.html: Added.
- MotionMark1.2/tests/dom/multiply.html: Added.
- MotionMark1.2/tests/dom/particles.html: Added.
- MotionMark1.2/tests/dom/resources/compositing-transforms.js: Added.
(this._move._move):
(this._move.animate):
(this._move):
(BouncingParticlesStage.call.initialize):
(BouncingParticlesStage.call.createParticle):
(BouncingParticlesStage.call.particleWillBeRemoved):
(BouncingParticlesStage.call):
- MotionMark1.2/tests/dom/resources/dom-particles.js: Added.
(Particle.call.reset):
(Particle.call.move):
(Particle.call):
(ParticlesStage.call.initialize):
(ParticlesStage.call.createParticle):
(ParticlesStage.call.willRemoveParticle):
(ParticlesStage.call):
- MotionMark1.2/tests/dom/resources/focus.js: Added.
(FocusElement.Utilities.createClass):
(hide):
(show):
(animate):
(Stage.call.initialize):
(Stage.call.complexity):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call.getBlurValue):
(Stage.call.getOpacityValue):
(Stage.call):
- MotionMark1.2/tests/dom/resources/leaves.js: Added.
(SuperLeaf.call.move):
(SuperLeaf.call):
(switch):
- MotionMark1.2/tests/dom/resources/multiply.js: Added.
(switch):
- MotionMark1.2/tests/master/canvas-stage.html: Added.
- MotionMark1.2/tests/master/design.html: Added.
- MotionMark1.2/tests/master/focus.html: Added.
- MotionMark1.2/tests/master/image-data.html: Added.
- MotionMark1.2/tests/master/leaves.html: Added.
- MotionMark1.2/tests/master/multiply.html: Added.
- MotionMark1.2/tests/master/resources/canvas-stage.js: Added.
(initialize):
(tune):
(animate):
(complexity):
- MotionMark1.2/tests/master/resources/canvas-tests.js: Added.
(CanvasLineSegment.Utilities.createClass):
(draw):
(CanvasArc.Utilities.createClass):
(CanvasLinePoint.Utilities.createClass):
(randomPoint):
(SimpleCanvasStage.call.initialize):
(SimpleCanvasStage.call.animate):
(SimpleCanvasStage.call):
(switch):
- MotionMark1.2/tests/master/resources/compass.svg: Added.
- MotionMark1.2/tests/master/resources/compass100.png: Added.
- MotionMark1.2/tests/master/resources/console.svg: Added.
- MotionMark1.2/tests/master/resources/console100.png: Added.
- MotionMark1.2/tests/master/resources/contribute.svg: Added.
- MotionMark1.2/tests/master/resources/contribute100.png: Added.
- MotionMark1.2/tests/master/resources/debugger.svg: Added.
- MotionMark1.2/tests/master/resources/debugger100.png: Added.
- MotionMark1.2/tests/master/resources/design.js: Added.
(initialize):
(tune):
(animate):
(complexity):
- MotionMark1.2/tests/master/resources/focus.js: Added.
(FocusElement.Utilities.createClass):
(this.animate.hide):
(this.animate.show):
(this.animate.animate):
(this.animate):
(Stage.call.initialize):
(Stage.call.complexity):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call):
- MotionMark1.2/tests/master/resources/image-data.js: Added.
(initialize):
(_loadImage):
(tune):
(_createTestElement):
(_refreshElement):
(animate):
(_getRandomNeighboringPixelIndex):
(complexity):
(new.ImageDataStage.waitUntilReady):
(new.ImageDataStage):
- MotionMark1.2/tests/master/resources/inspector.svg: Added.
- MotionMark1.2/tests/master/resources/inspector100.png: Added.
- MotionMark1.2/tests/master/resources/layout.svg: Added.
- MotionMark1.2/tests/master/resources/layout100.png: Added.
- MotionMark1.2/tests/master/resources/leaves.js: Added.
(Particle.call.reset):
(Particle.call.animate):
(Particle.call.move):
(Particle.call):
(initialize):
(img.onload):
(_loadImage):
(animate):
(createParticle):
(willRemoveParticle):
(new.ParticlesStage.waitUntilReady):
(new.ParticlesStage):
- MotionMark1.2/tests/master/resources/multiply.js: Added.
(initialize):
(_addTile):
(complexity):
(tune):
(animate):
- MotionMark1.2/tests/master/resources/particles.js: Added.
(Particle):
(Particle.prototype.reset):
(Particle.prototype.animate):
(Particle.prototype.move):
(animate):
(tune):
(complexity):
- MotionMark1.2/tests/master/resources/performance.svg: Added.
- MotionMark1.2/tests/master/resources/performance100.png: Added.
- MotionMark1.2/tests/master/resources/script.svg: Added.
- MotionMark1.2/tests/master/resources/script100.png: Added.
- MotionMark1.2/tests/master/resources/shortcuts.svg: Added.
- MotionMark1.2/tests/master/resources/shortcuts100.png: Added.
- MotionMark1.2/tests/master/resources/standards.svg: Added.
- MotionMark1.2/tests/master/resources/standards100.png: Added.
- MotionMark1.2/tests/master/resources/storage.svg: Added.
- MotionMark1.2/tests/master/resources/storage100.png: Added.
- MotionMark1.2/tests/master/resources/styles.svg: Added.
- MotionMark1.2/tests/master/resources/styles100.png: Added.
- MotionMark1.2/tests/master/resources/suits.js: Added.
(this.initialize.initialize):
(this.initialize.reset):
(this.initialize.move):
(this.initialize):
(ParticlesStage.call.initialize):
(ParticlesStage.call.createParticle):
(ParticlesStage.call.willRemoveParticle):
(ParticlesStage.call):
- MotionMark1.2/tests/master/resources/timeline.svg: Added.
- MotionMark1.2/tests/master/resources/timeline100.png: Added.
- MotionMark1.2/tests/master/suits.html: Added.
- MotionMark1.2/tests/resources/main.js: Added.
(Sampler.Utilities.createClass):
(record):
(processSamples):
(Controller.Utilities.createClass):
(set isFrameLengthEstimatorEnabled):
(start):
(recordFirstSample):
(mark):
(containsMark):
(filterOutOutliers):
(_measureAndResetInterval):
(update):
(registerFrameTime):
(intervalHasConcluded):
(didFinishInterval):
(tune):
(shouldStop):
(results):
(_processComplexitySamples):
(_processMarks):
(_processControllerSamples):
(_getComplexity):
(_getFrameLength):
(Stage.Utilities.createClass):
(Stage.Utilities.createClass.initialize):
(Stage.Utilities.createClass.get element):
(Stage.Utilities.createClass.get size):
(Stage.Utilities.createClass.complexity):
(Stage.Utilities.createClass.tune):
(Stage.Utilities.createClass.animate):
(Stage.Utilities.createClass.clear):
(random):
(randomBool):
(randomSign):
(randomInt):
(randomPosition):
(randomSquareSize):
(randomVelocity):
(randomAngle):
(randomColor):
(randomStyleMixBlendMode):
(randomStyleFilter):
(randomElementInArray):
(rotatingColor):
(dateFractionalValue):
(dateCounterValue):
(randomRotater):
(Rotater.Utilities.createClass):
(get interval):
(next):
(degree):
(rotateZ):
(rotate):
(Benchmark.Utilities.createClass):
(get stage):
(get timestamp):
(backgroundColor):
(run):
(waitUntilReady):
(_animateLoop):
- MotionMark1.2/tests/resources/math.js: Added.
(this._gain.error.sample):
(this._gain.error.reset):
(this._gain.error):
(PIDController.Utilities.createClass):
(_yPosition):
(_distanceUltimate):
(_distance):
(_gainIncrement):
(_updateStage):
(_tuneP):
(_tunePID):
(_tune):
(_saturate):
(tune):
- MotionMark1.2/tests/resources/stage.css: Added.
(html):
(body):
(#stage):
(#center-text):
- MotionMark1.2/tests/resources/star.svg: Added.
- MotionMark1.2/tests/resources/yin-yang.png: Added.
- MotionMark1.2/tests/resources/yin-yang.svg: Added.
- MotionMark1.2/tests/simple/resources/simple-canvas-paths.js: Added.
(CanvasLineSegment.Utilities.createClass):
(this._lineWidth.Stage.randomInt.draw):
(this._lineWidth.Stage.randomInt):
(CanvasLinePoint.Utilities.createClass):
(draw):
(CanvasQuadraticSegment.Utilities.createClass):
(CanvasQuadraticPoint.Utilities.createClass):
(CanvasBezierSegment.Utilities.createClass):
(CanvasBezierPoint.Utilities.createClass):
(CanvasArcToSegment.Utilities.createClass):
(CanvasArcToSegmentFill.Utilities.createClass):
(CanvasArcToSegment.call.draw):
(CanvasArcToSegment.call):
(CanvasArcSegment.Utilities.createClass):
(CanvasArcSegmentFill.Utilities.createClass):
(CanvasArcSegment.call.draw):
(CanvasArcSegment.call):
(CanvasRect.Utilities.createClass):
(CanvasRectFill.Utilities.createClass):
(CanvasRect.call.draw):
(CanvasRect.call):
(CanvasEllipse.Utilities.createClass):
(CanvasEllipseFill.Utilities.createClass):
(CanvasEllipse.call.draw):
(CanvasEllipse.call):
(CanvasStroke.Utilities.createClass):
(this._object.new.draw):
(this._object.new):
(CanvasFill.Utilities.createClass):
(SimpleCanvasStage.call.animate):
(SimpleCanvasStage.call):
(SimpleCanvasStage.call.initialize):
(SimpleCanvasPathStrokeStage.call.initialize):
(SimpleCanvasPathStrokeStage.call):
(initialize):
(animate):
(switch):
- MotionMark1.2/tests/simple/resources/simple-canvas.js: Added.
(tune):
(animate):
(complexity):
- MotionMark1.2/tests/simple/resources/tiled-canvas-image.js: Added.
(CanvasImageTile.Utilities.createClass):
(getImageData):
(putImageData):
(Stage.call.initialize):
(Stage.call._setupTiles):
(Stage.call._nextTilePosition):
(Stage.call.tune):
(Stage.call._drawBackground):
(Stage.call.animate):
(Stage.call.complexity):
(Stage.call):
- MotionMark1.2/tests/simple/simple-canvas-paths.html: Added.
- MotionMark1.2/tests/simple/tiled-canvas-image.html: Added.
- MotionMark1.2/tests/svg/suits.html: Added.
- MotionMark1.2/tests/svg/suits.js: Added.
(this.initialize.move):
(this.initialize):
(this.initialize.reset):
(switch):
- MotionMark1.2/tests/template/resources/template-canvas.js: Added.
(TemplateCanvasObject):
(TemplateCanvasObject.prototype._draw):
(TemplateCanvasObject.prototype.animate):
(Stage.call.initialize):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call):
(new.TemplateCanvasStage.waitUntilReady):
(new.TemplateCanvasStage):
- MotionMark1.2/tests/template/resources/template-css.js: Added.
(Stage.call.initialize):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call):
- MotionMark1.2/tests/template/resources/template-svg.js: Added.
(Stage.call.initialize):
(Stage.call.tune):
(Stage.call.animate):
(Stage.call):
- MotionMark1.2/tests/template/template-canvas.html: Added.
- MotionMark1.2/tests/template/template-css.html: Added.
- MotionMark1.2/tests/template/template-svg.html: Added.
- MotionMark1.2/tests/text/design-6.html: Added.
- MotionMark1.2/tests/text/design-6.js: Added.
(switch):
(dataset.forEach):
- MotionMark1.2/tests/text/design.html: Added.
- MotionMark1.2/tests/text/design.js: Added.
(switch):
(dataset.forEach):
- 12:08 PM Changeset in webkit [276888] by
-
- 3 edits2 adds in trunk
getPropertyValue for url path doesn't return the "#" character
https://bugs.webkit.org/show_bug.cgi?id=215409
Patch by Rob Buis <rbuis@igalia.com> on 2021-05-02
Reviewed by Sam Weinig.
Source/WebCore:
Adapt url serializing in SVG to match Firefox and Chrome.
Test: svg/css/computed-style-url-serializing.html
- css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::svgPropertyValue):
LayoutTests:
Add test for this.
- svg/css/computed-style-url-serializing-expected.txt: Added.
- svg/css/computed-style-url-serializing.html: Added.
- 12:01 PM Changeset in webkit [276887] by
-
- 8 edits in trunk/Source
Add support for DestinationColorSpace::DisplayP3 in preparation for DisplayP3 canvas
https://bugs.webkit.org/show_bug.cgi?id=225280
Reviewed by Anders Carlsson.
Add new ENABLE_DESTINATION_COLOR_SPACE_DISPLAY_P3 macro to declare which ports
support P3 backing stores. Currently, only the Apple/Cocoa ports support it.
Source/WebCore:
When ENABLE(DESTINATION_COLOR_SPACE_DISPLAY_P3), also define ColorSpaceDestination::DisplayP3.
This is not currently used, but will be in subsequent changes.
- platform/graphics/ColorConversion.cpp:
(WebCore::converColorComponents):
- platform/graphics/ColorSpace.cpp:
(WebCore::operator<<):
- platform/graphics/ColorSpace.h:
(WebCore::callWithColorType):
- platform/graphics/cg/ColorSpaceCG.h:
(WebCore::cachedCGColorSpace):
Source/WTF:
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- 9:59 AM Changeset in webkit [276886] by
-
- 5 edits49 copies6 adds4 deletes in trunk/Source/WebCore
[LFC] Rename block(inline/table/flex)formattingContext directories to block(inline/table/flex)
https://bugs.webkit.org/show_bug.cgi?id=225275
Reviewed by Antti Koivisto.
The formattingContext postfix is redundant as they are all under the /formattingContexts directory.
- CMakeLists.txt:
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 9:45 AM Changeset in webkit [276885] by
-
- 12 edits3 deletes in trunk/LayoutTests
Consider removing imported/w3c/canvas and canvas/philip (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=225269
Reviewed by Simon Fraser.
Remove imported/w3c/canvas/* and canvas/philip/* and related expecations
and results. They are out of date copies of tests now bundled as part of
WPT in imported/w3c/web-platform-tests/html/canvas/element and are no
longer useful.
Part 2 removes the remaining copy in imported/w3c/canvas.
LayoutTests/imported/w3c:
- canvas: Removed.
LayoutTests:
- TestExpectations:
- platform/gtk/TestExpectations:
- platform/gtk/imported/w3c/canvas: Removed.
- platform/ios-wk1/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- platform/mac/imported/w3c/canvas: Removed.
- platform/win/TestExpectations:
- platform/wpe/TestExpectations:
- 9:36 AM Changeset in webkit [276884] by
-
- 11 edits5 deletes in trunk/LayoutTests
Consider removing imported/w3c/canvas and canvas/philip (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=225269
Reviewed by Simon Fraser.
Remove imported/w3c/canvas/* and canvas/philip/* and related expecations
and results. They are out of date copies of tests now bundled as part of
WPT in imported/w3c/web-platform-tests/html/canvas/element and are no
longer useful.
Part 1 just removes canvas/philip to make it more reasonable to review
and land.
- canvas/philip: Removed.
- http/tests/canvas/philip: Removed.
- platform/gtk/TestExpectations:
- platform/ios-wk1/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac-wk2/canvas/philip: Removed.
- platform/mac/TestExpectations:
- platform/mac/canvas/philip: Removed.
- platform/win/TestExpectations:
- platform/win/canvas/philip: Removed.
- platform/wincairo/TestExpectations:
- platform/wpe/TestExpectations:
- 9:04 AM Changeset in webkit [276883] by
-
- 5 edits in trunk/Source/WebCore
[Perf] Creation of many video elements slows over time
https://bugs.webkit.org/show_bug.cgi?id=225273
Reviewed by Eric Carlson.
In PerformanceTests/Media/VideoElementCreation.html, 1000 video elements are created
per test, and the test reports how long each batch of 1000 element took to create. A
typical run shows the amount of time to run each batch slows over time. The underlying
cause appears to be the cost it takes to iterate over each MediaElementSession inside
PlatformMediaSessionManager and subclasses.
Before a HTMLMediaElement has a src (or after it's emptied) there's no reason for its
MediaElementSession to be tracked by the PlatformMediaSessionManager. It can't play,
pause, be interrupted, or accept remote control commands. So PlatformMediaSession will
be changed so that it does not add itself to the list of its manager's sessions at
creation time; instead a new method, setActive(bool), is added and will be called at
an appropriate time by its clients, HTMLMediaElement and AudioContext.
HTMLMediaElement will activate its mediaSession just before creating its MediaPlayer
inside prepareForLoad() or loadNextSourceChild(), and will deactivate after tearing
down its MediaPlayer inside mediaLoadingFailed().
AudioContext will activate its mediaSession during its own initialization, and deactivate
inside close().
Before this change, on this machine, VideoElementCreation.html showed an incresing time
to video element creation, levelling out at ~400ms per 1000 elements. After this change,
VideoElelementCreation.html shows a constant time to video element creation, averaging
between 4ms and 7ms per 1000 elements.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::close):
(WebCore::AudioContext::lazyInitialize):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad):
(WebCore::HTMLMediaElement::mediaLoadingFailed):
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::PlatformMediaSession):
(WebCore::PlatformMediaSession::~PlatformMediaSession):
(WebCore::PlatformMediaSession::setActive):
- platform/audio/PlatformMediaSession.h:
May 1, 2021:
- 10:22 PM Changeset in webkit [276882] by
-
- 6 edits in trunk
Share style resolvers between author shadow trees with identical style
https://bugs.webkit.org/show_bug.cgi?id=225187
<rdar://problem/77317178>
Reviewed by Sam Weinig.
Source/WebCore:
Style resolvers own style resolution and invalidation rule sets, matched declarations cache, and other things.
With complex stylesheets that can be lot of data. We currently create a style resolver for each author
shadow tree. With web components it is common for a page to have large number of instances of the same
component, and so shadow trees with identical style.
We already deduplicate shadow tree stylesheets (including inline stylesheets based on string equality).
With this patch we'll use these stylesheets as keys for sharing the full style resolvers as well.
- style/StyleScope.cpp:
(WebCore::Style::Scope::createOrFindSharedShadowTreeResolver):
Expand the existing support for sharing between user agent shadow trees and author shadow trees with
empty style. Look up shareable resolvers from a map.
(WebCore::Style::Scope::unshareShadowTreeResolverBeforeMutation):
(WebCore::Style::Scope::makeResolverSharingKey):
Make a key from the active stylesheets and a bit indicating the shadow tree type.
(WebCore::Style::Scope::releaseMemory):
(WebCore::Style::Scope::didChangeStyleSheetEnvironment):
- style/StyleScope.h:
LayoutTests:
- fast/shadow-dom/style-resolver-sharing-expected.txt:
- fast/shadow-dom/style-resolver-sharing.html:
- 8:39 PM Changeset in webkit [276881] by
-
- 4 edits1 add in trunk/Source/WebCore
Move PixelFormat into its own file
https://bugs.webkit.org/show_bug.cgi?id=225272
Reviewed by Darin Adler.
PixelFormat is going to be useful for non-ImageBuffer specific reasons
soon, so let's move it to its own header.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/ImageBufferBackend.h:
- platform/graphics/PixelFormat.h: Added.
- 8:09 PM Changeset in webkit [276880] by
-
- 58 edits in trunk/Source
Use SortedArrayMap in a few more places
https://bugs.webkit.org/show_bug.cgi?id=225251
Reviewed by Sam Weinig.
Source/WebCore:
- Modules/encryptedmedia/CDM.h: Removed unneeded includes.
- Modules/indexeddb/server/IDBServer.h: Ditto.
- contentextensions/ContentExtensionActions.h: Ditto.
- css/CSSVariableData.h: Ditto.
- dom/FullscreenManager.h: Ditto.
- dom/ScriptElement.cpp:
(WebCore::isLegacySupportedJavaScriptLanguage): Use SortedArraySet.
(WebCore::ScriptElement::executeClassicScript): Fixed typo.
(WebCore::ScriptElement::executeModuleScript): Ditto.
- inspector/InspectorAuditResourcesObject.cpp: Removed unneeded includes.
- inspector/agents/InspectorNetworkAgent.cpp: Ditto.
- loader/appcache/ApplicationCacheGroup.cpp: Ditto.
- page/UserContentProvider.h: Ditto.
- page/ios/DOMTimerHoldingTank.cpp: Ditto.
- page/scrolling/ScrollingCoordinator.h: Ditto.
- page/scrolling/ScrollingTreeNode.h: Added forward declaration
that used to be inherited from another file where it's not needed.
- platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
(WebCore::GameControllerGamepadProvider::willHandleVendorAndProduct):
Use a switch statement.
- platform/gamepad/mac/HIDGamepadElement.h: Removed unneeded includes.
- platform/graphics/FontPlatformData.cpp: Ditto.
- platform/graphics/HEVCUtilities.cpp: Ditto.
- platform/graphics/IntRectHash.h: Ditto.
- platform/graphics/MIMETypeCache.cpp:
(WebCore::MIMETypeCache::isStaticContainerType): Renamed; this replaces
the old staticContainerTypeList function and just returns false.
- platform/graphics/MIMETypeCache.h: Replaced the staticContainerTypeList
fucntion with an isStaticContainerType function. Also made it, and one
other function, private.
- platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.h: Updated
for the change to MIMETypeCache.
- platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:
(WebCore::AVAssetMIMETypeCache::isStaticContainerType): Use SortedArraySet.
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
Removed unneeded includes.
- platform/graphics/coreimage/FilterEffectRendererCoreImage.h: Ditto.
- platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp: Ditto.
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h: Ditto.
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.h: Ditto.
- platform/mediastream/mac/CoreAudioCaptureSource.h: Ditto.
- platform/network/cf/FormDataStreamCFNet.cpp: Ditto.
- platform/network/mac/UTIUtilities.mm:
(WebCore::UTIFromUnknownMIMEType): Use SortedArrayMap. Also fixed a regression
from r271533 where we accidentally deleted the MIME type model/vnd.reality.
- rendering/ComplexLineLayout.cpp:
(WebCore::setLogicalWidthForTextRun): Use a range-based for loop.
- rendering/updating/RenderTreeUpdater.h: Removed unneeded includes.
- storage/StorageNamespaceProvider.h: Ditto.
- storage/StorageQuotaManager.h: Ditto.
- style/StyleUpdate.h: Ditto.
- svg/SVGFitToViewBox.h: Ditto.
- svg/SVGTests.cpp:
(WebCore::SVGTests::isValid const): Use SortedArraySet.
(WebCore::SVGTests::hasFeatureForLegacyBindings): Ditto.
Source/WebKit:
- NetworkProcess/NetworkLoad.cpp: Removed unneeded includes.
- NetworkProcess/NetworkResourceLoadMap.h: Ditto.
- Shared/SharedStringHashStore.h: Ditto.
- UIProcess/API/APIPageConfiguration.h: Ditto.
- UIProcess/API/Cocoa/WKWebsiteDataRecord.mm: Ditto.
- UIProcess/API/Cocoa/_WKInspector.mm: Ditto.
- UIProcess/Automation/SimulatedInputDispatcher.h: Ditto.
- UIProcess/Inspector/WebInspectorUIProxy.cpp: Ditto.
- UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Ditto.
- UIProcess/WebPageGroup.h: Ditto.
- UIProcess/WebPasteboardProxy.h: Ditto.
- UIProcess/WebPreferences.h: Ditto.
- WebProcess/Geolocation/WebGeolocationManager.h: Ditto.
- WebProcess/WebPage/WebBackForwardListProxy.h: Ditto.
Source/WTF:
- wtf/SortedArrayMap.h: Added support for types that don't have a parse member function.
- wtf/cocoa/MainThreadCocoa.mm: Removed unneeded includes.
- wtf/text/AtomStringImpl.cpp: Ditto.
- wtf/text/AtomStringTable.cpp: Ditto.
- 7:36 PM Changeset in webkit [276879] by
-
- 14 edits1 delete in trunk
Start leveraging std::filesystem in WTF::FileSystem
https://bugs.webkit.org/show_bug.cgi?id=225255
Reviewed by Sam Weinig.
Source/JavaScriptCore:
Unexport some symbols to fix build.
- Configurations/JavaScriptCore.xcconfig:
Source/WTF:
Start leveraging std::filesystem in WTF::FileSystem to reduce the amount of
platform-specific code.
- WTF.xcodeproj/project.pbxproj:
- wtf/FileSystem.cpp:
(WTF::FileSystemImpl::fileExists):
(WTF::FileSystemImpl::deleteFile):
(WTF::FileSystemImpl::deleteEmptyDirectory):
(WTF::FileSystemImpl::moveFile):
(WTF::FileSystemImpl::getFileSize):
(WTF::FileSystemImpl::fileIsDirectory):
(WTF::FileSystemImpl::makeAllDirectories):
(WTF::FileSystemImpl::getVolumeFreeSpace):
(WTF::FileSystemImpl::createSymbolicLink):
(WTF::FileSystemImpl::hardLink):
(WTF::FileSystemImpl::hardLinkOrCopyFile):
(WTF::FileSystemImpl::deleteNonEmptyDirectory):
- wtf/FileSystem.h:
- wtf/cocoa/FileSystemCocoa.mm:
(WTF::FileSystemImpl::createTemporaryDirectory):
- wtf/glib/FileSystemGlib.cpp:
- wtf/posix/FileSystemPOSIX.cpp:
- wtf/win/FileSystemWin.cpp:
- wtf/PlatformJSCOnly.cmake:
GNU implementation prior to 9.1 requires linking with -lstdc++fs and LLVM implementation
prior to LLVM 9.0 requires linking with -lc++fs.
- wtf/StdFilesystem.cpp: Removed.
- wtf/StdFilesystem.h:
Drop our own copy of std::filesystem as all the operating system we support now have
support for this.
Tools:
Add API test coverage for the FileSystem API that was modified.
- TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::FileSystemTest::tempFilePath const):
(TestWebKitAPI::FileSystemTest::tempFileSymlinkPath const):
(TestWebKitAPI::FileSystemTest::tempEmptyFolderPath const):
(TestWebKitAPI::FileSystemTest::tempEmptyFolderSymlinkPath const):
(TestWebKitAPI::FileSystemTest::tempEmptyFilePath const):
(TestWebKitAPI::FileSystemTest::spaceContainingFilePath const):
(TestWebKitAPI::FileSystemTest::bangContainingFilePath const):
(TestWebKitAPI::FileSystemTest::quoteContainingFilePath const):
(TestWebKitAPI::TEST_F):
- 6:32 PM Changeset in webkit [276878] by
-
- 2 edits in trunk/Tools
start-local-buildbot-server should fail gracefully for Python 2
https://bugs.webkit.org/show_bug.cgi?id=225268
Reviewed by Alexey Proskuryakov.
- CISupport/start-local-buildbot-server:
- 1:40 PM Changeset in webkit [276877] by
-
- 27 edits in trunk
Update operations in CanvasImageData.idl to use long rather than float as per spec
https://bugs.webkit.org/show_bug.cgi?id=225263
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- canvas/2d.imageData.create2.tiny-expected.txt:
- canvas/2d.imageData.get.tiny-expected.txt:
Update results, which now don't pass, to match the spec behavior.
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.create2.double-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.create2.zero-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.get.double-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.get.large.crash-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.get.rounding-expected.txt:
- web-platform-tests/html/canvas/element/pixel-manipulation/2d.imageData.get.zero-expected.txt:
Update results, which now pass!
Source/WebCore:
Use
[EnforceRange] longto match the current HTML spec.
- html/canvas/CanvasImageData.idl:
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::createImageData const):
(WebCore::CanvasRenderingContext2DBase::getImageData const):
(WebCore::CanvasRenderingContext2DBase::putImageData):
- html/canvas/CanvasRenderingContext2DBase.h:
LayoutTests:
- canvas/philip/tests/2d.imageData.create2.tiny-expected.txt:
- canvas/philip/tests/2d.imageData.get.tiny-expected.txt:
Update results, which now don't pass, to match the spec behavior.
- fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
- fast/canvas/canvas-crash.html:
- fast/canvas/canvas-getImageData-invalid-expected.txt:
- fast/canvas/canvas-getImageData-invalid-result-buffer-crash.html:
- fast/canvas/canvas-getImageData-invalid.html:
- fast/canvas/canvas-getImageData-large-crash-expected.txt:
- fast/canvas/canvas-getImageData-rounding-expected.txt:
- fast/canvas/canvas-getImageData-rounding.html:
- fast/canvas/canvas-putImageData-expected.txt:
- fast/canvas/canvas-putImageData.js:
- fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:
Update tests and results to match spec behavior.
- 12:55 PM Changeset in webkit [276876] by
-
- 5 edits49 copies4 moves7 adds4 deletes in trunk/Source/WebCore
[LFC] Move formatting contexts to layout/formattingContexts directory
https://bugs.webkit.org/show_bug.cgi?id=225270
Reviewed by Antti Koivisto.
- CMakeLists.txt:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 11:06 AM Changeset in webkit [276875] by
-
- 17 edits in trunk/Source
Make destination color space enumeration match supported destination color spaces for the port
https://bugs.webkit.org/show_bug.cgi?id=225237
Reviewed by Simon Fraser.
Add ENABLE_DESTINATION_COLOR_SPACE_LINEAR_SRGB and enabled it for all ports
except the Apple Windows port, which is the only one doesn't have any support
for it.
Source/WebCore:
Removes existing behavior of returning SRGB when LinearSRGB was requested in
the Apple Windows port. Now, the callers are responisble for dealing with a
ports lack of support of LinearSRGB, making it very clear at those call sites
that something is different and wrong.
- platform/graphics/Color.cpp:
- platform/graphics/Color.h:
- platform/graphics/ColorConversion.cpp:
- platform/graphics/ColorConversion.h:
Add new functions to perform color conversion to and from an color space
denoted by the ColorSpace or DestinationColorSpace enum. Previously, we
only had convient ways to convert if the color was strongly typed (and this
is implemented using that mechanism). This is useful when converting for
final ouput, such in as the caller in FELighting::drawLighting.
- platform/graphics/cg/ColorSpaceCG.h:
- platform/graphics/ColorSpace.cpp:
- platform/graphics/ColorSpace.h:
- platform/graphics/filters/FELighting.cpp:
- platform/graphics/filters/FilterEffect.h:
- rendering/CSSFilter.cpp:
- rendering/svg/RenderSVGResourceFilter.cpp:
- rendering/svg/RenderSVGResourceMasker.cpp:
Wrap uses of DestinationColorSpace::LinearSRGB in ENABLE(DESTINATION_COLOR_SPACE_LINEAR_SRGB).
Source/WTF:
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- wtf/PlatformEnableWinApple.h:
- 10:15 AM Changeset in webkit [276874] by
-
- 6 edits in trunk/Source/WebCore
Generated JS bindings for JSValue -> IDL dictionary don't take into account runtime settings
https://bugs.webkit.org/show_bug.cgi?id=225271
Reviewed by Alexey Shvayka.
While we did account for Settings/RuntimeEnabledFeatures/etc when converting from a
dictionary to a JSValue, we forgot to add code to skip trying to read the properties
in on ingestion.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
Match convertDictionaryToJS and add guard + indent if the property has a runtime flag.
- bindings/scripts/test/JS/JSTestDerivedDictionary.cpp:
(WebCore::convertDictionary<TestDerivedDictionary>):
- bindings/scripts/test/JS/JSTestDerivedDictionary2.cpp:
(WebCore::convertDictionary<TestDerivedDictionary2::Dictionary>):
- bindings/scripts/test/JS/JSTestInheritedDictionary.cpp:
(WebCore::convertDictionary<TestInheritedDictionary>):
- bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:
(WebCore::convertDictionary<DictionaryImplName>):
Update test results.
- 6:27 AM Changeset in webkit [276873] by
-
- 2 edits in trunk/Tools
Disable search engine crawling on build.webkit.org webpages
https://bugs.webkit.org/show_bug.cgi?id=225252
Reviewed by Jonathan Bedard.
Referencec: https://developers.google.com/search/docs/advanced/robots/create-robots-txt
- CISupport/build-webkit-org/public_html/robots.txt:
- 5:54 AM Changeset in webkit [276872] by
-
- 3 edits2 adds in trunk
[RenderTreeBuilder] Reset the "children inline" state when merging anonymous table boxes
https://bugs.webkit.org/show_bug.cgi?id=225266
<rdar://77327951>
Reviewed by Simon Fraser.
Source/WebCore:
This patch fixes the case when we end up moving block level boxes to an anonymous table box (cell, row) which previously
had inline level boxes only (it happens when the destination ("to") table box has no in-flow children).
Test: fast/table/merge-anonymous-table-cells-with-block-children.html
- rendering/updating/RenderTreeBuilderTable.cpp:
(WebCore::RenderTreeBuilder::Table::collapseAndDetachAnonymousNextSibling):
LayoutTests:
- fast/table/merge-anonymous-table-cells-with-block-children-expected.txt: Added.
- fast/table/merge-anonymous-table-cells-with-block-children.html: Added.