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

Timeline



Jun 25, 2017:

11:51 PM Changeset in webkit [218801] by Carlos Garcia Campos
  • 3 edits
    1 add in releases/WebKitGTK/webkit-2.16

Merge r215387 - ParseInt intrinsic in DFG backend doesn't properly flush its operands
https://bugs.webkit.org/show_bug.cgi?id=170865

Reviewed by Mark Lam and Geoffrey Garen.

JSTests:

  • stress/parse-int-intrinsic-dfg-backend-flush.js: Added.

(assert):
(foo):

Source/JavaScriptCore:

The DFG backend code needed to first call .gpr()/.jsValueRegs()
before calling flushRegisters(), or the input JSValueOperand would
not be flushed.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileParseInt):

2:41 PM Changeset in webkit [218800] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

initializeThreading() [first] causes WTFCrash due to maxSingleAllocationSize not being initialized
https://bugs.webkit.org/show_bug.cgi?id=173720

Reviewed by Mark Lam.

When using std::numeric_limits<size_t>::max() for global variable's initialization,
it seems that it invokes static constructor to initialize this in VC++.
We avoid this edge case by introducing a workaround using SIZE_MAX here.

When I perform git-grep, there is only one site (this) using std::numeric_limits<>::xxx()
to initialize global variable.

  • wtf/FastMalloc.cpp:
1:35 PM Changeset in webkit [218799] by Konstantin Tokarev
  • 90 edits in trunk

Remove excessive headers from WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=173822

Reviewed by Tim Horton.

Source/WebCore:

No new tests needed.

  • html/ColorInputType.h:
  • html/MediaElementSession.h:
  • page/SecurityOriginData.cpp:
  • platform/CalculationValue.cpp:
  • platform/CalculationValue.h:
  • platform/ColorChooserClient.h:
  • platform/ContentType.h:
  • platform/LogMacros.h:
  • platform/PODRedBlackTree.h:
  • platform/PasteboardStrategy.h:
  • platform/PlatformPasteboard.h:
  • platform/PopupMenuStyle.h:
  • platform/ScrollAnimator.h:
  • platform/Theme.h:
  • platform/ThreadGlobalData.h:
  • platform/animation/AnimationList.h:
  • platform/audio/AudioArray.h:
  • platform/audio/AudioChannel.h:
  • platform/audio/DynamicsCompressor.h:
  • platform/audio/DynamicsCompressorKernel.h:
  • platform/audio/FFTFrame.h:
  • platform/audio/HRTFDatabaseLoader.cpp:
  • platform/audio/HRTFDatabaseLoader.h:
  • platform/audio/HRTFElevation.h:
  • platform/audio/MultiChannelResampler.h:
  • platform/audio/PlatformMediaSession.h:
  • platform/audio/ReverbConvolver.h:
  • platform/audio/ReverbConvolverStage.cpp:
  • platform/graphics/ANGLEWebKitBridge.h:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/CrossfadeGeneratedImage.h:
  • platform/graphics/FloatPolygon.h:
  • platform/graphics/FloatSizeHash.h:
  • platform/graphics/Font.h:
  • platform/graphics/FontMetrics.h:
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/FontRanges.h:
  • platform/graphics/FontTaggedSettings.h:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/GraphicsContext3DPrivate.h:
  • platform/graphics/GraphicsLayerClient.h:
  • platform/graphics/Image.cpp:
  • platform/graphics/ImageFrame.h:
  • platform/graphics/ImageFrameCache.h:
  • platform/graphics/ImageSource.h:
  • platform/graphics/IntRectHash.h:
  • platform/graphics/IntSizeHash.h:
  • platform/graphics/MediaPlaybackTargetClient.h:
  • platform/graphics/Pattern.h:
  • platform/graphics/PlatformTimeRanges.h:
  • platform/graphics/TextRun.h:
  • platform/graphics/TiledBacking.h:
  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/filters/FEConvolveMatrix.h:
  • platform/graphics/filters/FELighting.h:
  • platform/graphics/filters/SourceAlpha.h:
  • platform/graphics/gstreamer/GStreamerUtilities.h:
  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/harfbuzz/HarfBuzzShaper.h:
  • platform/graphics/opengl/Extensions3DOpenGL.h:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/TextureMapperBackingStore.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:
  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
  • platform/graphics/texmap/TextureMapperTile.h:
  • platform/graphics/texmap/coordinated/Tile.h:
  • platform/graphics/texmap/coordinated/TiledBackingStore.h:
  • platform/graphics/transforms/TransformState.h:
  • platform/gtk/PasteboardHelper.h:
  • platform/gtk/ScrollbarThemeGtk.h:
  • platform/image-decoders/ImageDecoder.h:
  • platform/network/BlobData.h:
  • platform/network/BlobDataFileReference.h:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/SocketStreamHandleClient.h:
  • platform/network/soup/ResourceRequest.h:
  • platform/network/soup/SocketStreamHandleImpl.h:
  • platform/network/soup/SoupNetworkSession.h:
  • platform/sql/SQLiteFileSystem.h:
  • platform/text/LocaleICU.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:
12:56 PM Changeset in webkit [218798] by Michael Catanzaro
  • 5 edits in trunk

Unreviewed, rolling out r215190.

Broke product select element on GNOME Bugzilla

Reverted changeset:

"[GTK] Misplaced right click menu on web page due to
deprecated gtk_menu_popup()"
https://bugs.webkit.org/show_bug.cgi?id=170553
http://trac.webkit.org/changeset/215190

11:20 AM Changeset in webkit [218797] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[GTK][WPE] Unreviewed, fix typo in translatable string

Thanks to Yuri Chornoivan for reporting this typo.

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkit_web_view_class_init):

11:18 AM Changeset in webkit [218796] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] [l10n] Updated Ukrainian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=173823

Patch by Yuri Chornoivan <yurchor@ukr.net> on 2017-06-25
Rubber-stamped by Michael Catanzaro.

  • uk.po:
11:06 AM Changeset in webkit [218795] by commit-queue@webkit.org
  • 15 edits
    2 adds in trunk

Remove use of mock webrtc backend factory at injected bundle reset time
https://bugs.webkit.org/show_bug.cgi?id=173817

Patch by Youenn Fablet <youenn@apple.com> on 2017-06-25
Reviewed by Darin Adler.

Source/WebCore:

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState): Resetting the peer connection backend.

  • testing/MockLibWebRTCPeerConnection.cpp: Doing some clean-up

(WebCore::useRealRTCPeerConnectionFactory):
(WebCore::MockLibWebRTCPeerConnectionFactory::MockLibWebRTCPeerConnectionFactory):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreatePeerConnection):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreateVideoTrack):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreateAudioTrack):

  • testing/MockLibWebRTCPeerConnection.h:

LayoutTests:

Making some tests less flaky.

  • TestExpectations:
  • fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt:
  • platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html:
  • webrtc/audio-peer-connection-webaudio.html:
  • webrtc/captureCanvas-webrtc.html:
  • webrtc/datachannel/bufferedAmountLowThreshold-default-expected.txt: Added.
  • webrtc/datachannel/bufferedAmountLowThreshold-default.html: Added.
  • webrtc/datachannel/bufferedAmountLowThreshold-expected.txt:
  • webrtc/datachannel/bufferedAmountLowThreshold.html:
  • webrtc/routines.js:
  • webrtc/video-replace-muted-track.html:
  • webrtc/video-unmute.html:
10:40 AM Changeset in webkit [218794] by Konstantin Tokarev
  • 305 edits in trunk/Source

Remove excessive headers from JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=173812

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • API/APIUtils.h:
  • assembler/LinkBuffer.cpp:
  • assembler/MacroAssemblerCodeRef.cpp:
  • b3/air/AirLiveness.h:
  • b3/air/AirLowerAfterRegAlloc.cpp:
  • bindings/ScriptValue.cpp:
  • bindings/ScriptValue.h:
  • bytecode/AccessCase.cpp:
  • bytecode/AccessCase.h:
  • bytecode/ArrayProfile.h:
  • bytecode/BytecodeDumper.h:
  • bytecode/BytecodeIntrinsicRegistry.cpp:
  • bytecode/BytecodeKills.h:
  • bytecode/BytecodeLivenessAnalysis.h:
  • bytecode/BytecodeUseDef.h:
  • bytecode/CallLinkStatus.h:
  • bytecode/CodeBlock.h:
  • bytecode/CodeOrigin.h:
  • bytecode/ComplexGetStatus.h:
  • bytecode/GetByIdStatus.h:
  • bytecode/GetByIdVariant.h:
  • bytecode/InlineCallFrame.h:
  • bytecode/InlineCallFrameSet.h:
  • bytecode/Instruction.h:
  • bytecode/InternalFunctionAllocationProfile.h:
  • bytecode/JumpTable.h:
  • bytecode/MethodOfGettingAValueProfile.h:
  • bytecode/ObjectPropertyConditionSet.h:
  • bytecode/Operands.h:
  • bytecode/PolymorphicAccess.h:
  • bytecode/PutByIdStatus.h:
  • bytecode/SpeculatedType.cpp:
  • bytecode/StructureSet.h:
  • bytecode/StructureStubInfo.h:
  • bytecode/UnlinkedCodeBlock.h:
  • bytecode/UnlinkedFunctionExecutable.h:
  • bytecode/ValueProfile.h:
  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/Label.h:
  • bytecompiler/StaticPropertyAnalysis.h:
  • debugger/DebuggerCallFrame.cpp:
  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAdjacencyList.h:
  • dfg/DFGArgumentsUtilities.h:
  • dfg/DFGArrayMode.h:
  • dfg/DFGArrayifySlowPathGenerator.h:
  • dfg/DFGBackwardsPropagationPhase.h:
  • dfg/DFGBasicBlock.h:
  • dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
  • dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h:
  • dfg/DFGCapabilities.h:
  • dfg/DFGCommon.h:
  • dfg/DFGCommonData.h:
  • dfg/DFGDesiredIdentifiers.h:
  • dfg/DFGDesiredWatchpoints.h:
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDominators.h:
  • dfg/DFGDriver.cpp:
  • dfg/DFGDriver.h:
  • dfg/DFGEdgeDominates.h:
  • dfg/DFGFinalizer.h:
  • dfg/DFGGenerationInfo.h:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGJITCompiler.h:
  • dfg/DFGJITFinalizer.h:
  • dfg/DFGLivenessAnalysisPhase.h:
  • dfg/DFGMinifiedNode.h:
  • dfg/DFGMultiGetByOffsetData.h:
  • dfg/DFGNaturalLoops.cpp:
  • dfg/DFGNaturalLoops.h:
  • dfg/DFGNode.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.h:
  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitCompilationInfo.h:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler.h:
  • dfg/DFGOSRExitJumpPlaceholder.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPlan.h:
  • dfg/DFGPreciseLocalClobberize.h:
  • dfg/DFGPromotedHeapLocation.h:
  • dfg/DFGRegisteredStructure.h:
  • dfg/DFGRegisteredStructureSet.h:
  • dfg/DFGSaneStringGetByValSlowPathGenerator.h:
  • dfg/DFGSlowPathGenerator.h:
  • dfg/DFGSnippetParams.h:
  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGToFTLDeferredCompilationCallback.h:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
  • dfg/DFGValidate.h:
  • dfg/DFGValueSource.h:
  • dfg/DFGVariableEvent.h:
  • dfg/DFGVariableEventStream.h:
  • dfg/DFGWorklist.h:
  • domjit/DOMJITCallDOMGetterSnippet.h:
  • domjit/DOMJITEffect.h:
  • ftl/FTLLink.cpp:
  • ftl/FTLLowerDFGToB3.cpp:
  • ftl/FTLPatchpointExceptionHandle.h:
  • heap/AllocatorAttributes.h:
  • heap/CodeBlockSet.h:
  • heap/DeferGC.h:
  • heap/GCSegmentedArray.h:
  • heap/Heap.cpp:
  • heap/Heap.h:
  • heap/IncrementalSweeper.h:
  • heap/ListableHandler.h:
  • heap/MachineStackMarker.h:
  • heap/MarkedAllocator.h:
  • heap/MarkedBlock.cpp:
  • heap/MarkedBlock.h:
  • heap/MarkingConstraint.h:
  • heap/SlotVisitor.cpp:
  • heap/SlotVisitor.h:
  • inspector/ConsoleMessage.cpp:
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScript.h:
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptManager.cpp:
  • inspector/JSGlobalObjectInspectorController.cpp:
  • inspector/JavaScriptCallFrame.h:
  • inspector/ScriptCallStack.h:
  • inspector/ScriptCallStackFactory.cpp:
  • inspector/ScriptDebugServer.h:
  • inspector/agents/InspectorConsoleAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:
  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorHeapAgent.cpp:
  • inspector/agents/InspectorHeapAgent.h:
  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/agents/InspectorScriptProfilerAgent.cpp:
  • inspector/agents/InspectorScriptProfilerAgent.h:
  • inspector/agents/JSGlobalObjectConsoleAgent.h:
  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
  • inspector/agents/JSGlobalObjectDebuggerAgent.h:
  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/augmentable/AlternateDispatchableAgent.h:
  • interpreter/CLoopStack.h:
  • interpreter/CachedCall.h:
  • interpreter/CallFrame.h:
  • interpreter/Interpreter.cpp:
  • interpreter/Interpreter.h:
  • jit/AssemblyHelpers.cpp:
  • jit/AssemblyHelpers.h:
  • jit/CCallHelpers.h:
  • jit/CallFrameShuffler.h:
  • jit/ExecutableAllocator.h:
  • jit/GCAwareJITStubRoutine.h:
  • jit/HostCallReturnValue.h:
  • jit/ICStats.h:
  • jit/JIT.cpp:
  • jit/JIT.h:
  • jit/JITAddGenerator.h:
  • jit/JITCall32_64.cpp:
  • jit/JITCode.h:
  • jit/JITDisassembler.cpp:
  • jit/JITExceptions.cpp:
  • jit/JITMathIC.h:
  • jit/JITOpcodes.cpp:
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITThunks.cpp:
  • jit/JITThunks.h:
  • jit/JSInterfaceJIT.h:
  • jit/PCToCodeOriginMap.h:
  • jit/PolymorphicCallStubRoutine.h:
  • jit/RegisterSet.h:
  • jit/Repatch.h:
  • jit/SetupVarargsFrame.h:
  • jit/Snippet.h:
  • jit/SnippetParams.h:
  • jit/ThunkGenerators.h:
  • jsc.cpp:
  • llint/LLIntCLoop.h:
  • llint/LLIntEntrypoint.h:
  • llint/LLIntExceptions.h:
  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntSlowPaths.cpp:
  • parser/NodeConstructors.h:
  • parser/Nodes.cpp:
  • parser/Nodes.h:
  • parser/Parser.cpp:
  • parser/Parser.h:
  • parser/ParserTokens.h:
  • parser/SourceProviderCacheItem.h:
  • profiler/ProfilerBytecodeSequence.h:
  • profiler/ProfilerDatabase.cpp:
  • profiler/ProfilerDatabase.h:
  • profiler/ProfilerOrigin.h:
  • profiler/ProfilerOriginStack.h:
  • profiler/ProfilerProfiledBytecodes.h:
  • profiler/ProfilerUID.h:
  • runtime/AbstractModuleRecord.h:
  • runtime/ArrayConstructor.h:
  • runtime/ArrayConventions.h:
  • runtime/ArrayIteratorPrototype.h:
  • runtime/ArrayPrototype.h:
  • runtime/BasicBlockLocation.h:
  • runtime/Butterfly.h:
  • runtime/CallData.cpp:
  • runtime/CodeCache.h:
  • runtime/CommonSlowPaths.cpp:
  • runtime/CommonSlowPaths.h:
  • runtime/CommonSlowPathsExceptions.cpp:
  • runtime/Completion.cpp:
  • runtime/ControlFlowProfiler.h:
  • runtime/DateInstanceCache.h:
  • runtime/ErrorConstructor.h:
  • runtime/ErrorInstance.h:
  • runtime/ExceptionHelpers.cpp:
  • runtime/ExceptionHelpers.h:
  • runtime/ExecutableBase.h:
  • runtime/FunctionExecutable.h:
  • runtime/HasOwnPropertyCache.h:
  • runtime/Identifier.h:
  • runtime/InternalFunction.h:
  • runtime/IntlCollator.cpp:
  • runtime/IntlCollatorPrototype.h:
  • runtime/IntlDateTimeFormatPrototype.h:
  • runtime/IntlNumberFormat.cpp:
  • runtime/IntlNumberFormatPrototype.h:
  • runtime/IteratorOperations.cpp:
  • runtime/JSArray.h:
  • runtime/JSArrayBufferPrototype.h:
  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:
  • runtime/JSCell.h:
  • runtime/JSFunction.cpp:
  • runtime/JSFunction.h:
  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h:
  • runtime/JSGlobalObjectDebuggable.cpp:
  • runtime/JSGlobalObjectDebuggable.h:
  • runtime/JSGlobalObjectFunctions.cpp:
  • runtime/JSGlobalObjectFunctions.h:
  • runtime/JSJob.cpp:
  • runtime/JSLock.h:
  • runtime/JSModuleLoader.cpp:
  • runtime/JSModuleNamespaceObject.h:
  • runtime/JSModuleRecord.h:
  • runtime/JSObject.cpp:
  • runtime/JSObject.h:
  • runtime/JSRunLoopTimer.h:
  • runtime/JSTemplateRegistryKey.h:
  • runtime/JSTypedArrayPrototypes.cpp:
  • runtime/JSTypedArrayPrototypes.h:
  • runtime/JSTypedArrays.h:
  • runtime/LiteralParser.h:
  • runtime/MatchResult.h:
  • runtime/MemoryStatistics.h:
  • runtime/PrivateName.h:
  • runtime/PromiseDeferredTimer.h:
  • runtime/ProxyObject.h:
  • runtime/RegExp.h:
  • runtime/SamplingProfiler.cpp:
  • runtime/SmallStrings.h:
  • runtime/StringPrototype.cpp:
  • runtime/StringRecursionChecker.h:
  • runtime/Structure.h:
  • runtime/SymbolConstructor.h:
  • runtime/SymbolPrototype.cpp:
  • runtime/SymbolPrototype.h:
  • runtime/TypeProfiler.h:
  • runtime/TypeProfilerLog.h:
  • runtime/TypedArrayType.h:
  • runtime/VM.cpp:
  • runtime/VM.h:
  • runtime/VMEntryScope.h:
  • runtime/WeakMapData.h:
  • runtime/WriteBarrier.h:
  • tools/FunctionOverrides.cpp:
  • tools/FunctionOverrides.h:
  • wasm/WasmBinding.cpp:
  • wasm/js/JSWebAssemblyCodeBlock.h:
  • wasm/js/WebAssemblyPrototype.cpp:
  • yarr/Yarr.h:
  • yarr/YarrJIT.cpp:
  • yarr/YarrJIT.h:
  • yarr/YarrParser.h:

Source/WebCore:

No new tests needed.

  • Modules/indexeddb/IDBObjectStore.cpp:
  • bindings/js/JSDOMPromiseDeferred.h:
  • bindings/js/JSLazyEventListener.cpp:
  • bindings/js/JSMainThreadExecState.h:
  • bindings/js/ReadableStreamDefaultController.cpp:
  • bindings/js/ScriptGlobalObject.cpp:
  • bindings/js/SerializedScriptValue.cpp:
  • bridge/NP_jsobject.cpp:
  • dom/ScriptExecutionContext.cpp:
  • html/HTMLPlugInImageElement.cpp:

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:
  • WebView/WebView.mm:

Source/WebKit/win:

  • Plugins/PluginPackage.cpp:

Source/WebKit2:

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

Source/WTF:

  • wtf/Bag.h:
3:01 AM Changeset in webkit [218793] by Konstantin Tokarev
  • 96 edits in trunk/Source/WebCore

Remove excessive headers from WebCore/{rendering,style,svg}
https://bugs.webkit.org/show_bug.cgi?id=173773

Reviewed by Darin Adler.

No new tests needed.

  • css/StyleBuilderConverter.h:
  • editing/TextIterator.cpp:
  • rendering/CounterNode.h:
  • rendering/FlexibleBoxAlgorithm.h:
  • rendering/HitTestLocation.h:
  • rendering/HitTestResult.h:
  • rendering/HitTestingTransformState.h:
  • rendering/OrderIterator.h:
  • rendering/RenderButton.h:
  • rendering/RenderCombineText.h:
  • rendering/RenderFlowThread.h:
  • rendering/RenderFullScreen.h:
  • rendering/RenderGeometryMap.h:
  • rendering/RenderListItem.h:
  • rendering/RenderMediaControlElements.cpp:
  • rendering/RenderMediaControlElements.h:
  • rendering/RenderMediaControls.h:
  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnSet.cpp:
  • rendering/RenderObject.h:
  • rendering/RenderRegion.h:
  • rendering/RenderRegionSet.cpp:
  • rendering/RenderRegionSet.h:
  • rendering/RenderTheme.h:
  • rendering/RenderVTTCue.cpp:
  • rendering/RenderVTTCue.h:
  • rendering/SimpleLineLayoutFunctions.h:
  • rendering/SimpleLineLayoutResolver.h:
  • rendering/line/BreakingContext.h:
  • rendering/line/LineBreaker.h:
  • rendering/mathml/MathMLStyle.h:
  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRoot.h:
  • rendering/shapes/RectangleShape.h:
  • rendering/style/BasicShapes.h:
  • rendering/style/BorderData.h:
  • rendering/style/CounterDirectives.h:
  • rendering/style/GridArea.h:
  • rendering/style/KeyframeList.h:
  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.h:
  • rendering/style/ShapeValue.h:
  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleMultiColData.h:
  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/style/WillChangeData.h:
  • rendering/svg/RenderSVGBlock.h:
  • rendering/svg/RenderSVGRect.h:
  • rendering/svg/RenderSVGResource.h:
  • rendering/svg/RenderSVGResourceContainer.h:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/SVGInlineFlowBox.cpp:
  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGRootInlineBox.h:
  • rendering/svg/SVGTextChunk.cpp:
  • rendering/svg/SVGTextChunk.h:
  • rendering/svg/SVGTextChunkBuilder.cpp:
  • rendering/svg/SVGTextLayoutEngine.cpp:
  • rendering/svg/SVGTextLayoutEngineSpacing.h:
  • style/RenderTreePosition.cpp:
  • style/RenderTreePosition.h:
  • style/RenderTreeUpdater.h:
  • style/StyleFontSizeFunctions.h:
  • style/StyleInvalidator.h:
  • style/StyleResolveForDocument.h:
  • style/StyleScope.h:
  • style/StyleTreeResolver.cpp:
  • style/StyleTreeResolver.h:
  • style/StyleUpdate.h:
  • svg/SVGAnimationElement.h:
  • svg/SVGFEBlendElement.cpp:
  • svg/SVGFEBlendElement.h:
  • svg/SVGFEComponentTransferElement.h:
  • svg/SVGFEFloodElement.cpp:
  • svg/SVGFEFloodElement.h:
  • svg/SVGFEImageElement.h:
  • svg/SVGFEMergeElement.cpp:
  • svg/SVGFEMergeElement.h:
  • svg/SVGFEOffsetElement.cpp:
  • svg/SVGFEOffsetElement.h:
  • svg/SVGFETileElement.cpp:
  • svg/SVGFETileElement.h:
  • svg/SVGParserUtilities.h:
  • svg/SVGPathByteStream.h:
  • svg/SVGPathElement.cpp:
  • svg/SVGPolyElement.cpp:
  • svg/SVGSVGElement.cpp:
  • svg/SVGTRefElement.cpp:
  • svg/SVGTextPathElement.cpp:
  • svg/SVGUseElement.cpp:
  • svg/animation/SMILTimeContainer.h:
  • svg/graphics/SVGImageCache.h:
  • svg/graphics/filters/SVGFilter.h:
2:22 AM Changeset in webkit [218792] by graouts@webkit.org
  • 6 edits in trunk/Source/WebCore

Remove rAf suspension logging
https://bugs.webkit.org/show_bug.cgi?id=173821

Reviewed by Tim Horton.

Now that webkit.org/b/173628 is fixed, we can remove the logging code we added.

  • dom/Document.cpp:

(WebCore::Document::requestAnimationFrame):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::suspend):
(WebCore::ScriptedAnimationController::resume):

  • page/Page.cpp:

(WebCore::Page::suspendScriptedAnimations):
(WebCore::Page::resumeScriptedAnimations):
(WebCore::Page::setIsVisibleInternal):

  • platform/RuntimeApplicationChecks.h:
  • platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::MacApplication::isDumpRenderTree): Deleted.

Jun 24, 2017:

5:07 PM Changeset in webkit [218791] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2] Make sure encodeClientTypesAndData() / decodeClientTypesAndData() match exactly
https://bugs.webkit.org/show_bug.cgi?id=173813

Reviewed by Ryosuke Niwa.

Make sure encodeClientTypesAndData() / decodeClientTypesAndData() match exactly. The previous
IPC encoder code would assume types and data vector have the same length. It would first encode
the length of data using |data.size()| but then would encode types.size() values from the
data vector. While there are debug assertions to ensure both vectors have the same size, this
seems unnecessarily fragile in release builds. If both vectors happen to have different sizes,
this will lead to weird IPC bugs.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::encodeClientTypesAndData):
(IPC::decodeClientTypesAndData):

3:29 PM Changeset in webkit [218790] by Yusuke Suzuki
  • 7 edits
    1 add in trunk

[JSC] Clean up Object.entries implementation
https://bugs.webkit.org/show_bug.cgi?id=173759

Reviewed by Sam Weinig.

JSTests:

  • microbenchmarks/object-entries.js: Added.

(test):

Source/JavaScriptCore:

This patch cleans up Object.entries implementation.
We drop unused private functions. And we merge the
implementation into Object.entries.

It slightly speeds up Object.entries speed.

baseline patched

object-entries 148.0101+-5.6627 142.1877+-4.8661 might be 1.0409x faster

  • builtins/BuiltinNames.h:
  • builtins/ObjectConstructor.js:

(entries):
(globalPrivate.enumerableOwnProperties): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/ObjectConstructor.cpp:

(JSC::ownEnumerablePropertyKeys): Deleted.

  • runtime/ObjectConstructor.h:
2:47 PM Changeset in webkit [218789] by commit-queue@webkit.org
  • 7 edits
    21 adds in trunk/Source/WebCore

[WebIDL] Add complete support for stringifier
https://bugs.webkit.org/show_bug.cgi?id=173724

Patch by Sam Weinig <sam@webkit.org> on 2017-06-24
Reviewed by Darin Adler.

  • bindings/scripts/CodeGeneratorJS.pm:

(AddStringifierOperationIfNeeded):
Update AddStringifierOperationIfNeeded to support stringifier on operations and be more
strict about the allowed types. Also copies over all extended attributes to the synthetic
operation.

  • bindings/scripts/IDLParser.pm:

(parseInterfaceMember):
(parseOperationOrReadWriteAttributeOrMaplike):
(parseReadOnlyMember):
(parseStringifier):
(parseStaticMember):
(parseAttributeOrOperationForStringifierOrStatic):
(parseReadWriteAttribute):
(parseAttributeRest):
(parseOperation):
(parseSpecialOperation):
(parseMapLikeProperties):
(parseOperationRest):
(parseAttributeOrOperationOrIterator): Deleted.
(parseQualifier): Deleted.
(parseAttributeOrOperationRest): Deleted.
(parseAttribute): Deleted.
(parseOperationOrIterator): Deleted.

  • Update parser to more closely resemble the WebIDL grammar, splitting out parseStringifier and parseStaticMember into their own subroutines.
  • Move those and parseSerializer, parseStringifier, parseStaticMember, parseIterableRest and a split out parseReadOnlyMembers up into parseInterfaceMember to make it clearer that they are top level members and match the grammar.
  • Rename parseAttributeOrOperationOrIterator to parseOperationOrReadWriteAttributeOrMaplike to match the grammar language and make it clear what it does.
  • Add parseAttributeOrOperationForStringifierOrStatic which contains most of the logic for parsing stringifiers and static members, which have almost identical grammars.
  • Remove creator special which no longer exists in the spec.
  • css/DOMMatrixReadOnly.idl:
  • css/WebKitCSSMatrix.idl:
  • dom/Range.idl:
  • html/URLSearchParams.idl:

Fix FIXMEs by switching to use stringifier.

  • bindings/scripts/test/JS/JSTestStringifier.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifier.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: Added.
  • bindings/scripts/test/TestStringifier.idl: Added.
  • bindings/scripts/test/TestStringifierAnonymousOperation.idl: Added.
  • bindings/scripts/test/TestStringifierNamedOperation.idl: Added.
  • bindings/scripts/test/TestStringifierOperationImplementedAs.idl: Added.
  • bindings/scripts/test/TestStringifierOperationNamedToString.idl: Added.
  • bindings/scripts/test/TestStringifierReadOnlyAttribute.idl: Added.
  • bindings/scripts/test/TestStringifierReadWriteAttribute.idl: Added.

Add new tests.

1:14 PM Changeset in webkit [218788] by ggaren@apple.com
  • 8 edits in trunk/Source/bmalloc

bmalloc: Add a per-thread line cache
https://bugs.webkit.org/show_bug.cgi?id=173552

Reviewed by Darin Adler.

Previously, any thread could allocate out of any page with free lines.
Now, the first thread to free a line in a page owns that page's free
lines until the whole page becomes free.

This patch is a big speedup on multi-threaded benchmarks.
tree_churn --parallel gets 14% faster on a 2-core (4-hyper-core) MacBook
Air and 2.85X faster on 12-core (24-hyper-core) Mac Pro. Other parallel
benchmarks show significant but smaller speedups.

Thread affinity is a great predictor of object lifetime. The per-thread
line cache avoids the pathology of shuffling pages between threads,
turning predictable lifetimes into unpredictable lifetimes, increasing
fragmentation. On tree_churn --parallel, the per-thread line cache
increases free memory found per page scanned by 2.85X.

Free line scanning in fragmented pages is pretty expensive relative to
other allocate / initialize / free operations. According to Instruments,
on tree_churn --parallel, scanning is about 10X more expensive than
freeing. This explains why a 2.85X improvement in scanning efficiency
translates into a 2.85X overall speedup on tree_churn --parallel.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::refillAllocatorSlowCase): Pass through our line
cache so the Heap can fill it.

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::scavenge): Scavenge our line cache.

(bmalloc::Deallocator::processObjectLog): Deleted.

  • bmalloc/Deallocator.h:

(bmalloc::Deallocator::lineCache): Added a line cache.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::deallocateLineCache): Deallocation function for thread
destruction.

(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::allocateSmallBumpRangesByMetadata):
(bmalloc::Heap::allocateSmallBumpRangesByObject): Consult the new per-thread line
cache for allocation and deallocation.

  • bmalloc/Heap.h:

(bmalloc::Heap::allocateSmallBumpRanges):
(bmalloc::Heap::derefSmallLine):

  • bmalloc/List.h:

(bmalloc::List::remove): Remove has always been a logically static
operation. Declare it static now so that the Heap can remove a page from
a thread's line cache without holding a direct pointer to the cache.

  • bmalloc/SmallPage.h:
8:14 AM Changeset in webkit [218787] by Michael Catanzaro
  • 3 edits in trunk/Source/WebKit2

[GTK] Introspection: webkit_web_view_new_with_related_view needs to be marked as a constructor
https://bugs.webkit.org/show_bug.cgi?id=173765

Reviewed by Carlos Garcia Campos.

Because the first parameter to this WebKitWebView constructor is itself a WebKitWebView,
the gi-scanner's heuristics decide that it's probably an object method rather than a
constructor, resulting in improper introspection generation. Annotate it with (constructor)
to override this behavior.

  • UIProcess/API/gtk/WebKitWebViewGtk.cpp:
  • UIProcess/API/wpe/WebKitWebViewWPE.cpp:
3:24 AM Changeset in webkit [218786] by Konstantin Tokarev
  • 4 edits in trunk/Source/WebKit2

Unreviewed, rolling out r218785.
https://bugs.webkit.org/show_bug.cgi?id=173808

This change broke the macOS Sierra build (Requested by
annulen|home on #webkit).

Reverted changeset:

"Removed unused lambda captures from WebKit2"
https://bugs.webkit.org/show_bug.cgi?id=173555
http://trac.webkit.org/changeset/218785

Patch by Commit Queue <commit-queue@webkit.org> on 2017-06-24

3:16 AM Changeset in webkit [218785] by Konstantin Tokarev
  • 4 edits in trunk/Source/WebKit2

Removed unused lambda captures from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=173555

Reviewed by Alex Christensen.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::topPrivatelyControlledDomainsWithWebsiteData):

1:06 AM Changeset in webkit [218784] by commit-queue@webkit.org
  • 19 edits
    3 deletes in trunk

Remove Reflect.enumerate
https://bugs.webkit.org/show_bug.cgi?id=173806

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-06-24
Reviewed by Yusuke Suzuki.

JSTests:

  • ChakraCore.yaml:
  • es6.yaml:

These tests now fail because they use Reflect.enumerate.

  • test262.yaml:

This test now passes, it checked that Reflect.enumerate is undefined!

  • stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js:

Convert to for..in which presented the original issue. See bug <https://webkit.org/b/149811>

  • stress/reflect-enumerate.js: Removed.

Remove a test solely for Reflect.enumerate.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):
(Inspector::JSInjectedScriptHost::getInternalProperties):
(Inspector::JSInjectedScriptHost::iteratorEntries):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSPropertyNameIterator.cpp: Removed.
  • runtime/JSPropertyNameIterator.h: Removed.
  • runtime/ReflectObject.cpp:

(JSC::reflectObjectEnumerate): Deleted.

Source/WebInspectorUI:

  • UserInterface/Models/NativeFunctionParameters.js:

Tools:

  • Scripts/run-jsc-stress-tests:

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:
  • platform/mac/inspector/model/remote-object-expected.txt:
12:14 AM Changeset in webkit [218783] by Chris Fleizach
  • 8 edits
    2 adds in trunk

AX: Cannot call setValue() on contenteditable or ARIA text controls
https://bugs.webkit.org/show_bug.cgi?id=173520

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add support for changing the value of a contenteditable and any other aria text control in setValue().

Test: accessibility/mac/set-value-editable-types.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::setValue):

Tools:

Add setValue() method to WKTR (already existed in DRT).

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::setValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::setValue):

LayoutTests:

  • accessibility/mac/set-value-editable-types-expected.txt: Added.
  • accessibility/mac/set-value-editable-types.html: Added.
Note: See TracTimeline for information about the timeline view.