haikuwebkit/ChangeLog

8545 lines
290 KiB
Plaintext
Raw Permalink Normal View History

2021-08-20 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r274166): [GTK] It broke run-javascriptcore-tests causing all tests to use lot of memory
https://bugs.webkit.org/show_bug.cgi?id=229321
Unreviewed, reverting r274166 because it caused JSC tests to use too much memory.
Reverted changeset:
"[GTK] Reenable -fvisibility=hidden"
https://bugs.webkit.org/show_bug.cgi?id=181916
https://commits.webkit.org/r274166
* Source/cmake/OptionsGTK.cmake:
2021-08-16 David Kilzer <ddkilzer@apple.com>
"make analyze" should run clang static analyzer in deep mode
<https://webkit.org/b/229127>
<rdar://problem/81960587>
Reviewed by Alexey Proskuryakov.
* Makefile.shared:
- Add "analyze" argument to xcodebuild command when invoking
"make analyze" to run clang static analyzer in deep mode.
Simplify "make analyze" since $(PATH_TO_SCAN_BUILD) does not
need to be set.
2021-08-16 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.33.3 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2021-08-09 Myles C. Maxfield <mmaxfield@apple.com>
Update logging docs after r280758
https://bugs.webkit.org/show_bug.cgi?id=228899
Reviewed by Fujii Hironori.
Add more information about logging.
* Introduction.md:
GCC 11 builds should use -Wno-array-bounds, -Wno-nonnull https://bugs.webkit.org/show_bug.cgi?id=228601 Patch by Michael Catanzaro <mcatanzaro@gnome.org> on 2021-08-05 Reviewed by Carlos Garcia Campos. .: Prior to GCC 11, these were good warnings that could catch serious errors. But GCC 11 has just become too sensitive and it's flagging what appear to be harmless cases, and not providing enough feedback to know why. This has resulted in me littering our code with pragmas to suppress GCC's false positives, and I think it's reached the point where it's nicer to just turn off the warnings until such time that GCC gets this under control, and rely on Clang instead in the meantime. The GCC developers have indicated that these warnings will *always* produce false positives in some circumstances, but with GCC 11 it's just too become too much IMO. * Source/cmake/WebKitCompilerFlags.cmake: Source/JavaScriptCore: * b3/air/AirAllocateRegistersByGraphColoring.cpp: * jit/JITCall.cpp: (JSC::JIT::compileOpCall): Source/WebCore: * css/CSSValue.h: (WebCore::CSSValue::deref): * css/StyleRule.h: (WebCore::StyleRuleBase::deref const): * dom/Node.h: (WebCore::Node::deref const): Source/WebKit: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::Stream::~Stream): Source/WTF: * wtf/Bitmap.h: (WTF::WordType>::clear): * wtf/Compiler.h: * wtf/Packed.h: (WTF::PackedAlignedPtr::get const): * wtf/RefPtr.h: (WTF::DefaultRefDerefTraits::derefIfNotNull): Canonical link: https://commits.webkit.org/240291@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-05 15:27:03 +00:00
2021-08-05 Michael Catanzaro <mcatanzaro@gnome.org>
GCC 11 builds should use -Wno-array-bounds, -Wno-nonnull
https://bugs.webkit.org/show_bug.cgi?id=228601
Reviewed by Carlos Garcia Campos.
Prior to GCC 11, these were good warnings that could catch serious errors. But GCC 11 has
just become too sensitive and it's flagging what appear to be harmless cases, and not
providing enough feedback to know why. This has resulted in me littering our code with
pragmas to suppress GCC's false positives, and I think it's reached the point where it's
nicer to just turn off the warnings until such time that GCC gets this under control, and
rely on Clang instead in the meantime.
The GCC developers have indicated that these warnings will *always* produce false positives
in some circumstances, but with GCC 11 it's just too become too much IMO.
* Source/cmake/WebKitCompilerFlags.cmake:
2021-07-30 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Fix fallback methods in the libgcrypt find module
https://bugs.webkit.org/show_bug.cgi?id=228581
Reviewed by Carlos Alberto Lopez Perez.
* Source/cmake/FindLibGcrypt.cmake: Make sure to use the libgcrypt-config script as
first fallback if libgcrypt.pc is not present, and fix the regexp used as last fallback
that checks the version from the gcrypt.h header as last fallback to only include digits
and periods.
Stop building WebGPU and the WHLSL compiler to decrease binary size https://bugs.webkit.org/show_bug.cgi?id=228179 Reviewed by Dean Jackson, Robin Morisset, and Devin Rousso. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsWinCairo.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: This patch deletes the existing implementation just to reduce binary size in releases of WebKit which don't enable WebGPU by default. It doesn't represent a change in direction or policy or anything regarding WebGPU. It's a (somewhat temporary) pragmatic change. Our current implementation of WebGPU: 1. Is off by default on all platforms 2. Is extremely outdated 3. Has no notion of the GPU Process, and therefore needs to be redesigned and largely rewritten 4. Only implements a fraction of what is in the spec Removing the code from the tree doesn't delete it from existence; it's still in source control. The benefit of reducing binary size seems to outweigh having this code in the tree. * inspector/protocol/Canvas.json: * inspector/scripts/codegen/generator.py: Source/WebCore: No new tests because there is no behavior change. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/webgpu/GPUBindGroupLayoutBinding.h: Removed. * Modules/webgpu/GPUBindGroupLayoutBinding.idl: Removed. * Modules/webgpu/GPUBindGroupLayoutDescriptor.h: Removed. * Modules/webgpu/GPUBindGroupLayoutDescriptor.idl: Removed. * Modules/webgpu/GPUBlendDescriptor.idl: Removed. * Modules/webgpu/GPUBufferDescriptor.idl: Removed. * Modules/webgpu/GPUBufferUsage.idl: Removed. * Modules/webgpu/GPUCanvasContext.cpp: Removed. * Modules/webgpu/GPUCanvasContext.h: Removed. * Modules/webgpu/GPUCanvasContext.idl: Removed. * Modules/webgpu/GPUColor.idl: Removed. * Modules/webgpu/GPUColorStateDescriptor.idl: Removed. * Modules/webgpu/GPUColorWrite.idl: Removed. * Modules/webgpu/GPUCompareFunction.idl: Removed. * Modules/webgpu/GPUDepthStencilStateDescriptor.idl: Removed. * Modules/webgpu/GPUErrorFilter.idl: Removed. * Modules/webgpu/GPUExtent3D.idl: Removed. * Modules/webgpu/GPULoadOp.idl: Removed. * Modules/webgpu/GPUOrigin3D.h: Removed. * Modules/webgpu/GPUOrigin3D.idl: Removed. * Modules/webgpu/GPUOutOfMemoryError.idl: Removed. * Modules/webgpu/GPURequestAdapterOptions.idl: Removed. * Modules/webgpu/GPUSamplerDescriptor.idl: Removed. * Modules/webgpu/GPUShaderStage.h: Removed. * Modules/webgpu/GPUShaderStage.idl: Removed. * Modules/webgpu/GPUStoreOp.idl: Removed. * Modules/webgpu/GPUTextureDescriptor.idl: Removed. * Modules/webgpu/GPUTextureFormat.idl: Removed. * Modules/webgpu/GPUTextureUsage.idl: Removed. * Modules/webgpu/GPUUncapturedErrorEvent.cpp: Removed. * Modules/webgpu/GPUUncapturedErrorEvent.h: Removed. * Modules/webgpu/GPUUncapturedErrorEvent.idl: Removed. * Modules/webgpu/GPUValidationError.idl: Removed. * Modules/webgpu/GPUVertexAttributeDescriptor.idl: Removed. * Modules/webgpu/GPUVertexBufferDescriptor.idl: Removed. * Modules/webgpu/GPUVertexInputDescriptor.idl: Removed. * Modules/webgpu/Navigator+GPU.idl: Removed. * Modules/webgpu/NavigatorGPU.cpp: Removed. * Modules/webgpu/NavigatorGPU.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLAST.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLAddressEscapeMode.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLArrayReferenceType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLArrayType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLAssignmentExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLBaseFunctionAttribute.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLBaseSemantic.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLBlock.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLBooleanLiteral.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLBreak.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLBuiltInSemantic.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLBuiltInSemantic.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLCallExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLCommaExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLConstantExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLContinue.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLDefaultDelete.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLDereferenceExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLDoWhileLoop.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLDotExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLEffectfulExpressionStatement.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLEntryPointType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLEnumerationDefinition.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLEnumerationMember.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLEnumerationMemberLiteral.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLExpression.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLFallthrough.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLFloatLiteral.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLFloatLiteralType.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLFloatLiteralType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLForLoop.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLFunctionAttribute.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLFunctionDeclaration.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLFunctionDefinition.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLGlobalVariableReference.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLIfStatement.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLIndexExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteral.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteral.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteralType.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteralType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLLogicalExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLLogicalNotExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLMakeArrayReferenceExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLMakePointerExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLNameSpace.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLNamedType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLNativeFunctionDeclaration.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLNativeTypeDeclaration.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLNumThreadsFunctionAttribute.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLPointerType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLPropertyAccessExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLQualifier.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLReadModifyWriteExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLReferenceType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLReplaceWith.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLResolvableType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLResourceSemantic.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLResourceSemantic.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLReturn.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLSemantic.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLSpecializationConstantSemantic.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLSpecializationConstantSemantic.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLStageInOutSemantic.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLStageInOutSemantic.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLStatement.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLStructureDefinition.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLStructureElement.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLSwitchCase.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLSwitchStatement.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLTernaryExpression.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLTypeArgument.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLTypeArgument.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLTypeDefinition.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLTypeReference.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLTypeReference.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLUnnamedType.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLUnnamedType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLUnnamedTypeHash.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteral.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteral.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteralType.cpp: Removed. * Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteralType.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLVariableDeclarationsStatement.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLVariableReference.h: Removed. * Modules/webgpu/WHLSL/AST/WHLSLWhileLoop.h: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.h: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLMangledNames.h: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.cpp: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.h: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.h: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLNativeTypeWriter.cpp: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLNativeTypeWriter.h: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.cpp: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.h: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLVertexBufferIndexCalculator.cpp: Removed. * Modules/webgpu/WHLSL/Metal/WHLSLVertexBufferIndexCalculator.h: Removed. * Modules/webgpu/WHLSL/WHLSLASTDumper.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLASTDumper.h: Removed. * Modules/webgpu/WHLSL/WHLSLBuildStandardLibraryFunctionMap.py: Removed. * Modules/webgpu/WHLSL/WHLSLCheckDuplicateFunctions.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLCheckDuplicateFunctions.h: Removed. * Modules/webgpu/WHLSL/WHLSLCheckReferenceTypes.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLCheckReferenceTypes.h: Removed. * Modules/webgpu/WHLSL/WHLSLCheckTextureReferences.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLCheckTextureReferences.h: Removed. * Modules/webgpu/WHLSL/WHLSLChecker.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLChecker.h: Removed. * Modules/webgpu/WHLSL/WHLSLCodeLocation.h: Removed. * Modules/webgpu/WHLSL/WHLSLComputeDimensions.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLComputeDimensions.h: Removed. * Modules/webgpu/WHLSL/WHLSLError.h: Removed. * Modules/webgpu/WHLSL/WHLSLFunctionStageChecker.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLFunctionStageChecker.h: Removed. * Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.h: Removed. * Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLHighZombieFinder.h: Removed. * Modules/webgpu/WHLSL/WHLSLInferTypes.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLInferTypes.h: Removed. * Modules/webgpu/WHLSL/WHLSLIntrinsics.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLIntrinsics.h: Removed. * Modules/webgpu/WHLSL/WHLSLLexer.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLLexer.h: Removed. * Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.h: Removed. * Modules/webgpu/WHLSL/WHLSLNameContext.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLNameContext.h: Removed. * Modules/webgpu/WHLSL/WHLSLNameResolver.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLNameResolver.h: Removed. * Modules/webgpu/WHLSL/WHLSLParser.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLParser.h: Removed. * Modules/webgpu/WHLSL/WHLSLParsingMode.h: Removed. * Modules/webgpu/WHLSL/WHLSLPipelineDescriptor.h: Removed. * Modules/webgpu/WHLSL/WHLSLPrepare.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLPrepare.h: Removed. * Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.h: Removed. * Modules/webgpu/WHLSL/WHLSLProgram.h: Removed. * Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLPropertyResolver.h: Removed. * Modules/webgpu/WHLSL/WHLSLPruneUnreachableStandardLibraryFunctions.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLPruneUnreachableStandardLibraryFunctions.h: Removed. * Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLRecursionChecker.h: Removed. * Modules/webgpu/WHLSL/WHLSLRecursiveTypeChecker.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLRecursiveTypeChecker.h: Removed. * Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.h: Removed. * Modules/webgpu/WHLSL/WHLSLResolvingType.h: Removed. * Modules/webgpu/WHLSL/WHLSLScopedSetAdder.h: Removed. * Modules/webgpu/WHLSL/WHLSLSemanticMatcher.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLSemanticMatcher.h: Removed. * Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt: Removed. * Modules/webgpu/WHLSL/WHLSLStandardLibraryFunctionMap.h: Removed. * Modules/webgpu/WHLSL/WHLSLStandardLibraryUtilities.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLStandardLibraryUtilities.h: Removed. * Modules/webgpu/WHLSL/WHLSLStatementBehaviorChecker.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLStatementBehaviorChecker.h: Removed. * Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.h: Removed. * Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.h: Removed. * Modules/webgpu/WHLSL/WHLSLVisitor.cpp: Removed. * Modules/webgpu/WHLSL/WHLSLVisitor.h: Removed. * Modules/webgpu/WebGPU.cpp: Removed. * Modules/webgpu/WebGPU.h: Removed. * Modules/webgpu/WebGPU.idl: Removed. * Modules/webgpu/WebGPUAdapter.cpp: Removed. * Modules/webgpu/WebGPUAdapter.h: Removed. * Modules/webgpu/WebGPUAdapter.idl: Removed. * Modules/webgpu/WebGPUBindGroup.cpp: Removed. * Modules/webgpu/WebGPUBindGroup.h: Removed. * Modules/webgpu/WebGPUBindGroup.idl: Removed. * Modules/webgpu/WebGPUBindGroupBinding.h: Removed. * Modules/webgpu/WebGPUBindGroupBinding.idl: Removed. * Modules/webgpu/WebGPUBindGroupDescriptor.cpp: Removed. * Modules/webgpu/WebGPUBindGroupDescriptor.h: Removed. * Modules/webgpu/WebGPUBindGroupDescriptor.idl: Removed. * Modules/webgpu/WebGPUBindGroupLayout.cpp: Removed. * Modules/webgpu/WebGPUBindGroupLayout.h: Removed. * Modules/webgpu/WebGPUBindGroupLayout.idl: Removed. * Modules/webgpu/WebGPUBuffer.cpp: Removed. * Modules/webgpu/WebGPUBuffer.h: Removed. * Modules/webgpu/WebGPUBuffer.idl: Removed. * Modules/webgpu/WebGPUBufferBinding.h: Removed. * Modules/webgpu/WebGPUBufferBinding.idl: Removed. * Modules/webgpu/WebGPUCommandBuffer.cpp: Removed. * Modules/webgpu/WebGPUCommandBuffer.h: Removed. * Modules/webgpu/WebGPUCommandBuffer.idl: Removed. * Modules/webgpu/WebGPUCommandEncoder.cpp: Removed. * Modules/webgpu/WebGPUCommandEncoder.h: Removed. * Modules/webgpu/WebGPUCommandEncoder.idl: Removed. * Modules/webgpu/WebGPUComputePassEncoder.cpp: Removed. * Modules/webgpu/WebGPUComputePassEncoder.h: Removed. * Modules/webgpu/WebGPUComputePassEncoder.idl: Removed. * Modules/webgpu/WebGPUComputePipeline.cpp: Removed. * Modules/webgpu/WebGPUComputePipeline.h: Removed. * Modules/webgpu/WebGPUComputePipeline.idl: Removed. * Modules/webgpu/WebGPUComputePipelineDescriptor.cpp: Removed. * Modules/webgpu/WebGPUComputePipelineDescriptor.h: Removed. * Modules/webgpu/WebGPUComputePipelineDescriptor.idl: Removed. * Modules/webgpu/WebGPUDevice.cpp: Removed. * Modules/webgpu/WebGPUDevice.h: Removed. * Modules/webgpu/WebGPUDevice.idl: Removed. * Modules/webgpu/WebGPUDeviceErrorScopes.cpp: Removed. * Modules/webgpu/WebGPUDeviceErrorScopes.h: Removed. * Modules/webgpu/WebGPUDeviceErrorScopes.idl: Removed. * Modules/webgpu/WebGPUDeviceEventHandler.idl: Removed. * Modules/webgpu/WebGPUPipeline.cpp: Removed. * Modules/webgpu/WebGPUPipeline.h: Removed. * Modules/webgpu/WebGPUPipelineDescriptorBase.h: Removed. * Modules/webgpu/WebGPUPipelineDescriptorBase.idl: Removed. * Modules/webgpu/WebGPUPipelineLayout.cpp: Removed. * Modules/webgpu/WebGPUPipelineLayout.h: Removed. * Modules/webgpu/WebGPUPipelineLayout.idl: Removed. * Modules/webgpu/WebGPUPipelineLayoutDescriptor.cpp: Removed. * Modules/webgpu/WebGPUPipelineLayoutDescriptor.h: Removed. * Modules/webgpu/WebGPUPipelineLayoutDescriptor.idl: Removed. * Modules/webgpu/WebGPUProgrammablePassEncoder.cpp: Removed. * Modules/webgpu/WebGPUProgrammablePassEncoder.h: Removed. * Modules/webgpu/WebGPUProgrammablePassEncoder.idl: Removed. * Modules/webgpu/WebGPUProgrammableStageDescriptor.cpp: Removed. * Modules/webgpu/WebGPUProgrammableStageDescriptor.h: Removed. * Modules/webgpu/WebGPUProgrammableStageDescriptor.idl: Removed. * Modules/webgpu/WebGPUQueue.cpp: Removed. * Modules/webgpu/WebGPUQueue.h: Removed. * Modules/webgpu/WebGPUQueue.idl: Removed. * Modules/webgpu/WebGPURenderPassDescriptor.cpp: Removed. * Modules/webgpu/WebGPURenderPassDescriptor.h: Removed. * Modules/webgpu/WebGPURenderPassDescriptor.idl: Removed. * Modules/webgpu/WebGPURenderPassEncoder.cpp: Removed. * Modules/webgpu/WebGPURenderPassEncoder.h: Removed. * Modules/webgpu/WebGPURenderPassEncoder.idl: Removed. * Modules/webgpu/WebGPURenderPipeline.cpp: Removed. * Modules/webgpu/WebGPURenderPipeline.h: Removed. * Modules/webgpu/WebGPURenderPipeline.idl: Removed. * Modules/webgpu/WebGPURenderPipelineDescriptor.cpp: Removed. * Modules/webgpu/WebGPURenderPipelineDescriptor.h: Removed. * Modules/webgpu/WebGPURenderPipelineDescriptor.idl: Removed. * Modules/webgpu/WebGPUSampler.cpp: Removed. * Modules/webgpu/WebGPUSampler.h: Removed. * Modules/webgpu/WebGPUSampler.idl: Removed. * Modules/webgpu/WebGPUShaderModule.cpp: Removed. * Modules/webgpu/WebGPUShaderModule.h: Removed. * Modules/webgpu/WebGPUShaderModule.idl: Removed. * Modules/webgpu/WebGPUShaderModuleDescriptor.h: Removed. * Modules/webgpu/WebGPUShaderModuleDescriptor.idl: Removed. * Modules/webgpu/WebGPUSwapChain.cpp: Removed. * Modules/webgpu/WebGPUSwapChain.h: Removed. * Modules/webgpu/WebGPUSwapChain.idl: Removed. * Modules/webgpu/WebGPUSwapChainDescriptor.cpp: Removed. * Modules/webgpu/WebGPUSwapChainDescriptor.h: Removed. * Modules/webgpu/WebGPUTexture.cpp: Removed. * Modules/webgpu/WebGPUTexture.h: Removed. * Modules/webgpu/WebGPUTexture.idl: Removed. * Modules/webgpu/WebGPUTextureView.cpp: Removed. * Modules/webgpu/WebGPUTextureView.h: Removed. * Modules/webgpu/WebGPUTextureView.idl: Removed. * Modules/webgpu/WorkerNavigator+GPU.idl: Removed. * Modules/webgpu/WorkerNavigatorGPU.cpp: Removed. * Modules/webgpu/WorkerNavigatorGPU.h: Removed. * Sources.txt: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: * dom/Document.cpp: (WebCore::Document::getCSSCanvasContext): * dom/Document.h: * dom/Document.idl: * dom/EventNames.in: * dom/EventTargetFactory.in: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): (WebCore::HTMLCanvasElement::isWebGPUType): Deleted. (WebCore::HTMLCanvasElement::createContextWebGPU): Deleted. (WebCore::HTMLCanvasElement::getContextWebGPU): Deleted. * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/canvas/CanvasRenderingContext.h: (WebCore::CanvasRenderingContext::isWebGL const): (WebCore::CanvasRenderingContext::isWebGPU const): Deleted. * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::InspectorCanvas): (WebCore::InspectorCanvas::canvasElement const): (WebCore::InspectorCanvas::scriptExecutionContext const): (WebCore::InspectorCanvas::resolveContext const): (WebCore:: const): (WebCore::InspectorCanvas::resetRecordingData): (WebCore::InspectorCanvas::recordAction): (WebCore::InspectorCanvas::buildObjectForCanvas): (WebCore::InspectorCanvas::releaseObjectForRecording): (WebCore::InspectorCanvas::buildInitialState): (WebCore::canvasIfContextMatchesDevice): Deleted. (WebCore::InspectorCanvas::deviceContext const): Deleted. (WebCore::InspectorCanvas::isDeviceForCanvasContext const): Deleted. * inspector/InspectorCanvas.h: * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didCreateWebGPUDeviceImpl): Deleted. (WebCore::InspectorInstrumentation::willDestroyWebGPUDeviceImpl): Deleted. (WebCore::InspectorInstrumentation::willConfigureSwapChainImpl): Deleted. (WebCore::InspectorInstrumentation::didCreateWebGPUPipelineImpl): Deleted. (WebCore::InspectorInstrumentation::willDestroyWebGPUPipelineImpl): Deleted. * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didCreateWebGPUDevice): Deleted. (WebCore::InspectorInstrumentation::willDestroyWebGPUDevice): Deleted. (WebCore::InspectorInstrumentation::willConfigureSwapChain): Deleted. (WebCore::InspectorInstrumentation::didCreateWebGPUPipeline): Deleted. (WebCore::InspectorInstrumentation::willDestroyWebGPUPipeline): Deleted. * inspector/InspectorShaderProgram.cpp: (WebCore::InspectorShaderProgram::requestShaderSource): (WebCore::InspectorShaderProgram::updateShader): (WebCore::InspectorShaderProgram::buildObjectForShaderProgram): (WebCore::InspectorShaderProgram::pipeline const): Deleted. * inspector/InspectorShaderProgram.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::InspectorCanvasAgent): (WebCore::InspectorCanvasAgent::enable): (WebCore::InspectorCanvasAgent::startRecording): (WebCore::InspectorCanvasAgent::stopRecording): (WebCore::InspectorCanvasAgent::didChangeCanvasMemory): (WebCore::InspectorCanvasAgent::recordAction): (WebCore::InspectorCanvasAgent::reset): (WebCore::InspectorCanvasAgent::didCreateWebGPUDevice): Deleted. (WebCore::InspectorCanvasAgent::willDestroyWebGPUDevice): Deleted. (WebCore::InspectorCanvasAgent::willConfigureSwapChain): Deleted. (WebCore::InspectorCanvasAgent::didCreateWebGPUPipeline): Deleted. (WebCore::InspectorCanvasAgent::willDestroyWebGPUPipeline): Deleted. * inspector/agents/InspectorCanvasAgent.h: * page/ProcessWarming.cpp: (WebCore::ProcessWarming::prewarmGlobally): * platform/Logging.h: * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: (WebCore::PlatformCALayerCocoa::layerTypeForPlatformLayer): (WebCore::PlatformCALayerCocoa::PlatformCALayerCocoa): * platform/graphics/cocoa/WebGPULayer.h: Removed. * platform/graphics/cocoa/WebGPULayer.mm: Removed. * platform/graphics/gpu/GPUBindGroup.h: Removed. * platform/graphics/gpu/GPUBindGroupAllocator.h: Removed. * platform/graphics/gpu/GPUBindGroupBinding.h: Removed. * platform/graphics/gpu/GPUBindGroupDescriptor.h: Removed. * platform/graphics/gpu/GPUBindGroupLayout.h: Removed. * platform/graphics/gpu/GPUBlendDescriptor.h: Removed. * platform/graphics/gpu/GPUBuffer.cpp: Removed. * platform/graphics/gpu/GPUBuffer.h: Removed. * platform/graphics/gpu/GPUBufferBinding.h: Removed. * platform/graphics/gpu/GPUBufferDescriptor.h: Removed. * platform/graphics/gpu/GPUBufferUsage.h: Removed. * platform/graphics/gpu/GPUColor.h: Removed. * platform/graphics/gpu/GPUColorStateDescriptor.h: Removed. * platform/graphics/gpu/GPUColorWrite.h: Removed. * platform/graphics/gpu/GPUCommandBuffer.h: Removed. * platform/graphics/gpu/GPUCompareFunction.h: Removed. * platform/graphics/gpu/GPUComputePassEncoder.h: Removed. * platform/graphics/gpu/GPUComputePipeline.h: Removed. * platform/graphics/gpu/GPUComputePipelineDescriptor.h: Removed. * platform/graphics/gpu/GPUDepthStencilStateDescriptor.h: Removed. * platform/graphics/gpu/GPUDevice.cpp: Removed. * platform/graphics/gpu/GPUDevice.h: (WebCore::GPUDevice::platformDevice const): Deleted. (WebCore::GPUDevice::swapChain const): Deleted. (WebCore::GPUDevice::setErrorScopes): Deleted. * platform/graphics/gpu/GPUError.cpp: Removed. * platform/graphics/gpu/GPUError.h: Removed. * platform/graphics/gpu/GPUErrorFilter.h: Removed. * platform/graphics/gpu/GPUErrorScopes.cpp: Removed. * platform/graphics/gpu/GPUErrorScopes.h: Removed. * platform/graphics/gpu/GPUExtent3D.h: Removed. * platform/graphics/gpu/GPULimits.h: Removed. * platform/graphics/gpu/GPULoadOp.h: Removed. * platform/graphics/gpu/GPUObjectBase.h: Removed. * platform/graphics/gpu/GPUOutOfMemoryError.h: Removed. * platform/graphics/gpu/GPUPipeline.cpp: Removed. * platform/graphics/gpu/GPUPipeline.h: Removed. * platform/graphics/gpu/GPUPipelineDescriptorBase.h: Removed. * platform/graphics/gpu/GPUPipelineLayout.cpp: Removed. * platform/graphics/gpu/GPUPipelineLayout.h: Removed. * platform/graphics/gpu/GPUPipelineLayoutDescriptor.h: Removed. * platform/graphics/gpu/GPUPlatformTypes.h: Removed. * platform/graphics/gpu/GPUProgrammablePassEncoder.cpp: Removed. * platform/graphics/gpu/GPUProgrammablePassEncoder.h: Removed. * platform/graphics/gpu/GPUProgrammableStageDescriptor.h: Removed. * platform/graphics/gpu/GPUQueue.h: Removed. * platform/graphics/gpu/GPURenderPassDescriptor.h: Removed. * platform/graphics/gpu/GPURenderPassEncoder.h: Removed. * platform/graphics/gpu/GPURenderPipeline.h: Removed. * platform/graphics/gpu/GPURenderPipelineDescriptor.h: Removed. * platform/graphics/gpu/GPURequestAdapterOptions.h: Removed. * platform/graphics/gpu/GPUSampler.h: Removed. * platform/graphics/gpu/GPUSamplerDescriptor.h: Removed. * platform/graphics/gpu/GPUShaderModule.h: Removed. * platform/graphics/gpu/GPUShaderModuleDescriptor.h: Removed. * platform/graphics/gpu/GPUStoreOp.h: Removed. * platform/graphics/gpu/GPUSwapChain.h: Removed. * platform/graphics/gpu/GPUSwapChainDescriptor.h: Removed. * platform/graphics/gpu/GPUTexture.h: Removed. * platform/graphics/gpu/GPUTextureDescriptor.h: Removed. * platform/graphics/gpu/GPUTextureFormat.h: Removed. * platform/graphics/gpu/GPUTextureUsage.h: Removed. * platform/graphics/gpu/GPUUtils.h: Removed. * platform/graphics/gpu/GPUValidationError.cpp: Removed. * platform/graphics/gpu/GPUValidationError.h: Removed. * platform/graphics/gpu/GPUVertexAttributeDescriptor.h: Removed. * platform/graphics/gpu/GPUVertexBufferDescriptor.h: Removed. * platform/graphics/gpu/GPUVertexInputDescriptor.h: Removed. * platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUBufferMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUComputePassEncoderMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUComputePipelineMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUDeviceMetal.mm: (WebCore::prewarmGPU): (WebCore::isAcceptableDevice): Deleted. (WebCore::GPUDevice::prewarm): Deleted. (WebCore::GPUDevice::tryCreate): Deleted. (WebCore::GPUDevice::GPUDevice): Deleted. * platform/graphics/gpu/cocoa/GPUPipelineMetalConvertLayout.cpp: Removed. * platform/graphics/gpu/cocoa/GPUPipelineMetalConvertLayout.h: Removed. * platform/graphics/gpu/cocoa/GPUPlatformTypesMetal.h: Removed. * platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUQueueMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUSamplerMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUShaderModuleMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUTextureMetal.mm: Removed. * platform/graphics/gpu/cocoa/GPUUtilsMetal.mm: Removed. * platform/graphics/gpu/dawn/GPUBindGroupAllocatorDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUBindGroupDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUBindGroupLayoutDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUBufferDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUCommandBufferDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUComputePassEncoderDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUComputePipelineDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUDeviceDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUPlatformTypesDawn.h: Removed. * platform/graphics/gpu/dawn/GPUProgrammablePassEncoderDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUQueueDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPURenderPassEncoderDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPURenderPipelineDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUSamplerDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUShaderModuleDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUSwapChainDawn.cpp: Removed. * platform/graphics/gpu/dawn/GPUTextureDawn.cpp: Removed. * platform/ios/DragImageIOS.mm: * platform/mediastream/mac/WindowDisplayCapturerMac.mm: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateConfiguration): (WebCore::RenderLayerBacking::contentChanged): Source/WebKit: * FeatureFlags/WebKit-appletvos.plist: * FeatureFlags/WebKit-ios.plist: * FeatureFlags/WebKit-macos.plist: * FeatureFlags/WebKit-watchos.plist: * Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultWebGPUEnabled): Deleted. * Shared/WebPreferencesDefaultValues.h: Source/WebKitLegacy/mac: * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences webGPUEnabled]): Deleted. (-[WebPreferences setWebGPUEnabled:]): Deleted. * WebView/WebPreferencesDefaultValues.h: * WebView/WebPreferencesDefaultValues.mm: (WebKit::defaultWebGPUEnabled): Deleted. * WebView/WebPreferencesPrivate.h: Source/WTF: * Scripts/Preferences/WebPreferencesExperimental.yaml: * wtf/PlatformEnable.h: * wtf/PlatformEnableCocoa.h: LayoutTests: * TestExpectations: * fast/dom/navigator-detached-no-crash-expected.txt: * inspector/canvas/create-context-webgpu-expected.txt: Removed. * inspector/canvas/create-context-webgpu.html: Removed. * inspector/canvas/requestClientNodes-webgpu-expected.txt: Removed. * inspector/canvas/requestClientNodes-webgpu.html: Removed. * inspector/canvas/requestShaderSource-webgpu-expected.txt: Removed. * inspector/canvas/requestShaderSource-webgpu.html: Removed. * inspector/canvas/resolveContext-webgpu-expected.txt: Removed. * inspector/canvas/resolveContext-webgpu.html: Removed. * inspector/canvas/shaderProgram-add-remove-webgpu-expected.txt: Removed. * inspector/canvas/shaderProgram-add-remove-webgpu.html: Removed. * inspector/canvas/updateShader-webgpu-expected.txt: Removed. * inspector/canvas/updateShader-webgpu-sharedVertexFragment-expected.txt: Removed. * inspector/canvas/updateShader-webgpu-sharedVertexFragment.html: Removed. * inspector/canvas/updateShader-webgpu.html: Removed. * platform/glib/TestExpectations: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt: * platform/mac/TestExpectations: * platform/win/TestExpectations: * webgpu/bind-groups-expected.txt: Removed. * webgpu/bind-groups.html: Removed. * webgpu/blend-color-triangle-strip-expected.html: Removed. * webgpu/blend-color-triangle-strip.html: Removed. * webgpu/blend-triangle-strip-expected.html: Removed. * webgpu/blend-triangle-strip.html: Removed. * webgpu/blit-commands-expected.html: Removed. * webgpu/blit-commands-texture-to-texture-expected.html: Removed. * webgpu/blit-commands-texture-to-texture.html: Removed. * webgpu/blit-commands.html: Removed. * webgpu/buffer-command-buffer-races-expected.html: Removed. * webgpu/buffer-command-buffer-races.html: Removed. * webgpu/buffer-errors-expected.txt: Removed. * webgpu/buffer-errors.html: Removed. * webgpu/color-write-mask-triangle-strip-expected.html: Removed. * webgpu/color-write-mask-triangle-strip.html: Removed. * webgpu/command-buffers-expected.txt: Removed. * webgpu/command-buffers.html: Removed. * webgpu/compute-pipeline-errors-expected.txt: Removed. * webgpu/compute-pipeline-errors.html: Removed. * webgpu/depth-enabled-triangle-strip-expected.html: Removed. * webgpu/depth-enabled-triangle-strip.html: Removed. * webgpu/draw-indexed-triangles-expected.html: Removed. * webgpu/draw-indexed-triangles.html: Removed. * webgpu/error-scopes-test-expected.txt: Removed. * webgpu/error-scopes-test.html: Removed. * webgpu/expando-properties-expected.txt: Removed. * webgpu/expando-properties.html: Removed. * webgpu/js/webgpu-functions.js: Removed. * webgpu/map-read-buffers-expected.txt: Removed. * webgpu/map-read-buffers.html: Removed. * webgpu/map-write-buffers-expected.txt: Removed. * webgpu/map-write-buffers.html: Removed. * webgpu/pipeline-layouts-expected.txt: Removed. * webgpu/pipeline-layouts.html: Removed. * webgpu/queue-creation-expected.txt: Removed. * webgpu/queue-creation.html: Removed. * webgpu/render-command-encoding-expected.txt: Removed. * webgpu/render-command-encoding.html: Removed. * webgpu/render-pipeline-errors-expected.txt: Removed. * webgpu/render-pipeline-errors.html: Removed. * webgpu/render-pipelines-expected.txt: Removed. * webgpu/render-pipelines.html: Removed. * webgpu/resources/blue-checkered.png: Removed. * webgpu/resources/green-400.png: Removed. * webgpu/shader-modules-expected.txt: Removed. * webgpu/shader-modules.html: Removed. * webgpu/simple-triangle-strip-expected.html: Removed. * webgpu/simple-triangle-strip.html: Removed. * webgpu/texture-creation-expected.txt: Removed. * webgpu/texture-creation.html: Removed. * webgpu/texture-triangle-strip-expected.html: Removed. * webgpu/texture-triangle-strip.html: Removed. * webgpu/textures-textureviews-expected.txt: Removed. * webgpu/textures-textureviews.html: Removed. * webgpu/uncaptured-errors-expected.txt: Removed. * webgpu/uncaptured-errors.html: Removed. * webgpu/vertex-buffer-triangle-strip-expected.html: Removed. * webgpu/vertex-buffer-triangle-strip.html: Removed. * webgpu/viewport-scissor-rect-triangle-strip-expected.html: Removed. * webgpu/viewport-scissor-rect-triangle-strip.html: Removed. * webgpu/whlsl/address-of-swizzle-expected.txt: Removed. * webgpu/whlsl/address-of-swizzle.html: Removed. * webgpu/whlsl/arbitrary-vertex-attribute-locations-expected.html: Removed. * webgpu/whlsl/arbitrary-vertex-attribute-locations.html: Removed. * webgpu/whlsl/argument-evaluation-order-expected.txt: Removed. * webgpu/whlsl/argument-evaluation-order.html: Removed. * webgpu/whlsl/array-length-spec-tests-expected.txt: Removed. * webgpu/whlsl/array-length-spec-tests.html: Removed. * webgpu/whlsl/array-oob-alias-expected.txt: Removed. * webgpu/whlsl/array-oob-alias.html: Removed. * webgpu/whlsl/array-spec-tests-expected.txt: Removed. * webgpu/whlsl/array-spec-tests.html: Removed. * webgpu/whlsl/bad-add-expected.txt: Removed. * webgpu/whlsl/bad-add.html: Removed. * webgpu/whlsl/bad-literals-expected.txt: Removed. * webgpu/whlsl/bad-literals.html: Removed. * webgpu/whlsl/bitwise-bool-ops-expected.txt: Removed. * webgpu/whlsl/bitwise-bool-ops.html: Removed. * webgpu/whlsl/bool-matrix-expected.txt: Removed. * webgpu/whlsl/bool-matrix.html: Removed. * webgpu/whlsl/bools-expected.txt: Removed. * webgpu/whlsl/bools.html: Removed. * webgpu/whlsl/buffer-fragment-expected.html: Removed. * webgpu/whlsl/buffer-fragment.html: Removed. * webgpu/whlsl/buffer-length-expected.txt: Removed. * webgpu/whlsl/buffer-length.html: Removed. * webgpu/whlsl/buffer-vertex-expected.html: Removed. * webgpu/whlsl/buffer-vertex.html: Removed. * webgpu/whlsl/builtin-vectors-2-expected.txt: Removed. * webgpu/whlsl/builtin-vectors-2.html: Removed. * webgpu/whlsl/builtin-vectors-expected.txt: Removed. * webgpu/whlsl/builtin-vectors.html: Removed. * webgpu/whlsl/casts-expected.txt: Removed. * webgpu/whlsl/casts.html: Removed. * webgpu/whlsl/checker-should-set-type-of-read-modify-write-variables-expected.txt: Removed. * webgpu/whlsl/checker-should-set-type-of-read-modify-write-variables.html: Removed. * webgpu/whlsl/clamp-stdlib-expected.txt: Removed. * webgpu/whlsl/clamp-stdlib.html: Removed. * webgpu/whlsl/comment-parsing-expected.txt: Removed. * webgpu/whlsl/comment-parsing.html: Removed. * webgpu/whlsl/compute-expected.txt: Removed. * webgpu/whlsl/compute.html: Removed. * webgpu/whlsl/copy-expected.txt: Removed. * webgpu/whlsl/copy.html: Removed. * webgpu/whlsl/dereference-ordering-expected.txt: Removed. * webgpu/whlsl/dereference-ordering.html: Removed. * webgpu/whlsl/dereference-pointer-should-type-check-expected.html: Removed. * webgpu/whlsl/dereference-pointer-should-type-check.html: Removed. * webgpu/whlsl/device-proper-type-checker-expected.txt: Removed. * webgpu/whlsl/device-proper-type-checker.html: Removed. * webgpu/whlsl/do-while-loop-break-expected.html: Removed. * webgpu/whlsl/do-while-loop-break.html: Removed. * webgpu/whlsl/do-while-loop-continue-expected.html: Removed. * webgpu/whlsl/do-while-loop-continue.html: Removed. * webgpu/whlsl/do-while-loop-expected.html: Removed. * webgpu/whlsl/do-while-loop.html: Removed. * webgpu/whlsl/dont-crash-parsing-enum-expected.html: Removed. * webgpu/whlsl/dont-crash-parsing-enum.html: Removed. * webgpu/whlsl/dot-expressions-expected.html: Removed. * webgpu/whlsl/dot-expressions.html: Removed. * webgpu/whlsl/double-not-expected.txt: Removed. * webgpu/whlsl/double-not.html: Removed. * webgpu/whlsl/duplicate-types-should-not-produce-duplicate-ctors-expected.txt: Removed. * webgpu/whlsl/duplicate-types-should-not-produce-duplicate-ctors.html: Removed. * webgpu/whlsl/duplicates-expected.txt: Removed. * webgpu/whlsl/duplicates.html: Removed. * webgpu/whlsl/ensure-proper-pointer-usage-expected.txt: Removed. * webgpu/whlsl/ensure-proper-pointer-usage.html: Removed. * webgpu/whlsl/ensure-proper-variable-lifetime-2-expected.html: Removed. * webgpu/whlsl/ensure-proper-variable-lifetime-2.html: Removed. * webgpu/whlsl/ensure-proper-variable-lifetime-3-expected.html: Removed. * webgpu/whlsl/ensure-proper-variable-lifetime-3.html: Removed. * webgpu/whlsl/ensure-proper-variable-lifetime-expected.html: Removed. * webgpu/whlsl/ensure-proper-variable-lifetime.html: Removed. * webgpu/whlsl/enum-integer-constructor-expected.txt: Removed. * webgpu/whlsl/enum-integer-constructor.html: Removed. * webgpu/whlsl/enum-spec-tests-expected.txt: Removed. * webgpu/whlsl/enum-spec-tests.html: Removed. * webgpu/whlsl/enums-2-expected.txt: Removed. * webgpu/whlsl/enums-2.html: Removed. * webgpu/whlsl/enums-expected.txt: Removed. * webgpu/whlsl/enums.html: Removed. * webgpu/whlsl/equality-expected.txt: Removed. * webgpu/whlsl/equality.html: Removed. * webgpu/whlsl/float-math-expected.txt: Removed. * webgpu/whlsl/float-math.html: Removed. * webgpu/whlsl/getter-setter-type-expected.txt: Removed. * webgpu/whlsl/getter-setter-type.html: Removed. * webgpu/whlsl/huge-array-expected.txt: Removed. * webgpu/whlsl/huge-array.html: Removed. * webgpu/whlsl/if-statement-expected.txt: Removed. * webgpu/whlsl/if-statement.html: Removed. * webgpu/whlsl/increment-decrement-expected.txt: Removed. * webgpu/whlsl/increment-decrement.html: Removed. * webgpu/whlsl/increment-setter-expected.txt: Removed. * webgpu/whlsl/increment-setter.html: Removed. * webgpu/whlsl/index-getter-setter-expected.txt: Removed. * webgpu/whlsl/index-getter-setter.html: Removed. * webgpu/whlsl/int-bit-math-expected.txt: Removed. * webgpu/whlsl/int-bit-math.html: Removed. * webgpu/whlsl/int-literal-compare-expected.txt: Removed. * webgpu/whlsl/int-literal-compare.html: Removed. * webgpu/whlsl/js/test-harness.js: Removed. * webgpu/whlsl/length-stdlib-expected.txt: Removed. * webgpu/whlsl/length-stdlib.html: Removed. * webgpu/whlsl/lexing-expected.txt: Removed. * webgpu/whlsl/lexing.html: Removed. * webgpu/whlsl/literals-expected.txt: Removed. * webgpu/whlsl/literals.html: Removed. * webgpu/whlsl/logical-negation-expected.txt: Removed. * webgpu/whlsl/logical-negation.html: Removed. * webgpu/whlsl/loops-break-expected.html: Removed. * webgpu/whlsl/loops-break.html: Removed. * webgpu/whlsl/loops-continue-expected.html: Removed. * webgpu/whlsl/loops-continue.html: Removed. * webgpu/whlsl/loops-expected.html: Removed. * webgpu/whlsl/loops-spec-tests-expected.txt: Removed. * webgpu/whlsl/loops-spec-tests.html: Removed. * webgpu/whlsl/loops.html: Removed. * webgpu/whlsl/lots-of-local-variables-expected.txt: Removed. * webgpu/whlsl/lots-of-local-variables.html: Removed. * webgpu/whlsl/lvalues-expected.txt: Removed. * webgpu/whlsl/lvalues.html: Removed. * webgpu/whlsl/make-array-ref-spec-tests-expected.txt: Removed. * webgpu/whlsl/make-array-ref-spec-tests.html: Removed. * webgpu/whlsl/make-array-reference-expected.txt: Removed. * webgpu/whlsl/make-array-reference.html: Removed. * webgpu/whlsl/matrices-spec-tests-expected.txt: Removed. * webgpu/whlsl/matrices-spec-tests.html: Removed. * webgpu/whlsl/matrix-2-expected.txt: Removed. * webgpu/whlsl/matrix-2.html: Removed. * webgpu/whlsl/matrix-alignment-expected.txt: Removed. * webgpu/whlsl/matrix-alignment.html: Removed. * webgpu/whlsl/matrix-compare-expected.txt: Removed. * webgpu/whlsl/matrix-compare.html: Removed. * webgpu/whlsl/matrix-constructors-expected.txt: Removed. * webgpu/whlsl/matrix-constructors-list-of-scalars-expected.txt: Removed. * webgpu/whlsl/matrix-constructors-list-of-scalars.html: Removed. * webgpu/whlsl/matrix-constructors.html: Removed. * webgpu/whlsl/matrix-expected.txt: Removed. * webgpu/whlsl/matrix-index-assign-expected.txt: Removed. * webgpu/whlsl/matrix-index-assign.html: Removed. * webgpu/whlsl/matrix-index-order-expected.txt: Removed. * webgpu/whlsl/matrix-index-order.html: Removed. * webgpu/whlsl/matrix-memory-layout-expected.txt: Removed. * webgpu/whlsl/matrix-memory-layout.html: Removed. * webgpu/whlsl/matrix.html: Removed. * webgpu/whlsl/nested-dot-expression-rvalue-expected.html: Removed. * webgpu/whlsl/nested-dot-expression-rvalue.html: Removed. * webgpu/whlsl/nested-loop-expected.html: Removed. * webgpu/whlsl/nested-loop.html: Removed. * webgpu/whlsl/null-arg-expected.txt: Removed. * webgpu/whlsl/null-arg.html: Removed. * webgpu/whlsl/null-array-property-access-expected.txt: Removed. * webgpu/whlsl/null-array-property-access.html: Removed. * webgpu/whlsl/null-array-ref.html: Removed. * webgpu/whlsl/oob-access-2-expected.txt: Removed. * webgpu/whlsl/oob-access-2.html: Removed. * webgpu/whlsl/oob-access-expected.txt: Removed. * webgpu/whlsl/oob-access.html: Removed. * webgpu/whlsl/operator-div-expected.txt: Removed. * webgpu/whlsl/operator-div.html: Removed. * webgpu/whlsl/operator-equal-equal-expected.txt: Removed. * webgpu/whlsl/operator-equal-equal.html: Removed. * webgpu/whlsl/operator-minus-expected.txt: Removed. * webgpu/whlsl/operator-minus.html: Removed. * webgpu/whlsl/operator-overload-expected.txt: Removed. * webgpu/whlsl/operator-overload.html: Removed. * webgpu/whlsl/operator-plus-expected.txt: Removed. * webgpu/whlsl/operator-plus.html: Removed. * webgpu/whlsl/operator-syntax-expected.txt: Removed. * webgpu/whlsl/operator-syntax.html: Removed. * webgpu/whlsl/operator-times-expected.txt: Removed. * webgpu/whlsl/operator-times.html: Removed. * webgpu/whlsl/operator-vector-assign-expected.txt: Removed. * webgpu/whlsl/operator-vector-assign.html: Removed. * webgpu/whlsl/operator-vector-load-expected.txt: Removed. * webgpu/whlsl/operator-vector-load.html: Removed. * webgpu/whlsl/operator-xy-expected.txt: Removed. * webgpu/whlsl/operator-xy.html: Removed. * webgpu/whlsl/overload-expected.txt: Removed. * webgpu/whlsl/overload.html: Removed. * webgpu/whlsl/plus-equals-expected.txt: Removed. * webgpu/whlsl/plus-equals.html: Removed. * webgpu/whlsl/pointer-spec-tests-expected.txt: Removed. * webgpu/whlsl/pointer-spec-tests.html: Removed. * webgpu/whlsl/postfix-prefix-expected.txt: Removed. * webgpu/whlsl/postfix-prefix.html: Removed. * webgpu/whlsl/property-evaluation-order-expected.txt: Removed. * webgpu/whlsl/property-evaluation-order.html: Removed. * webgpu/whlsl/read-modify-write-expected.txt: Removed. * webgpu/whlsl/read-modify-write-high-zombies-expected.txt: Removed. * webgpu/whlsl/read-modify-write-high-zombies.html: Removed. * webgpu/whlsl/read-modify-write.html: Removed. * webgpu/whlsl/recursive-structs-expected.txt: Removed. * webgpu/whlsl/recursive-structs.html: Removed. * webgpu/whlsl/return-local-variable-expected.html: Removed. * webgpu/whlsl/return-local-variable.html: Removed. * webgpu/whlsl/return-spec-tests-expected.txt: Removed. * webgpu/whlsl/return-spec-tests.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-10-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-10.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-11-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-11.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-12-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-12.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-13-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-13.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-14-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-14.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-15-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-15.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-16-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-16.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-17-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-17.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-18-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-18.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-19-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-19.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-2-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-2.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-20-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-20.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-21-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-21.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-22-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-22.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-23-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-23.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-24-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-24.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-25-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-25.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-26-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-26.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-27-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-27.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-3-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-3.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-4-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-4.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-5-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-5.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-6-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-6.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-7-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-7.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-8-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-8.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-9-expected.txt: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-9.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules-expected.html: Removed. * webgpu/whlsl/separate-shader-modules/separate-shader-modules.html: Removed. * webgpu/whlsl/setter-spec-tests-expected.txt: Removed. * webgpu/whlsl/setter-spec-tests.html: Removed. * webgpu/whlsl/simple-arrays-expected.txt: Removed. * webgpu/whlsl/simple-arrays.html: Removed. * webgpu/whlsl/simple-getter-setter-expected.txt: Removed. * webgpu/whlsl/simple-getter-setter.html: Removed. * webgpu/whlsl/simple-tests-expected.txt: Removed. * webgpu/whlsl/simple-tests.html: Removed. * webgpu/whlsl/simple-while-loop-expected.txt: Removed. * webgpu/whlsl/simple-while-loop.html: Removed. * webgpu/whlsl/smaller-than-32-bit-types-expected.txt: Removed. * webgpu/whlsl/smaller-than-32-bit-types.html: Removed. * webgpu/whlsl/sparse-bind-group-2-expected.txt: Removed. * webgpu/whlsl/sparse-bind-group-2.html: Removed. * webgpu/whlsl/sparse-bind-group-3-expected.txt: Removed. * webgpu/whlsl/sparse-bind-group-3.html: Removed. * webgpu/whlsl/sparse-bind-group-expected.txt: Removed. * webgpu/whlsl/sparse-bind-group.html: Removed. * webgpu/whlsl/store-null-expected.txt: Removed. * webgpu/whlsl/store-null.html: Removed. * webgpu/whlsl/store-to-property-updates-properly-expected.html: Removed. * webgpu/whlsl/store-to-property-updates-properly.html: Removed. * webgpu/whlsl/struct-expected.txt: Removed. * webgpu/whlsl/struct.html: Removed. * webgpu/whlsl/structure-field-enumeration-element-clash-expected.txt: Removed. * webgpu/whlsl/structure-field-enumeration-element-clash.html: Removed. * webgpu/whlsl/switch-expected.txt: Removed. * webgpu/whlsl/switch.html: Removed. * webgpu/whlsl/ternary-spec-test-expected.txt: Removed. * webgpu/whlsl/ternary-spec-test.html: Removed. * webgpu/whlsl/test-harness-test-expected.txt: Removed. * webgpu/whlsl/test-harness-test.html: Removed. * webgpu/whlsl/textures-getdimensions-expected.txt: Removed. * webgpu/whlsl/textures-getdimensions.html: Removed. * webgpu/whlsl/textures-load-expected.html: Removed. * webgpu/whlsl/textures-load.html: Removed. * webgpu/whlsl/textures-sample-bias-expected.html: Removed. * webgpu/whlsl/textures-sample-bias.html: Removed. * webgpu/whlsl/textures-sample-expected.html: Removed. * webgpu/whlsl/textures-sample-grad-expected.html: Removed. * webgpu/whlsl/textures-sample-grad.html: Removed. * webgpu/whlsl/textures-sample-level-expected.html: Removed. * webgpu/whlsl/textures-sample-level.html: Removed. * webgpu/whlsl/textures-sample.html: Removed. * webgpu/whlsl/two-dimensional-array-expected.txt: Removed. * webgpu/whlsl/two-dimensional-array.html: Removed. * webgpu/whlsl/type-mismatch-expected.txt: Removed. * webgpu/whlsl/type-mismatch.html: Removed. * webgpu/whlsl/uint-bitwise-expected.txt: Removed. * webgpu/whlsl/uint-bitwise.html: Removed. * webgpu/whlsl/use-undefined-variable-2-expected.txt: Removed. * webgpu/whlsl/use-undefined-variable-2.html: Removed. * webgpu/whlsl/use-undefined-variable-expected.txt: Removed. * webgpu/whlsl/use-undefined-variable.html: Removed. * webgpu/whlsl/variable-shadowing-expected.txt: Removed. * webgpu/whlsl/variable-shadowing.html: Removed. * webgpu/whlsl/vector-compare-expected.txt: Removed. * webgpu/whlsl/vector-compare.html: Removed. * webgpu/whlsl/vector-constructors-expected.txt: Removed. * webgpu/whlsl/vector-constructors.html: Removed. * webgpu/whlsl/vector-matrix-addition-subtraction-expected.txt: Removed. * webgpu/whlsl/vector-matrix-addition-subtraction.html: Removed. * webgpu/whlsl/vector-syntax-expected.txt: Removed. * webgpu/whlsl/vector-syntax.html: Removed. * webgpu/whlsl/void-variable-parameter-expected.txt: Removed. * webgpu/whlsl/void-variable-parameter.html: Removed. * webgpu/whlsl/while-loop-break-expected.html: Removed. * webgpu/whlsl/while-loop-break.html: Removed. * webgpu/whlsl/while-loop-continue-expected.html: Removed. * webgpu/whlsl/while-loop-continue.html: Removed. * webgpu/whlsl/whlsl-expected.html: Removed. * webgpu/whlsl/whlsl.html: Removed. * webgpu/whlsl/wrong-argument-length-expected.txt: Removed. * webgpu/whlsl/wrong-argument-length.html: Removed. * webgpu/whlsl/wrong-types-expected.txt: Removed. * webgpu/whlsl/wrong-types.html: Removed. * webgpu/whlsl/zero-initialize-values-2-expected.html: Removed. * webgpu/whlsl/zero-initialize-values-2.html: Removed. * webgpu/whlsl/zero-initialize-values-expected.html: Removed. * webgpu/whlsl/zero-initialize-values.html: Removed. Canonical link: https://commits.webkit.org/240102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-30 03:53:49 +00:00
2021-07-29 Myles C. Maxfield <mmaxfield@apple.com>
Stop building WebGPU and the WHLSL compiler to decrease binary size
https://bugs.webkit.org/show_bug.cgi?id=228179
Reviewed by Dean Jackson, Robin Morisset, and Devin Rousso.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2021-07-29 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Fix missing libgpg-error not added to link commands as libgcrypt dep after r280423
https://bugs.webkit.org/show_bug.cgi?id=228581
Reviewed by Carlos Alberto Lopez Perez.
* Source/cmake/FindLibGcrypt.cmake: Manually search for libgpg-error, which is not listed
in libgcrypt.pc as a dependency, add an imported target for it, and add it as a dependency
of LibGcrypt::LibGcrypt to avoid missing symbols at link time.
2021-07-29 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Use an imported target for the libgcrypt library
https://bugs.webkit.org/show_bug.cgi?id=228581
Reviewed by Michael Catanzaro.
* Source/cmake/FindLibGcrypt.cmake: Replaced find module by a new one which defines a
LibGcrypt::LibGcrypt imported target, using more modern CMake constructs.
* Source/cmake/OptionsGTK.cmake: Use the LibGcrypt::LibGcrypt imported target.
* Source/cmake/OptionsWPE.cmake: Ditto.
[WPE][GTK] SVN_REVISION drifting away if bots don't re-run cmake https://bugs.webkit.org/show_bug.cgi?id=228290 Patch by Philippe Normand <pnormand@igalia.com> on 2021-07-28 Reviewed by Michael Catanzaro. .: The CMake configure_file() is now used only tarball builds for files requiring information about the build revision. For developer builds a custom target now takes care of keeping those files up-to-date. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/JavaScriptCore: * PlatformGTK.cmake: Expand ${BUILD_REVISION} with apply-build-revision-to-files.py for non-tarball builds, or let CMake do it for tarball builds. * javascriptcoregtk.pc.in: Switch revision var to ${} format, so that we can choose to either let CMake expand it or do it ourselves. Source/WebKit: * PlatformGTK.cmake: Expand ${BUILD_REVISION} with apply-build-revision-to-files.py for non-tarball builds, or let CMake do it for tarball builds. * PlatformWPE.cmake: Ditto. * UIProcess/API/glib/WebKitProtocolHandler.cpp: (WebKit::WebKitProtocolHandler::handleGPU): Use generated BuildRevision.h header * gtk/webkit2gtk-web-extension.pc.in: Switch revision var to ${} format, so that we can choose to either let CMake expand it or do it ourselves. * gtk/webkit2gtk.pc.in: Ditto. Tools: * MiniBrowser/gtk/main.c: (main): Use generated BuildRevision.h header. * glib/apply-build-revision-to-files.py: Added. (main): Canonical link: https://commits.webkit.org/240026@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-28 15:01:50 +00:00
2021-07-28 Philippe Normand <pnormand@igalia.com>
[WPE][GTK] SVN_REVISION drifting away if bots don't re-run cmake
https://bugs.webkit.org/show_bug.cgi?id=228290
Reviewed by Michael Catanzaro.
The CMake configure_file() is now used only tarball builds for files requiring information
about the build revision. For developer builds a custom target now takes care of keeping
those files up-to-date.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-07-27 Zan Dobersek <zdobersek@igalia.com>
[CMake] Add WTF_CPU_RISCV64
https://bugs.webkit.org/show_bug.cgi?id=228322
Reviewed by Adrian Perez de Castro.
Define the WTF_CPU_RISCV64 CMake macro when the specified system
processor name begins with 'riscv64'. This should also cover potential
RISC-V processor names ingrained with specific ISA extensions that are
then detectable at compile-time through specified C macros.
For WTF_CPU_RISCV64, default to disabling JIT and FTL features at the
CMake level until they are properly supported. Defaulting to system
malloc can already be avoided, but CLoop is necessary for now.
* Source/cmake/WebKitCommon.cmake:
* Source/cmake/WebKitFeatures.cmake:
2021-07-25 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] USE_OPENGL_OR_ES should not be an automagic feature
https://bugs.webkit.org/show_bug.cgi?id=228266
Reviewed by Fujii Hironori.
The USE_OPENGL_OR_ES feature flag added in r271220 is currently automagic: that is, if
neither OpenGL nor OpenGL ES is available at build time, it gets silently disabled. This is
not OK because it makes it easy for distributors to accidentally fail to enable OpenGL
support. We should require manually disabling the feature with -DUSE_OPENGL_OR_ES=OFF in
order to build with OpenGL disabled.
* Source/cmake/OptionsGTK.cmake:
[GLib] Remove libportal dependency https://bugs.webkit.org/show_bug.cgi?id=228056 Reviewed by Carlos Garcia Campos. .: * Source/cmake/FindLIBPORTAL.cmake: Removed. * Source/cmake/GStreamerChecks.cmake: Source/WebCore: The pure-GDBus approach allows us to request the input device (Monitor or Window) depending on the CaptureDevice type and make the mouse cursor visible in the generated video stream. Also requesting capture support within computeCaptureDevices() was a bad idea because this being used by the enumerateMediaDevices API could potentially spam the user with permission popups. * platform/GStreamer.cmake: * platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp: * platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h: * platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp: Added. (WebCore::GStreamerDisplayCaptureDeviceManager::singleton): (WebCore::GStreamerDisplayCaptureDeviceManager::GStreamerDisplayCaptureDeviceManager): (WebCore::GStreamerDisplayCaptureDeviceManager::~GStreamerDisplayCaptureDeviceManager): (WebCore::GStreamerDisplayCaptureDeviceManager::computeCaptureDevices): (WebCore::GStreamerDisplayCaptureDeviceManager::createDisplayCaptureSource): (WebCore::GStreamerDisplayCaptureDeviceManager::stopSource): (WebCore::GStreamerDisplayCaptureDeviceManager::waitResponseSignal): * platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp: (WebCore::GStreamerVideoCaptureSource::createPipewireSource): (WebCore::GStreamerVideoCaptureSource::factory): (WebCore::GStreamerVideoCaptureSource::displayFactory): (WebCore::GStreamerVideoCaptureSource::GStreamerVideoCaptureSource): (WebCore::GStreamerVideoCaptureSource::stopProducingData): * platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h: * platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp: * platform/mediastream/gstreamer/GStreamerVideoCapturer.h: Source/WTF: * Scripts/Preferences/WebPreferencesExperimental.yaml: Enable screen capture on GStreamer ports. The PIPEWIRE ifdef is redundant. Canonical link: https://commits.webkit.org/239909@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-23 10:51:17 +00:00
2021-07-23 Philippe Normand <pnormand@igalia.com>
[GLib] Remove libportal dependency
https://bugs.webkit.org/show_bug.cgi?id=228056
Reviewed by Carlos Garcia Campos.
* Source/cmake/FindLIBPORTAL.cmake: Removed.
* Source/cmake/GStreamerChecks.cmake:
[GTK][WPE] Support color-schemes CSS property https://bugs.webkit.org/show_bug.cgi?id=208204 Patch by Alexander Mikhaylenko <alexm@gnome.org> on 2021-07-16 Reviewed by Adrian Perez de Castro. .: * Source/cmake/OptionsGTK.cmake: Enable HAVE_OS_DARK_MODE_SUPPORT. * Source/cmake/OptionsWPE.cmake: Enable ENABLE_DARK_MODE_CSS and HAVE_OS_DARK_MODE_SUPPORT. Source/WebCore: Last time we tried enabling dark mode, we broke many webpages since we couldn't have diferent controls, and more importantly, different system colors and defaults for pages that do and don't support dark mode. Now that we don't use GTK for this, we can try again. This time, use hardcoded system colors and return different colors depending on StyleColor::Options::UseDarkAppearance. To avoid dark-on-dark text on entries, we also need to enable HAVE_OS_DARK_MODE_SUPPORT for GTK and make sure it's passed to use agent CSS. And since Adwaita controls are also used in WPE, we need to enable it for WPE as well, and since WPE didn't have ENABLE_DARK_MODE_CSS, flip that as well, all in lockstep. No new tests, reenabled the existing css-dark-mode tests. * PlatformGTK.cmake: * PlatformWPE.cmake: Pass HAVE_OS_DARK_MODE_SUPPORT to user agent CSS. * css/CSSValueKeywords.in: Expose -webkit-control-background for anything with HAVE_OS_DARK_MODE_SUPPORT. * css/themeAdwaita.css: (input[type="search"]::-webkit-search-results-button,): (input[type="search"]::-webkit-search-cancel-button): (body[dir="rtl"] input[type="search"]::-webkit-search-cancel-button): (input[type="search"]::-webkit-search-results-button:hover,): (input[type="search"]::-webkit-search-cancel-button:hover): Deleted. Use mask images instead of content so we can recolor them. Change color on hover as opacity and inherit entry's color otherwise to make sure it's legible with dark appearance. * page/FrameView.cpp: (WebCore::FrameView::updateBackgroundRecursively): Use CSSValueWindow for background instead of CSSValueAppleSystemControlBackground when the latter is not available. * platform/adwaita/ThemeAdwaita.cpp: (WebCore::ThemeAdwaita::focusColor): (WebCore::ThemeAdwaita::paintFocus): (WebCore::ThemeAdwaita::paintArrow): (WebCore::ThemeAdwaita::paint): (WebCore::ThemeAdwaita::paintCheckbox): (WebCore::ThemeAdwaita::paintRadio): (WebCore::ThemeAdwaita::paintButton): (WebCore::ThemeAdwaita::paintSpinButton): * platform/adwaita/ThemeAdwaita.h: * rendering/RenderThemeAdwaita.cpp: (WebCore::RenderThemeAdwaita::platformFocusRingColor const): (WebCore::RenderThemeAdwaita::systemColor const): (WebCore::RenderThemeAdwaita::paintTextField): (WebCore::RenderThemeAdwaita::adjustTextFieldStyle const): (WebCore::RenderThemeAdwaita::adjustTextAreaStyle const): (WebCore::RenderThemeAdwaita::adjustSearchFieldStyle const): Add a border radius to the default style, so the background doesn't bleed through the corners. (WebCore::RenderThemeAdwaita::paintMenuList): (WebCore::RenderThemeAdwaita::paintProgressBar): (WebCore::RenderThemeAdwaita::paintSliderTrack): (WebCore::RenderThemeAdwaita::paintSliderThumb): * rendering/RenderThemeAdwaita.h: Source/WTF: * wtf/PlatformHave.h: Enable HAVE_OS_DARK_MODE_SUPPORT for GTK and WPE. LayoutTests: Reenable css-dark-mode tests for GTK as they pass now. Enable the same tests in WPE. Keep css-dark-mode/older-syntax/supported-color-schemes-css.html as [ Pass Crash ] for now, according to https://bugs.webkit.org/show_bug.cgi?id=202229#c2 * platform/gtk/TestExpectations: * platform/gtk/css-dark-mode/color-scheme-css-expected.txt: Removed. * platform/gtk/css-dark-mode/color-scheme-meta-expected.txt: Removed. * platform/gtk/css-dark-mode/color-scheme-priority-expected.txt: Removed. * platform/gtk/css-dark-mode/default-colors-expected.txt: Removed. * platform/gtk/css-dark-mode/older-syntax/supported-color-schemes-css-expected.txt: Removed. * platform/gtk/css-dark-mode/older-syntax/supported-color-schemes-meta-expected.txt: Removed. * platform/wpe/TestExpectations: Canonical link: https://commits.webkit.org/239730@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279987 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-16 16:39:15 +00:00
2021-07-16 Alexander Mikhaylenko <alexm@gnome.org>
[GTK][WPE] Support color-schemes CSS property
https://bugs.webkit.org/show_bug.cgi?id=208204
Reviewed by Adrian Perez de Castro.
* Source/cmake/OptionsGTK.cmake:
Enable HAVE_OS_DARK_MODE_SUPPORT.
* Source/cmake/OptionsWPE.cmake:
Enable ENABLE_DARK_MODE_CSS and HAVE_OS_DARK_MODE_SUPPORT.
2021-07-15 Philippe Normand <pnormand@igalia.com>
Unreviewed, CMake fix-up after r279940
* Source/cmake/FindLIBPORTAL.cmake: Fix libportal detection.
[GStreamer][Pipewire] Implement getDisplayMedia() backend https://bugs.webkit.org/show_bug.cgi?id=210926 Reviewed by Xabier Rodriguez-Calvar. .: * Source/cmake/FindLIBPORTAL.cmake: Added. * Source/cmake/GStreamerChecks.cmake: Enable Pipewire support if libportal was found. Source/WebCore: Display capture is now supported by GStreamer ports. When requested, the capture device manager queries the host through the libportal API. The user is presented with a prompt allowing to select either a monitor or an application window. Once selected, the manager creates the associated CaptureDevice, passing the pipewire file descriptor along. The existing GStreamer video capture source infrastructure is reused, leveraging the GStreamer pipewiresrc element to generate a live video stream of the display device. As display capture devices need to respect the aspect-ratio of the video frame, taking into account max-{widther,height}, some code was reused from the Cocoa display capture code and placed in RealtimeVideoCaptureSource as ensureIntrinsicSizeMaintainsAspectRatio(). Unfortunately this aspect-ratio enforcing feature is currently used only for mock capture sources. The GStreamer pipewiresrc doesn't support caps renegotiation well yet, so we can't comply with the aspect-ratio enforcing, for the time being. This patch is covered by newly unskipped layout tests and API tests. * platform/GStreamer.cmake: * platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::setIntrinsicSize): (WebCore::RealtimeMediaSource::hashedId const): * platform/mediastream/RealtimeMediaSource.h: * platform/mediastream/RealtimeVideoCaptureSource.cpp: (WebCore::RealtimeVideoCaptureSource::ensureIntrinsicSizeMaintainsAspectRatio): * platform/mediastream/RealtimeVideoCaptureSource.h: * platform/mediastream/RealtimeVideoSource.cpp: (WebCore::RealtimeVideoSource::sourceSettingsChanged): * platform/mediastream/gstreamer/GStreamerAudioCapturer.cpp: (WebCore::GStreamerAudioCapturer::GStreamerAudioCapturer): * platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp: (WebCore::GStreamerDisplayCaptureDeviceManager::GStreamerDisplayCaptureDeviceManager): (WebCore::GStreamerDisplayCaptureDeviceManager::~GStreamerDisplayCaptureDeviceManager): (WebCore::GStreamerDisplayCaptureDeviceManager::computeCaptureDevices): (WebCore::GStreamerDisplayCaptureDeviceManager::setSession): (WebCore::GStreamerDisplayCaptureDeviceManager::sessionStarted): (WebCore::GStreamerDisplayCaptureDeviceManager::notifyClient): (WebCore::GStreamerDisplayCaptureDeviceManager::sessionWasClosed): * platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h: * platform/mediastream/gstreamer/GStreamerCapturer.cpp: (WebCore::GStreamerCapturer::GStreamerCapturer): (WebCore::GStreamerCapturer::Observer::~Observer): (WebCore::GStreamerCapturer::addObserver): (WebCore::GStreamerCapturer::removeObserver): (WebCore::GStreamerCapturer::forEachObserver): (WebCore::GStreamerCapturer::createSource): * platform/mediastream/gstreamer/GStreamerCapturer.h: (WebCore::GStreamerCapturer::Observer::sourceCapsChanged): (WebCore::GStreamerCapturer::deviceType const): * platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp: (WebCore::GStreamerVideoCaptureSource::create): (WebCore::GStreamerVideoCaptureSource::createPipewireSource): (WebCore::GStreamerVideoCaptureSource::GStreamerVideoCaptureSource): (WebCore::m_deviceType): (WebCore::GStreamerVideoCaptureSource::~GStreamerVideoCaptureSource): (WebCore::GStreamerVideoCaptureSource::sourceCapsChanged): (WebCore::GStreamerVideoCaptureSource::startProducingData): (WebCore::GStreamerVideoCaptureSource::stopProducingData): (WebCore::m_capturer): Deleted. * platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h: * platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp: (WebCore::initializeDebugCategory): (WebCore::GStreamerVideoCapturer::GStreamerVideoCapturer): (WebCore::GStreamerVideoCapturer::createSource): (WebCore::GStreamerVideoCapturer::setPipewireFD): (WebCore::GStreamerVideoCapturer::setSize): (WebCore::GStreamerVideoCapturer::setFrameRate): * platform/mediastream/gstreamer/GStreamerVideoCapturer.h: * platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp: (WebCore::MockRealtimeVideoSource::create): (WebCore::MockRealtimeVideoSourceGStreamer::createMockDisplayCaptureSource): * platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.h: * platform/mock/MockRealtimeMediaSourceCenter.cpp: * platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::capabilities): (WebCore::MockRealtimeVideoSource::generateFrame): * platform/mock/MockRealtimeVideoSource.h: Source/WTF: * Scripts/Preferences/WebPreferencesExperimental.yaml: Enable screen-capture if libportal was found. LayoutTests: * platform/glib/TestExpectations: Unskip now-passing getDisplayMedia tests. Canonical link: https://commits.webkit.org/239684@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-15 11:48:58 +00:00
2021-07-15 Philippe Normand <pnormand@igalia.com>
[GStreamer][Pipewire] Implement getDisplayMedia() backend
https://bugs.webkit.org/show_bug.cgi?id=210926
Reviewed by Xabier Rodriguez-Calvar.
* Source/cmake/FindLIBPORTAL.cmake: Added.
* Source/cmake/GStreamerChecks.cmake: Enable Pipewire support if libportal was found.
2021-07-13 Michael Catanzaro <mcatanzaro@gnome.org>
Remove USE_64KB_PAGE_BLOCK
https://bugs.webkit.org/show_bug.cgi?id=227905
Reviewed by Yusuke Suzuki.
I added the USE_64KB_PAGE_BLOCK build option in bug #217989 for use by RHEL. But going
forward, I don't need it anymore, and can maintain it downstream where it is needed. (This
option might also be useful to SUSE, but they already don't use it, so won't miss it.)
I've seen users who don't understand the consequences of this option enabling it on x86_64,
even though there are serious negative consequences and zero benefits to using it. So let's
get rid of it.
* Source/cmake/WebKitFeatures.cmake:
[GTK][WPE] Expose support for client certificate auth https://bugs.webkit.org/show_bug.cgi?id=200805 Reviewed by Michael Catanzaro. .: Bump libsoup3 required version. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: * platform/Soup.cmake: * platform/SourcesSoup.txt: * platform/network/Credential.h: * platform/network/ProtectionSpaceBase.cpp: (WebCore::ProtectionSpaceBase::isPasswordBased const): * platform/network/ProtectionSpaceBase.h: * platform/network/soup/AuthenticationChallenge.h: * platform/network/soup/AuthenticationChallengeSoup.cpp: (WebCore::protectionSpaceForClientCertificate): (WebCore::AuthenticationChallenge::AuthenticationChallenge): (WebCore::protectionSpaceForClientCertificatePassword): (WebCore::AuthenticationChallenge::platformCompare): * platform/network/soup/CertificateInfoSoup.cpp: (WebCore::CertificateInfo::isolatedCopy const): * platform/network/soup/CredentialSoup.cpp: Added. (WebCore::Credential::Credential): (WebCore::m_certificate): (WebCore::Credential::isEmpty const): (WebCore::Credential::platformCompare): * platform/network/soup/CredentialSoup.h: Added. (WebCore::Credential::Credential): (WebCore::Credential::encodingRequiresPlatformData const): (WebCore::Credential::certificate const): * platform/network/soup/NetworkStorageSessionSoup.cpp: (WebCore::authTypeFromProtectionSpaceAuthenticationScheme): Source/WebKit: Add new API to handle certificate and pin certificate authentication requests. * NetworkProcess/soup/NetworkDataTaskSoup.cpp: (WebKit::NetworkDataTaskSoup::createRequest): (WebKit::NetworkDataTaskSoup::completeAuthentication): (WebKit::NetworkDataTaskSoup::cancelAuthentication): (WebKit::NetworkDataTaskSoup::authenticate): (WebKit::NetworkDataTaskSoup::continueAuthenticate): (WebKit::NetworkDataTaskSoup::requestCertificateCallback): (WebKit::NetworkDataTaskSoup::requestCertificatePasswordCallback): * NetworkProcess/soup/NetworkDataTaskSoup.h: * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<AuthenticationChallenge>::encode): (IPC::ArgumentCoder<AuthenticationChallenge>::decode): * Shared/glib/ArgumentCodersGLib.cpp: (IPC::ArgumentCoder<GRefPtr<GTlsCertificate>>::encode): (IPC::ArgumentCoder<GRefPtr<GTlsCertificate>>::decode): * Shared/soup/WebCoreArgumentCodersSoup.cpp: (IPC::ArgumentCoder<Credential>::encodePlatformData): (IPC::ArgumentCoder<Credential>::decodePlatformData): * UIProcess/API/glib/WebKitAuthenticationRequest.cpp: (webkit_authentication_request_get_certificate_pin_flags): * UIProcess/API/glib/WebKitCredential.cpp: (webkit_credential_new_for_certificate_pin): (webkit_credential_new_for_certificate): (webkit_credential_get_certificate): * UIProcess/API/gtk/WebKitAuthenticationRequest.h: * UIProcess/API/gtk/WebKitCredential.h: * UIProcess/API/gtk/WebKitWebViewGtk.cpp: (webkitWebViewAuthenticate): * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: * UIProcess/API/wpe/WebKitAuthenticationRequest.h: * UIProcess/API/wpe/WebKitCredential.h: * UIProcess/API/wpe/docs/wpe-1.0-sections.txt: Tools: Add a simple implementation in MiniBrowser using a file chooser to ask for the certificate from a file and unit tests for the client certificate request. Unfortunately we can't easily test pin certificates. * MiniBrowser/gtk/BrowserTab.c: (certificateDialogResponse): (webViewAuthenticate): (browserTabConstructed): * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: (ClientSideCertificateTest::acceptCertificateCallback): (ClientSideCertificateTest::requestStartedCallback): (ClientSideCertificateTest::authenticateCallback): (ClientSideCertificateTest::ClientSideCertificateTest): (ClientSideCertificateTest::~ClientSideCertificateTest): (ClientSideCertificateTest::authenticate): (ClientSideCertificateTest::acceptCertificate): (ClientSideCertificateTest::waitForAuthenticationRequest): (testClientSideCertificate): (beforeAll): * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h: (WebKitTestServer::soupServer const): Canonical link: https://commits.webkit.org/239625@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-13 14:19:38 +00:00
2021-07-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Expose support for client certificate auth
https://bugs.webkit.org/show_bug.cgi?id=200805
Reviewed by Michael Catanzaro.
Bump libsoup3 required version.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-06-24 Zan Dobersek <zdobersek@igalia.com>
REGRESSION(r236846): WPE shouldn't depend on OpenGL ES 3
https://bugs.webkit.org/show_bug.cgi?id=227289
Reviewed by Adrian Perez de Castro.
* Source/cmake/OptionsWPE.cmake: Drop the OpenGLES2 package search.
None of the possible versions are meaningful because libepoxy is used
as the underlying GL relay.
[css-scroll-snap] Remove ENABLE_SCROLL_SNAP compile-time option https://bugs.webkit.org/show_bug.cgi?id=227067 Reviewed by Simon Fraser. Remove compile-time ENABLE_SCROLL_SNAP configuration option. .: * Source/cmake/WebKitFeatures.cmake: Remove the flag from the CMake configuration. Source/WebCore: No new tests. This should not change behavior in any way. * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSPrimitiveValueMappings.h: * css/CSSProperties.json: * css/CSSValueKeywords.in: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): * page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEventInAppropriateEnclosingBox): * page/FrameView.cpp: (WebCore::FrameView::updateScrollingCoordinatorScrollSnapProperties const): (WebCore::FrameView::performPostLayoutTasks): * page/FrameView.h: * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::processWheelEventForScrollSnap): * page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::setStateScrollingNodeSnapOffsetsAsFloat): (WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry): (WebCore::AsyncScrollingCoordinator::updateScrollSnapPropertiesWithFrameView): * page/scrolling/AsyncScrollingCoordinator.h: * page/scrolling/ScrollSnapOffsetsInfo.cpp: * page/scrolling/ScrollSnapOffsetsInfo.h: * page/scrolling/ScrollingMomentumCalculator.cpp: * page/scrolling/ScrollingMomentumCalculator.h: * page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::applicableProperties const): (WebCore::ScrollingStateScrollingNode::setCurrentVerticalSnapPointIndex): (WebCore::ScrollingStateScrollingNode::dumpProperties const): * page/scrolling/ScrollingStateScrollingNode.h: * page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren): (WebCore::ScrollingTreeScrollingNode::dumpProperties const): (WebCore::ScrollingTreeScrollingNode::setCurrentVerticalSnapPointIndex): * page/scrolling/ScrollingTreeScrollingNode.h: * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm: (WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): * page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h: * page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode): (WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent): (WebCore::ScrollingTreeScrollingNodeDelegateMac::viewportSize const): * page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp: (WebCore::ScrollingTreeScrollingNodeDelegateNicosia::handleWheelEvent): * platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::ScrollAnimator): (WebCore::ScrollAnimator::~ScrollAnimator): (WebCore::ScrollAnimator::scroll): (WebCore::ScrollAnimator::resnapAfterLayout): (WebCore::ScrollAnimator::handleWheelEvent): (WebCore::ScrollAnimator::updateActiveScrollSnapIndexForOffset): (WebCore::ScrollAnimator::notifyPositionChanged): (WebCore::ScrollAnimator::pageScaleFactor const): (WebCore::ScrollAnimator::scrollControllerAnimationTimerFired): (WebCore::ScrollAnimator::adjustScrollOffsetForSnappingIfNeeded): * platform/ScrollAnimator.h: * platform/ScrollController.cpp: (WebCore::ScrollController::usesScrollSnap const): (WebCore::ScrollController::resnapAfterLayout): * platform/ScrollController.h: * platform/ScrollSnapAnimatorState.cpp: * platform/ScrollSnapAnimatorState.h: * platform/ScrollableArea.cpp: (WebCore::ScrollableArea::doPostThumbMoveSnapping): * platform/ScrollableArea.h: * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::isScrollSnapInProgress const): (WebCore::ScrollAnimatorMac::didBeginScrollGesture const): (WebCore::ScrollAnimatorMac::didEndScrollGesture const): (WebCore::gestureShouldBeginSnap): (WebCore::ScrollAnimatorMac::allowsVerticalStretching const): (WebCore::ScrollAnimatorMac::allowsHorizontalStretching const): * platform/mac/ScrollController.mm: (WebCore::ScrollController::stopAllTimers): (WebCore::ScrollController::handleWheelEvent): (WebCore::ScrollController::isScrollSnapInProgress const): (WebCore::ScrollController::updateScrollSnapAnimatingState): * rendering/RenderBox.cpp: (WebCore::RenderBox::willBeDestroyed): (WebCore::RenderBox::styleWillChange): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateScrollSnapPropertiesWithFrameView const): * rendering/RenderLayerCompositor.h: * rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::styleDidChange): * rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::updateScrollInfoAfterLayout): (WebCore::RenderLayerScrollableArea::isScrollSnapInProgress const): * rendering/RenderLayerScrollableArea.h: * rendering/RenderView.cpp: (WebCore::RenderView::unregisterBoxWithScrollSnapPositions): * rendering/RenderView.h: * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresLayout const): (WebCore::RenderStyle::setScrollPaddingRight): (WebCore::RenderStyle::hasSnapPosition const): * rendering/style/RenderStyle.h: * rendering/style/RenderStyleConstants.cpp: (WebCore::operator<<): * rendering/style/RenderStyleConstants.h: * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator== const): * rendering/style/StyleRareNonInheritedData.h: * rendering/style/StyleScrollSnapPoints.h: * style/StyleBuilderConverter.h: * testing/Internals.cpp: (WebCore::Internals::isScrollSnapInProgress): * testing/Internals.h: * testing/Internals.idl: Source/WebKit: * Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp: (ArgumentCoder<ScrollingStateScrollingNode>::encode): (ArgumentCoder<ScrollingStateScrollingNode>::decode): (WebKit::dump): * UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView scrollViewWillBeginDragging:]): (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): (-[WKWebView _updateVisibleContentRects]): * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::resetStateAfterProcessExited): * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm: * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): (WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren): * WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h: Source/WTF: * wtf/PlatformEnable.h: Remove the global feature definition. Tools: * Scripts/webkitperl/FeatureList.pm: Remove the option from the list of features. Canonical link: https://commits.webkit.org/239104@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-06-24 10:49:27 +00:00
2021-06-24 Martin Robinson <mrobinson@webkit.org>
[css-scroll-snap] Remove ENABLE_SCROLL_SNAP compile-time option
https://bugs.webkit.org/show_bug.cgi?id=227067
Reviewed by Simon Fraser.
Remove compile-time ENABLE_SCROLL_SNAP configuration option.
* Source/cmake/WebKitFeatures.cmake: Remove the flag from the CMake configuration.
2021-06-21 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] Turn ENABLE_SHAREABLE_RESOURCE on
https://bugs.webkit.org/show_bug.cgi?id=227011
Reviewed by Don Olmstead.
* Source/cmake/OptionsWin.cmake: Turned ENABLE_SHAREABLE_RESOURCE on for WinCairo port.
2021-06-18 Sergio Villar Senin <svillar@igalia.com>
Ignore clangd's directory with index files
https://bugs.webkit.org/show_bug.cgi?id=227162
Reviewed by Žan Doberšek.
clangd stores its indexes in a .cache directory. Let git ignore it.
* .gitignore:
2021-06-11 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.33.2 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2021-06-10 Carlos Alberto Lopez Perez <clopez@igalia.com>
[CMake][GTK][WPE] Improve error message when libsoup3 is not found
https://bugs.webkit.org/show_bug.cgi?id=226905
Reviewed by Adrian Perez de Castro.
When libsoup 3 is not found be more clear about the problem and
offer possible workaround to continue the build.
* Source/cmake/FindLibSoup.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-06-10 Philippe Normand <pnormand@igalia.com>
[WPE] Enable Cog for developer builds
https://bugs.webkit.org/show_bug.cgi?id=224360
Reviewed by Adrian Perez de Castro.
Cog would be preferred over MiniBrowser for WPE developer builds because it provides a nicer
user experience, while keeping the same spirit as MiniBrowser. Pass `-DENABLE_COG=NO` to
CMake to disable it and fall back to MiniBrowser.
* Source/cmake/OptionsWPE.cmake:
2021-06-08 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.33.2 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2021-06-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Bump libsoup3 version to 2.99.8
https://bugs.webkit.org/show_bug.cgi?id=226713
Reviewed by Philippe Normand.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-06-04 Per Arne Vollan <pvollan@apple.com>
[AppleWin] JSC build failure
https://bugs.webkit.org/show_bug.cgi?id=226659
<rdar://78844190>
Reviewed by Brent Fulgham.
WTF scripts location is not being correctly identified.
* Source/cmake/OptionsAppleWin.cmake:
2021-06-04 Martin Robinson <mrobinson@webkit.org>
[Win] Implement scroll-snap-points on Windows
https://bugs.webkit.org/show_bug.cgi?id=142503
<rdar://problem/20093603>
Reviewed by Simon Fraser.
* Source/cmake/OptionsWin.cmake: Stop disabling scroll-snap for Apple Win port.
2021-05-27 Don Olmstead <don.olmstead@sony.com>
[CMake] Add check for timingsafe_bcmp
https://bugs.webkit.org/show_bug.cgi?id=226347
Reviewed by Chris Dumez.
Adds a symbol check for timingsafe_bcmp and sets HAVE_TIMINGSAFE_BCMP accordingly in the
cmakeconfig.h.
* Source/cmake/OptionsCommon.cmake:
2021-05-27 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.33.1 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2021-05-27 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. [WPE] Bump version numbers
* Source/cmake/OptionsWPE.cmake:
2021-05-26 Don Olmstead <don.olmstead@sony.com>
[CMake] Support USE_ANGLE_EGL on additional platforms
https://bugs.webkit.org/show_bug.cgi?id=224888
<rdar://problem/77280211>
Reviewed by Ken Russell.
USE_ANGLE_EGL is for platforms that want to use ANGLE as the sole OpenGL ES implementation
within WebKit. This setting is applicable to Mac and Windows platforms. USE_ANGLE_WEBGL is
just for platforms that want to use ANGLE for WebGL 2.0 support only. Any other uses of
OpenGL should go through the system OpenGL (desktop or embedded). This setting applies to
GTK.
The platform options were modified to match this.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
[PlayStation] Implement FileSystem without std::filesystem https://bugs.webkit.org/show_bug.cgi?id=226197 Reviewed by Chris Dumez. .: Expose the result of the check for <filesystem> support as HAVE_STD_FILESYSTEM. * Source/cmake/OptionsCommon.cmake: Source/WTF: The PlayStation 4 doesn't have support in its SDK for std::filesystem so backport the functions jettisoned from FileSystemPOSIX and add them to a FileSystemPlayStation.cpp. The ordering matches the contents of FileSystem.cpp. Most of the functions ported to std::filesystem were just moved over as is from the commit prior to r276879. Minor changes to the function signatures made when required. The fileTypePotentiallyFollowingSymLinks function was created from the previous behavior of fileMetadataUsingFunction and toFileMetataType. The hardLinkCount was created from looking at the behavior hardLinkCount replaced in r277446. * wtf/FileSystem.cpp: * wtf/PlatformHave.h: * wtf/PlatformPlayStation.cmake: * wtf/StdFilesystem.h: * wtf/playstation/FileSystemPlayStation.cpp: Added. (WTF::FileSystemImpl::fileTypePotentiallyFollowingSymLinks): (WTF::FileSystemImpl::fileExists): (WTF::FileSystemImpl::deleteFile): (WTF::FileSystemImpl::deleteEmptyDirectory): (WTF::FileSystemImpl::moveFile): (WTF::FileSystemImpl::fileSize): (WTF::FileSystemImpl::makeAllDirectories): (WTF::FileSystemImpl::volumeFreeSpace): (WTF::FileSystemImpl::createSymbolicLink): (WTF::FileSystemImpl::hardLink): (WTF::FileSystemImpl::hardLinkOrCopyFile): (WTF::FileSystemImpl::hardLinkCount): (WTF::FileSystemImpl::deleteNonEmptyDirectory): (WTF::FileSystemImpl::fileModificationTime): (WTF::FileSystemImpl::updateFileModificationTime): (WTF::FileSystemImpl::isHiddenFile): (WTF::FileSystemImpl::fileType): (WTF::FileSystemImpl::fileTypeFollowingSymlinks): (WTF::FileSystemImpl::pathFileName): (WTF::FileSystemImpl::parentPath): (WTF::FileSystemImpl::realPath): (WTF::FileSystemImpl::pathByAppendingComponent): (WTF::FileSystemImpl::pathByAppendingComponents): (WTF::FileSystemImpl::listDirectory): Canonical link: https://commits.webkit.org/238124@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-25 17:34:01 +00:00
2021-05-25 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Implement FileSystem without std::filesystem
https://bugs.webkit.org/show_bug.cgi?id=226197
Reviewed by Chris Dumez.
Expose the result of the check for <filesystem> support as HAVE_STD_FILESYSTEM.
* Source/cmake/OptionsCommon.cmake:
2021-05-18 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Fix PlayStation port
https://bugs.webkit.org/show_bug.cgi?id=225913
Reviewed by Don Olmstead.
Fix PlayStation port
* Source/cmake/OptionsPlayStation.cmake: Rename
PLAYSTATION_COPY_SHARED_LIBRARIES to PLAYSTATION_COPY_REQUIREMENTS and
let it copy more general files.
Touch ebootparam.ini by the playstation_tools_copy custom_target.
Allow conditionally enabling OffscreenCanvas only for non-worker contexts https://bugs.webkit.org/show_bug.cgi?id=225845 Reviewed by Darin Adler. .: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/WebKitFeatures.cmake: Match current behavior of ENABLE_OFFSCREEN_CANVAS for ENABLE_OFFSCREEN_CANVAS_IN_WORKERS. Source/WebCore: Enable both compile time and runtime conditional enablement of just the non-worker OffscreenCanvas code path. To make this work a new IDL extended attribute was needed, ConditionalForWorker=FOO, which allows specifying an additional macro to check for whether the constructor should be exposed on workers. Ideally this would be generic for any context type, but at the moment, the limited syntax of extended attributes makes that hard. If generalization is needed (or a similar syntax is needed for something else) this can be revisited. To support runtime conditional exposure, the existing EnabledForContext, which calls a static function on the implementation class passing the ScriptExecutationContext is used. If conditional per context type ever becomes a common thing, we should add another extended attribute (and add syntax to support like above) that allows specifying both the context type and the setting name. Other than that, uses of ENABLE_OFFSCREEN_CANVAS that guarded worker specific functionality were replaced by ENABLE_OFFSCREEN_CANVAS_IN_WORKERS. * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readTerminal): (WebCore::SerializedScriptValue::SerializedScriptValue): (WebCore::SerializedScriptValue::computeMemoryCost const): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: (WebCore::SerializedScriptValue::SerializedScriptValue): * bindings/scripts/IDLAttributes.json: * bindings/scripts/preprocess-idls.pl: (GenerateConstructorAttributes): * html/HTMLCanvasElement.idl: * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::enabledForContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/OffscreenCanvasRenderingContext2D.cpp: (WebCore::OffscreenCanvasRenderingContext2D::enabledForContext): * html/canvas/OffscreenCanvasRenderingContext2D.h: * html/canvas/OffscreenCanvasRenderingContext2D.idl: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setOffscreenCanvasInWorkersEnabled): (WebCore::RuntimeEnabledFeatures::offscreenCanvasInWorkersEnabled const): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/WorkerAnimationController.cpp: * workers/WorkerAnimationController.h: Source/WTF: * Scripts/Preferences/WebPreferencesInternal.yaml: Add new OffscreenCanvasInWorkersEnabled preference. * wtf/PlatformEnable.h: Add new ENABLE_OFFSCREEN_CANVAS_IN_WORKERS macro. Tools: * Scripts/webkitperl/FeatureList.pm: * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Match current behavior of ENABLE_OFFSCREEN_CANVAS and OffscreenCanvasEnabled for ENABLE_OFFSCREEN_CANVAS_IN_WORKERS and OffscreenCanvasInWorkersEnabled. Canonical link: https://commits.webkit.org/237788@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-16 03:14:57 +00:00
2021-05-15 Sam Weinig <weinig@apple.com>
Allow conditionally enabling OffscreenCanvas only for non-worker contexts
https://bugs.webkit.org/show_bug.cgi?id=225845
Reviewed by Darin Adler.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:
Match current behavior of ENABLE_OFFSCREEN_CANVAS for ENABLE_OFFSCREEN_CANVAS_IN_WORKERS.
2021-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.33.1 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2021-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. [GTK] Fix make distcheck
Use WEBKITGTK_API_DOC_VERSION instead of WEBKITGTK_API_VERSION or the documentation install rules.
* Source/PlatformGTK.cmake:
2021-05-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Bump libsoup3 version to 2.99.5
https://bugs.webkit.org/show_bug.cgi?id=225506
Reviewed by Philippe Normand.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[OpenSSL] Implement CryptoAlgorithmRSA* https://bugs.webkit.org/show_bug.cgi?id=225294 Reviewed by Don Olmstead. Implement RSA for OpenSSL. Implement CryptoAlgorithmRSA_OAEP, CryptoAlgorithmRSA_PSS, CryptoAlgorithmRSAES_PKCS1_v1_5, CryptoAlgorithmRSASA_PKCS1_v1_5, and CryptoKeyRSA for OpenSSL. .: Note that if such OpenSSL version that does not support RSA_OAEP or RSA_PSS, the WebCrypto API for those algorithm will return a NotSupportedError. * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWinCairo.cmake: Source/WebCore: Note that if such OpenSSL version that does not support RSA_OAEP or RSA_PSS, the WebCrypto API for those algorithm will return a NotSupportedError. Also note that OpenSSL accepts RSA_PSS salt length longer than the hash length. This makes the crypto/subtle/rsa-pss-import-key-sign-large-salt.html test fail. Test: Existing crypto/subtle tests * crypto/keys/CryptoKeyRSA.h: Use the EVP_PKEY struct for the platform key. * crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp: Move HMACAlgorithm() to OpenSSLUtilities as DigestAlgorithm(). * crypto/openssl/CryptoAlgorithmRSAES_PKCS1_v1_5OpenSSL.cpp: (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt): Implemented. (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt): Implemented. * crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp: (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): Implemented. (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Implemented. * crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp: (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): Implemented. (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt): Implemented. * crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp: (WebCore::CryptoAlgorithmRSA_PSS::platformSign): Implemented. (WebCore::CryptoAlgorithmRSA_PSS::platformVerify): Implemented. * crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp: (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Registered RSAES_PKCS1_v_1_5, RSASSA_PKCS1_v1_5, RSA_OAEP, and RSA_PSS. * crypto/openssl/CryptoKeyRSAOpenSSL.cpp: (WebCore::getRSAModulusLength): (WebCore::convertToBytes): (WebCore::convertToBigNumber): (WebCore::CryptoKeyRSA::create): (WebCore::CryptoKeyRSA::CryptoKeyRSA): (WebCore::CryptoKeyRSA::isRestrictedToHash const): (WebCore::CryptoKeyRSA::keySizeInBits const): (WebCore::exponentVectorToUInt32): (WebCore::CryptoKeyRSA::generatePair): (WebCore::CryptoKeyRSA::importSpki): (WebCore::CryptoKeyRSA::importPkcs8): (WebCore::CryptoKeyRSA::exportSpki const): (WebCore::CryptoKeyRSA::exportPkcs8 const): (WebCore::CryptoKeyRSA::algorithm const): (WebCore::CryptoKeyRSA::exportData const): * crypto/openssl/OpenSSLCryptoUniquePtr.h: (WebCore::OpenSSLCryptoPtrDeleter<EVP_PKEY_CTX>::operator() const): Added. (WebCore::OpenSSLCryptoPtrDeleter<RSA>::operator() const): Added. (WebCore::OpenSSLCryptoPtrDeleter<PKCS8_PRIV_KEY_INFO>::operator() const): Added. (WebCore::OpenSSLCryptoPtrDeleter<BIGNUM>::operator() const): Added. (WebCore::OpenSSLCryptoPtrDeleter<BN_CTX>::operator() const): Added. * crypto/openssl/OpenSSLUtilities.cpp: (WebCore::digestAlgorithm): Added. (WebCore::calculateDigest): Added. * crypto/openssl/OpenSSLUtilities.h: * platform/OpenSSL.cmake: Source/WTF: Note that if such OpenSSL version that does not support RSA_OAEP or RSA_PSS, the WebCrypto API for those algorithm will return a NotSupportedError. * wtf/Platform.h: Set HAVE_RSA_PSS for USE(OPENSSL) LayoutTests: Add wincairo platform expectations for rsa-generate/import-key-malformed-parameters, modifying RSA-PSS related results from NotSupported to appropriate errors. * platform/wincairo/TestExpectations: Unskip tests that are now supported. * platform/wincairo/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt: Added. * platform/wincairo/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt: Added. Canonical link: https://commits.webkit.org/237429@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-07 00:17:05 +00:00
2021-05-06 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[OpenSSL] Implement CryptoAlgorithmRSA*
https://bugs.webkit.org/show_bug.cgi?id=225294
Reviewed by Don Olmstead.
Implement RSA for OpenSSL.
Implement CryptoAlgorithmRSA_OAEP, CryptoAlgorithmRSA_PSS,
CryptoAlgorithmRSAES_PKCS1_v1_5, CryptoAlgorithmRSASA_PKCS1_v1_5,
and CryptoKeyRSA for OpenSSL.
Note that if such OpenSSL version that does not support RSA_OAEP or
RSA_PSS, the WebCrypto API for those algorithm will return a
NotSupportedError.
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWinCairo.cmake:
2021-05-05 Michael Catanzaro <mcatanzaro@gnome.org>
USE_64KB_PAGE_BLOCK build option is broken
https://bugs.webkit.org/show_bug.cgi?id=225393
Reviewed by Adrian Perez de Castro.
Call SET_AND_EXPOSE_TO_BUILD().
* Source/cmake/WebKitFeatures.cmake:
2021-05-05 Michael Catanzaro <mcatanzaro@gnome.org>
Fix typo in comment in WebKitFeatures.cmake
https://bugs.webkit.org/show_bug.cgi?id=225392
Unreviewed.
* Source/cmake/WebKitFeatures.cmake:
2021-04-27 Don Olmstead <don.olmstead@sony.com>
[CMake] Don't use FORWARDING_HEADERS_DIR for GTK WebKit headers
https://bugs.webkit.org/show_bug.cgi?id=225006
Reviewed by Michael Catanzaro.
Create CMake variables WebKit2Gtk_FRAMEWORK_HEADERS_DIR and WebKit2Gtk_DERIVED_SOURCES_DIR
to represent where the WebKit2 GTK headers and derived sources will reside. The names and
locations set then follow along with the conventions used for the other frameworks.
* Source/cmake/OptionsGTK.cmake:
2021-04-26 Alex Christensen <achristensen@webkit.org>
Update Mac-specific CMake files
https://bugs.webkit.org/show_bug.cgi?id=225064
Rubber-stamped by Tim Horton.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitCommon.cmake:
2021-04-26 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Fix build break after r276368
https://bugs.webkit.org/show_bug.cgi?id=225056
Reviewed by Ross Kirsling.
Ensure that the OpenGL::GLES target is created.
* Source/cmake/OptionsPlayStation.cmake:
[GTK] Turn on editable <input type=date> and <input type=time> fields https://bugs.webkit.org/show_bug.cgi?id=224921 Reviewed by Carlos Garcia Campos. .: Turn on editable date and time inputs for GTK * Source/cmake/OptionsGTK.cmake: Add new source file to the list. Source/WebCore: Turn on editable date and time inputs for GTK. No new tests. This is covered by enabling existing <input type=date> and <input type=time> tests. * Headers.cmake: Add headers to the list. * loader/EmptyClients.cpp: Add missing header include. Source/WebKit: Turn on editable date and time inputs for GTK. * SourcesGTK.txt: Add source file. * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::createDateTimePicker): Added. * UIProcess/API/gtk/PageClientImpl.h: Added method declaration. * UIProcess/gtk/WebDateTimePickerGtk.cpp: Added. Stub for date/time picker which doesn't have any user interface. This will allow clients to use the editable shadow DOM date/time input editable fields. (WebKit::WebDateTimePickerGtk::create): (WebKit::WebDateTimePickerGtk::~WebDateTimePickerGtk): (WebKit::WebDateTimePickerGtk::WebDateTimePickerGtk): (WebKit::WebDateTimePickerGtk::endPicker): (WebKit::WebDateTimePickerGtk::showDateTimePicker): * UIProcess/gtk/WebDateTimePickerGtk.h: Added. Source/WTF: Turn on editable date and time inputs for GTK. * Scripts/Preferences/WebPreferencesInternal.yaml: Set editable date/time inputs on by default for GTK as well. LayoutTests: Turn on editable date and time inputs for GTK. * platform/gtk/TestExpectations: Enable new forms test for WebKitGTK. * platform/gtk/fast/forms/date/date-input-rendering-basic-expected.txt: Added. * platform/gtk/fast/forms/date/date-pseudo-elements-expected.txt: Added. * platform/gtk/fast/forms/time/time-input-rendering-basic-expected.txt: Added. Canonical link: https://commits.webkit.org/236908@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-22 18:09:53 +00:00
2021-04-22 Martin Robinson <mrobinson@webkit.org>
[GTK] Turn on editable <input type=date> and <input type=time> fields
https://bugs.webkit.org/show_bug.cgi?id=224921
Reviewed by Carlos Garcia Campos.
Turn on editable date and time inputs for GTK
* Source/cmake/OptionsGTK.cmake: Add new source file to the list.
Implement WebXR Input Sources https://bugs.webkit.org/show_bug.cgi?id=223257 Reviewed by Youenn Fablet. .: Enable WPE Gamepad when WebXR is enabled. * Source/cmake/OptionsWPE.cmake: LayoutTests/imported/w3c: Update WebXR Input Source test expectations. * web-platform-tests/webxr/events_input_source_recreation.https-expected.txt: Added. * web-platform-tests/webxr/events_input_sources_change.https-expected.txt: Added. * web-platform-tests/webxr/events_session_select.https-expected.txt: Added. * web-platform-tests/webxr/events_session_select_subframe.https-expected.txt: Added. * web-platform-tests/webxr/events_session_squeeze.https-expected.txt: Added. * web-platform-tests/webxr/getInputPose_handedness.https-expected.txt: Added. * web-platform-tests/webxr/xrInputSource_add_remove.https-expected.txt: Added. * web-platform-tests/webxr/xrInputSource_emulatedPosition.https-expected.txt: Added. * web-platform-tests/webxr/xrInputSource_profiles.https-expected.txt: Added. * web-platform-tests/webxr/xrInputSource_sameObject.https-expected.txt: Added. * web-platform-tests/webxr/xrReferenceSpace_originOffset.https-expected.txt: Added. Source/WebCore: This patch implements the platform data definition and the DOM bits required to support WebXR Input Sources, the input mechanism used in WebXR. Example XR input sources include, but are not limited to, handheld controllers, optically tracked hands, and gaze-based input methods. More info about the API in: - https://immersive-web.github.io/webxr/#input - https://immersive-web.github.io/webxr-gamepads-module/#webxr-device-api-integration Tested by WebXR WPT. * Modules/gamepad/Gamepad.h: Add setConnected method. * Modules/webxr/WebXRGamepad.cpp: Bridge between WebXRInputSource and Gamepad (WebCore::WebXRGamepad::WebXRGamepad): * Modules/webxr/WebXRGamepad.h: * Modules/webxr/WebXRInputSpace.cpp: Instance of WebXRSpace used for WebXRInputSource spaces. (WebCore::WebXRInputSpace::create): (WebCore::WebXRInputSpace::WebXRInputSpace): (WebCore::WebXRInputSpace::nativeOrigin const): * Modules/webxr/WebXRInputSpace.h: * Modules/webxr/WebXRFrame.cpp: (WebCore::WebXRFrame::populatePose): set emulatedPosition based on the spaces. * Modules/webxr/WebXRInputSource.cpp: Complete WebXRInputSource implementation. (WebCore::WebXRInputSpace::create): (WebCore::WebXRInputSpace::WebXRInputSpace): (WebCore::WebXRInputSpace::nativeOrigin const): (WebCore::WebXRInputSource::create): (WebCore::WebXRInputSource::WebXRInputSource): (WebCore::WebXRInputSource::update): (WebCore::WebXRInputSource::requiresInputSourceChange): (WebCore::WebXRInputSource::disconnect): (WebCore::WebXRInputSource::pollEvents): (WebCore::WebXRInputSource::createEvent): * Modules/webxr/WebXRInputSource.h: (WebCore::WebXRInputSource::handle const): (WebCore::WebXRInputSource::handedness const): (WebCore::WebXRInputSource::targetRayMode const): (WebCore::WebXRInputSource::targetRaySpace const): (WebCore::WebXRInputSource::gripSpace const): (WebCore::WebXRInputSource::profiles const): (WebCore::WebXRInputSource::gamepad const): * Modules/webxr/WebXRInputSource.idl: Add gamepad attribute. * Modules/webxr/WebXRInputSourceArray.cpp: Implement input source updates and event dispatching. (WebCore::WebXRInputSourceArray::create): (WebCore::WebXRInputSourceArray::WebXRInputSourceArray): (WebCore::WebXRInputSourceArray::length const): (WebCore::WebXRInputSourceArray::item const): (WebCore::WebXRInputSourceArray::clear): (WebCore::WebXRInputSourceArray::update): (WebCore::WebXRInputSourceArray::handleRemovedInputSources): (WebCore::WebXRInputSourceArray::handleAddedOrUpdatedInputSources): * Modules/webxr/WebXRInputSourceArray.h: * Modules/webxr/WebXRSession.cpp: (WebCore::WebXRSession::WebXRSession): Set tracking delegate before initializing tracking and rendering. (WebCore::WebXRSession::isPositionEmulated const): Add helper method. (WebCore::WebXRSession::shutdown): Clear WebXRInputSourceArray instance. (WebCore::WebXRSession::sessionDidInitializeInputSources): Dispatch initial InputSource discovery event. (WebCore::WebXRSession::onFrame): Update WebXRInputSourceArray instance. * Modules/webxr/WebXRSession.h: * Modules/webxr/WebXRSpace.cpp: Add virtual class isPositionEmulated to be used in WebXRFrame. (WebCore::WebXRSpace::isPositionEmulated const): * Modules/webxr/WebXRSpace.h: * Modules/webxr/WebXRSystem.cpp: (WebCore::WebXRSystem::requestSession): update FIXME comment. * Modules/webxr/XRHandedness.h: Reuse PlatformXR enum. * Modules/webxr/XRInputSourceEvent.cpp: (WebCore::XRInputSourceEvent::XRInputSourceEvent): (WebCore::XRInputSourceEvent::setFrameActive): * Modules/webxr/XRInputSourceEvent.h: * Modules/webxr/XRInputSourcesChangeEvent.h: * Modules/webxr/XRTargetRayMode.h: Reuse PlatformXR enum. * platform/gamepad/GamepadConstants.cpp: (WebCore::xrStandardGamepadMappingString): Add xr-standard gamepad mapping name. * platform/gamepad/GamepadConstants.h: * platform/xr/PlatformXR.h: Add Input Source frame data. * testing/WebFakeXRDevice.cpp: Implement required changes to run and pass WebXR Input Source tests. (WebCore::SimulatedXRDevice::initializeTrackingAndRendering): (WebCore::SimulatedXRDevice::frameTimerFired): (WebCore::WebFakeXRDevice::simulateResetPose): (WebCore::WebFakeXRDevice::simulateInputSourceConnection): * testing/WebFakeXRDevice.h: * testing/WebFakeXRInputController.cpp: (WebCore::WebFakeXRInputController::create): (WebCore::WebFakeXRInputController::WebFakeXRInputController): (WebCore::WebFakeXRInputController::setGripOrigin): (WebCore::WebFakeXRInputController::setPointerOrigin): (WebCore::WebFakeXRInputController::disconnect): (WebCore::WebFakeXRInputController::reconnect): (WebCore::WebFakeXRInputController::setSupportedButtons): (WebCore::WebFakeXRInputController::updateButtonState): (WebCore::WebFakeXRInputController::getFrameData): (WebCore::WebFakeXRInputController::getButtonOrPlaceholder const): * testing/WebFakeXRInputController.h: LayoutTests: Update WebXR Input Source test expectations. * platform/wpe/TestExpectations: Canonical link: https://commits.webkit.org/236896@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-22 14:06:06 +00:00
2021-04-22 Imanol Fernandez <ifernandez@igalia.com>
Implement WebXR Input Sources
https://bugs.webkit.org/show_bug.cgi?id=223257
Reviewed by Youenn Fablet.
Enable WPE Gamepad when WebXR is enabled.
* Source/cmake/OptionsWPE.cmake:
2021-04-22 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Add support for preconnect
https://bugs.webkit.org/show_bug.cgi?id=177934
Reviewed by Sergio Villar Senin.
Enable server preconnect support when building with libsoup3.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-04-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Bump libsoup3 version to 2.99.4
https://bugs.webkit.org/show_bug.cgi?id=224925
Reviewed by Philippe Normand.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-04-21 Martin Robinson <mrobinson@igalia.com>
Enable CSS Scroll Snap by default
https://bugs.webkit.org/show_bug.cgi?id=224867
Reviewed by Don Olmstead.
* Source/cmake/OptionsFTW.cmake: Remove redundant line enabling scroll snap.
* Source/cmake/OptionsGTK.cmake: Ditto.
* Source/cmake/OptionsMac.cmake: Ditto.
* Source/cmake/OptionsWPE.cmake: Ditto.
* Source/cmake/OptionsWin.cmake: Explicitly disable scroll snap for AppleWin port
until it can be approved by maintainers.
* Source/cmake/WebKitFeatures.cmake: Enable scroll snap by default.
2021-04-21 Don Olmstead <don.olmstead@sony.com>
[CMake] Add OpenGLES2 targets
https://bugs.webkit.org/show_bug.cgi?id=224786
Reviewed by Adrian Perez de Castro.
Modernize the FindOpenGLES2.cmake module. Add an OpenGL::GLES target. Also add an
OpenGLES2_API_VERSION value so HAVE_OPENGL_ES_3 can be determined.
For WPE add a find_package for OpenGL ES so the target is present.
For GTK set HAVE_OPENGL_ES_3 if OpenGLES2_API_VERSION supports it.
* Source/cmake/FindOpenGLES2.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-04-20 Don Olmstead <don.olmstead@sony.com>
[CMake] Don't use FORWARDING_HEADERS_DIR for JSC GLib headers
https://bugs.webkit.org/show_bug.cgi?id=224821
Reviewed by Michael Catanzaro.
Create CMake variables JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR and
JavaScriptCoreGLib_DERIVED_SOURCES_DIR to represent where the JavaScriptCore GLib headers
and derived sources will reside. The names and locations set then follow along with the
conventions used for the other frameworks.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-04-20 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Switch to libsoup3 by default
https://bugs.webkit.org/show_bug.cgi?id=224802
Reviewed by Žan Doberšek.
* Source/cmake/OptionsWPE.cmake:
2021-04-19 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Switch to libsoup3 by default
https://bugs.webkit.org/show_bug.cgi?id=224741
Reviewed by Sergio Villar Senin.
* Source/cmake/OptionsGTK.cmake:
2021-04-19 Philippe Normand <pnormand@igalia.com>
[WPE][GTK] Enable AVIF decoder as experimental feature and unskip tests
https://bugs.webkit.org/show_bug.cgi?id=224663
Reviewed by Xabier Rodriguez-Calvar.
Make the USE_AVIF option public and enable it as experimental feature.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-04-16 Philippe Normand <pnormand@igalia.com>
[CMake] UBSan build fixes
https://bugs.webkit.org/show_bug.cgi?id=224536
Reviewed by Adrian Perez de Castro.
Synchronize UBSan compiler flags with the ones defined in ubsan.xcconfig.
* Source/cmake/WebKitCompilerFlags.cmake:
2021-04-15 Don Olmstead <don.olmstead@sony.com>
ANGLE is only being built when WebGL is enabled
https://bugs.webkit.org/show_bug.cgi?id=224555
Reviewed by Fujii Hironori.
ANGLE should be built if either USE_ANGLE_EGL or ENABLE_WEBGL is ON.
* Source/CMakeLists.txt:
2021-04-15 Basuke Suzuki <basuke.suzuki@sony.com>
Remove warnings caused by export g_config extern definition in WTFConfig.h
https://bugs.webkit.org/show_bug.cgi?id=224462
Reviewed by Don Olmstead.
While building PlayStation port, lots of warnings are displayed:
> WTF/Headers\wtf/WTFConfig.h:49:36: warning: redeclaration of 'WebConfig::g_config'
> should not add 'dllimport' attribute [-Wdll-attribute-on-redeclaration]
> extern "C" WTF_EXPORT_PRIVATE Slot g_config[];
> ^
> bmalloc/Headers\bmalloc/GigacageConfig.h:38:17: note: previous declaration is here
> extern "C" Slot g_config[];
This is because the two definitions are not same.
Becasue we can't solve the situation completely, we just ignore these warnings at
this morment.
* Source/cmake/OptionsPlayStation.cmake:
2021-04-15 13:02:06 +00:00
2021-04-15 Philippe Normand <pnormand@igalia.com>
[WebRTC][GStreamer] Build and use the openh264 based encoder if present on the system
https://bugs.webkit.org/show_bug.cgi?id=202538
<rdar://problem/76047172>
Reviewed by Xabier Rodriguez-Calvar.
* Source/CMakeLists.txt:
* Source/cmake/GStreamerChecks.cmake:
2021-04-14 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Disable WebGL
https://bugs.webkit.org/show_bug.cgi?id=224562
Reviewed by Alex Christensen.
WebGL support on PlayStation platforms is deprecated.
* Source/cmake/OptionsPlayStation.cmake:
2021-04-13 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Avif decoder build broken
https://bugs.webkit.org/show_bug.cgi?id=224232
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake: Require 0.9.0 due to avifIO usage in the decoder.
2021-04-09 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Bump libsoup3 version to 2.99.3
https://bugs.webkit.org/show_bug.cgi?id=224362
Reviewed by Žan Doberšek.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-04-07 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] webkit://gpu should print runtime libwpe and wpebackend-fdo versions
https://bugs.webkit.org/show_bug.cgi?id=224298
Reviewed by Adrian Perez de Castro.
* Source/cmake/OptionsGTK.cmake:
2021-04-07 Don Olmstead <don.olmstead@sony.com>
[CMake] Mark _LIBRARY not _LIBRARIES in find modules
https://bugs.webkit.org/show_bug.cgi?id=224283
Reviewed by Michael Catanzaro.
A few find modules are erroniously sending _LIBRARIES to mark_as_advanced rather than
_LIBRARY. The former is created from the _LIBRARY value so it isn't valid at that point.
* Source/cmake/FindCairo.cmake:
* Source/cmake/FindFontconfig.cmake:
* Source/cmake/FindSQLite3.cmake:
2021-04-07 Kimmo Kinnunen <kkinnunen@apple.com>
.gitignore contains 'build/' which causes all directories named 'build/' to be ignored
https://bugs.webkit.org/show_bug.cgi?id=224227
Reviewed by Ryosuke Niwa.
Remove 'build/' from .gitignore, it was causing errors by hiding files.
WebGL conformance test suite files have directiories with 'build/' in its path.
Most likely '/build/' is not a common build directory, since the scripts
seem to default to '/WebKitBuild/'.
* .gitignore:
2021-04-06 Philippe Normand <pnormand@igalia.com>
REGRESSION(r275275): Broke some build configs lacking openh264
https://bugs.webkit.org/show_bug.cgi?id=224244
Unreviewed, manual revert of r275275 and r275409.
* Source/CMakeLists.txt:
* Source/cmake/GStreamerChecks.cmake:
2021-04-06 Mark Lam <mark.lam@apple.com>
Speculative build fix for Windows port.
https://bugs.webkit.org/show_bug.cgi?id=224243
rdar://75883248
Reviewed by Saam Barati.
Source/cmake/tools/scripts/auto-version.pl was limiting our `minor` and `micro`
version to only 2 decimal digits only. In practice, we can use up to 3 digits.
* Source/cmake/tools/scripts/auto-version.pl:
(packTwoValues):
Resurrect Mac CMake build https://bugs.webkit.org/show_bug.cgi?id=224084 Patch by Alex Christensen <achristensen@webkit.org> on 2021-04-05 Reviewed by Tim Horton. .: * Source/cmake/OptionsMac.cmake: Source/JavaScriptCore: * PlatformMac.cmake: Source/ThirdParty/ANGLE: * PlatformMac.cmake: Added. Source/ThirdParty/libwebrtc: * CMakeLists.txt: Source/WebCore: * PlatformMac.cmake: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * platform/mac/WebGLBlocklist.mm: * platform/text/cocoa/LocalizedDateCache.h: Renamed from Source/WebCore/platform/text/ios/LocalizedDateCache.h. * platform/text/cocoa/LocalizedDateCache.mm: Renamed from Source/WebCore/platform/text/ios/LocalizedDateCache.mm. (WebCore::localizedDateCache): (WebCore::_localeChanged): (WebCore::LocalizedDateCache::LocalizedDateCache): (WebCore::LocalizedDateCache::~LocalizedDateCache): (WebCore::LocalizedDateCache::localeChanged): (WebCore::LocalizedDateCache::formatterForDateType): (WebCore::LocalizedDateCache::maximumWidthForDateType): (WebCore::LocalizedDateCache::createFormatterForType): (WebCore::LocalizedDateCache::calculateMaximumWidth): * testing/cocoa/WebViewVisualIdentificationOverlay.mm: Source/WebCore/PAL: * pal/PlatformMac.cmake: Source/WebKit: * NetworkProcess/PrivateClickMeasurementNetworkLoader.cpp: (WebKit::PrivateClickMeasurementNetworkLoader::didReceiveBuffer): * PlatformMac.cmake: * Shared/Cocoa/SandboxExtensionCocoa.mm: * SourcesCocoa.txt: * UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h: Source/WebKitLegacy: * PlatformMac.cmake: Source/WTF: * wtf/PlatformMac.cmake: Tools: * TestWebKitAPI/PlatformMac.cmake: * WebKitTestRunner/PlatformMac.cmake: Canonical link: https://commits.webkit.org/236142@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-06 03:19:14 +00:00
2021-04-05 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=224084
Reviewed by Tim Horton.
* Source/cmake/OptionsMac.cmake:
2021-04-05 Tyler Wilcock <twilco.o@protonmail.com>
Document how to use logging in WebKit
https://bugs.webkit.org/show_bug.cgi?id=224152
Reviewed by Simon Fraser.
Add documentation about how to use logging in WebKit.
* Introduction.md:
2021-03-28 David Kilzer <ddkilzer@apple.com>
Compile WebKit with UBSan
<https://webkit.org/b/176131>
<rdar://problem/34174018>
Reviewed by Alexey Proskuryakov.
* Makefile.shared:
- Add support for "UBSAN=YES" argument to make.
2021-03-27 Philippe Normand <pnormand@igalia.com>
REGRESSION(r275111) [GLIB] Fix build with new derived sources and forwarding headers scheme
https://bugs.webkit.org/show_bug.cgi?id=223834
Unreviewed build fix.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-03-26 Lauro Moura <lmoura@igalia.com>
REGRESSION(r275111) [GLIB] Fix build with new derived sources and forwarding headers scheme
https://bugs.webkit.org/show_bug.cgi?id=223834
Unreviewed build fix.
Buildfix for now. Actual removal of older scheme will come in the
future.
* Source/cmake/OptionsWPE.cmake: Add some missing variables with the
per framework source and header dirs.
[CMake] Deprecate using DERIVED_SOURCES_DIR/FOWARDING_HEADERS_DIR directly https://bugs.webkit.org/show_bug.cgi?id=223763 Reviewed by Michael Catanzaro. .: Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR. There are still some uses in GTK/WPE but those should be phased out. Sets the directory structure to look like an Apple build in terms of where headers and derived sources are held. Rather than having one root derived sources and one root header directory those directories are now per project. This helps catch any errors with header includes. Deletes some old Mac CMake code that is no longer relevant around creating forwarding headers. For AppleWin the old structure is used because of its internal build which assumes the old structure. * Source/cmake/OptionsAppleWin.cmake: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWinCairo.cmake: * Source/cmake/WebKitCommon.cmake: * Source/cmake/WebKitFS.cmake: * Source/cmake/WebKitMacros.cmake: Source/JavaScriptCore: Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR. * CMakeLists.txt: * PlatformMac.cmake: Source/WebCore: Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR. * PlatformFTW.cmake: * PlatformWin.cmake: Source/WebKit: Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR. * PlatformGTK.cmake: * PlatformMac.cmake: Remove creation of forwarding headers. Source/WebKitLegacy: Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR. * PlatformMac.cmake: Tools: Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR. * DumpRenderTree/PlatformMac.cmake: * MiniBrowser/gtk/CMakeLists.txt: * MiniBrowser/mac/CMakeLists.txt: * WebKitTestRunner/PlatformMac.cmake: * wpe/backends/CMakeLists.txt: Canonical link: https://commits.webkit.org/235819@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-03-26 20:37:09 +00:00
2021-03-26 Don Olmstead <don.olmstead@sony.com>
[CMake] Deprecate using DERIVED_SOURCES_DIR/FOWARDING_HEADERS_DIR directly
https://bugs.webkit.org/show_bug.cgi?id=223763
Reviewed by Michael Catanzaro.
Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR. There are still some
uses in GTK/WPE but those should be phased out.
Sets the directory structure to look like an Apple build in terms of where headers and
derived sources are held. Rather than having one root derived sources and one root
header directory those directories are now per project. This helps catch any errors with
header includes.
Deletes some old Mac CMake code that is no longer relevant around creating forwarding
headers.
For AppleWin the old structure is used because of its internal build which assumes the
old structure.
* Source/cmake/OptionsAppleWin.cmake:
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/WebKitCommon.cmake:
* Source/cmake/WebKitFS.cmake:
* Source/cmake/WebKitMacros.cmake:
2021-03-23 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Use an imported target for the LCMS2 library
https://bugs.webkit.org/show_bug.cgi?id=223442
Reviewed by Carlos Garcia Campos.
* Source/cmake/FindLCMS2.cmake: Replaced find module by a new one which
defines a LCMS2::LCMS2 imported target and in general uses more modern CMake
constructs.
2021-03-23 Cameron McCormack <heycam@apple.com>
Update .clang-format to reflect WebKit style better.
https://bugs.webkit.org/show_bug.cgi?id=223229
First, SpaceBeforeCpp11BracedList is set to true so that a space
is introduced after a variable name and before a braced initializer.
Second, AlwaysBreakTemplateDeclarations is changed from false (an
invalid value) to No, which should result in no line breaks being
introduced in template declarations. Although there is a mix of
template declaration line breaking styles in the codebase, changing
this option to No will prevent clang-format from introducing one
where the patch author decides to write the declaration all on one
line.
Reviewed by Alex Christensen.
* .clang-format:
2021-03-22 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Wrong variable used in FindFontconfig used to pick version from pkg-config
https://bugs.webkit.org/show_bug.cgi?id=223557
Reviewed by Michael Catanzaro.
* Source/cmake/FindFontconfig.cmake: Fix to use ${PC_FONTCONFIG_VERSION}.
2021-03-18 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Bump API version when building with libsoup3
https://bugs.webkit.org/show_bug.cgi?id=223437
Reviewed by Adrian Perez de Castro.
Use 1.1 as the API version when building with soup3.
* Source/PlatformWPE.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-03-17 Martin Robinson <mrobinson@igalia.com>
[GTK][WPE] Enable CSS scroll snap support by default
https://bugs.webkit.org/show_bug.cgi?id=222641
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake: Enable CSS scroll snap by default.
* Source/cmake/OptionsWPE.cmake: Ditto.
2021-03-16 Khem Raj <raj.khem@gmail.com>
[CMake] Build fails on RISC-V with GCC 11
https://bugs.webkit.org/show_bug.cgi?id=222959
Reviewed by Carlos Alberto Lopez Perez.
Check for 1 byte atomic operations along with 64bit ones, some
architevtures (e.g. RISCV) operations on less than 4 bytes are not lock-free
* Source/cmake/WebKitCompilerFlags.cmake:
2021-03-14 Lauro Moura <lmoura@igalia.com>
[GLIB] Keep GPUProcess disabled when using experimental features
https://bugs.webkit.org/show_bug.cgi?id=223155
Reviewed by Philippe Normand.
At least two recent GPUProcess-related revisions caused issues in
GLIB, causing serious regressions in the bots. Disabling it for now
until we improve its support.
Revisions:
r274327 - 2D Canvas enabled by default in GPUProcess
r272842 - Media enabled by default in GPUProcess
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-03-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump API version when building with libsoup3
https://bugs.webkit.org/show_bug.cgi?id=223067
Reviewed by Adrian Perez de Castro.
Use 4.1 as the API version when building with soup3 and keep using 5.0 for GTK4. Also make it impossible to
build with GTK4 and soup2.
* Source/PlatformGTK.cmake:
* Source/cmake/OptionsGTK.cmake:
2021-03-11 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. [GTK][WPE] Bump libsoup3 version to 2.99.3
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[WPE][GTK] Add support for ICC color management https://bugs.webkit.org/show_bug.cgi?id=177185 Reviewed by Adrian Perez de Castro. .: Add optional lcms2 dependency. * Source/cmake/FindLCMS2.cmake: Added. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Add support for ICC color profiles to JPEG and PNG decoders using lcms2 if available. * PlatformGTK.cmake: * PlatformWPE.cmake: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::~PlatformDisplay): (WebCore::PlatformDisplay::colorProfile const): * platform/graphics/PlatformDisplay.h: * platform/graphics/x11/PlatformDisplayX11.cpp: (WebCore::PlatformDisplayX11::colorProfile const): * platform/graphics/x11/PlatformDisplayX11.h: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::isICCMarker): (WebCore::readICCProfile): (WebCore::JPEGImageReader::JPEGImageReader): (WebCore::JPEGImageReader::decode): (WebCore::JPEGImageDecoder::~JPEGImageDecoder): (WebCore::JPEGImageDecoder::clear): (WebCore::JPEGImageDecoder::setFailed): (WebCore::JPEGImageDecoder::outputScanlines): (WebCore::JPEGImageDecoder::decode): (WebCore::JPEGImageDecoder::setICCProfile): * platform/image-decoders/jpeg/JPEGImageDecoder.h: * platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::~PNGImageDecoder): (WebCore::PNGImageDecoder::clear): (WebCore::PNGImageDecoder::setFailed): (WebCore::PNGImageDecoder::headerAvailable): (WebCore::PNGImageDecoder::rowAvailable): (WebCore::PNGImageDecoder::decode): (WebCore::PNGImageDecoder::frameComplete): * platform/image-decoders/png/PNGImageDecoder.h: Canonical link: https://commits.webkit.org/235170@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274273 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-03-11 10:57:57 +00:00
2021-03-11 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE][GTK] Add support for ICC color management
https://bugs.webkit.org/show_bug.cgi?id=177185
Reviewed by Adrian Perez de Castro.
Add optional lcms2 dependency.
* Source/cmake/FindLCMS2.cmake: Added.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[GTK] Reenable -fvisibility=hidden https://bugs.webkit.org/show_bug.cgi?id=181916 Patch by Michael Catanzaro <mcatanzaro@gnome.org> on 2021-03-10 Reviewed by Don Olmstead. .: In non-DEVELOPER_MODE builds, we rely on a linker version script to hide symbols that we don't want to export. Building with hidden visibility might seem redundant with this, but actually building with hidden visibility has advantages anyway. See https://gcc.gnu.org/wiki/Visibility. Note that I'm not confident GTK port can safely use -fvisibility-inlines-hidden, since it's split between two shared objects. Also, because GTK is split into two shared objects, GTK needs to build bmalloc and WTF as CMake OBJECT libraries, which is effectively the same as using -Wl,--whole-archive to prevent symbols from being prematurely stripped away. P.S. Major credit to Don Olmstead, who did most of the work to make this possible, which has already landed in previous patches. * Source/cmake/OptionsGTK.cmake: Source/JavaScriptCore: We need to export the destructor of IsoHeapCellType. * heap/IsoHeapCellType.cpp: * heap/IsoHeapCellType.h: Source/WebCore: We need to export the destructor of EventTarget and the delete operator of EventTargetWithInlineData. They are used in WebKitTestRunner. * PlatformGTK.cmake: * dom/EventTarget.cpp: * dom/EventTarget.h: Source/WTF: We need to export WTF::filenameForDisplay. * wtf/FileSystem.h: Tools: * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/glib/TestExpectations.json: Canonical link: https://commits.webkit.org/235132@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-03-10 17:26:04 +00:00
2021-03-10 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Reenable -fvisibility=hidden
https://bugs.webkit.org/show_bug.cgi?id=181916
Reviewed by Don Olmstead.
In non-DEVELOPER_MODE builds, we rely on a linker version script to hide symbols that we
don't want to export. Building with hidden visibility might seem redundant with this, but
actually building with hidden visibility has advantages anyway. See
https://gcc.gnu.org/wiki/Visibility.
Note that I'm not confident GTK port can safely use -fvisibility-inlines-hidden, since it's
split between two shared objects. Also, because GTK is split into two shared objects, GTK
needs to build bmalloc and WTF as CMake OBJECT libraries, which is effectively the same as
using -Wl,--whole-archive to prevent symbols from being prematurely stripped away.
P.S. Major credit to Don Olmstead, who did most of the work to make this possible, which has
already landed in previous patches.
* Source/cmake/OptionsGTK.cmake:
2021-03-10 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r274166.
https://bugs.webkit.org/show_bug.cgi?id=223024
Broke GTK Debug builds
Reverted changeset:
"[GTK] Reenable -fvisibility=hidden"
https://bugs.webkit.org/show_bug.cgi?id=181916
https://trac.webkit.org/changeset/274166
GLib JSC API headers should only include other GLib JSC API headers https://bugs.webkit.org/show_bug.cgi?id=222803 Reviewed by Michael Catanzaro. .: GTK and WPE both build the JavaScriptCore GLib API. However they diverged with their CMake variable names for the directory containing jsc. Declare a single variable for that directory, DERIVED_SOURCES_JAVASCRIPTCORE_GLIB_DIR, that is shared between GLib ports. Remove the GLIB_API_DIR variant which will just be replaced with ${DERIVED_SOURCES_JAVASCRIPTCORE_GLIB_DIR}/jsc in the CMake code. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/JavaScriptCore: A number of private GLib JSC headers are directly including private JavaScriptCore headers. To get this to compile ${FORWARDING_HEADERS_DIR}/JavaScriptCore was added to the list of includes in targets that needed the JSC headers. This is incorrect because they are being distributed in different directories. The private JSC headers being used were replaced with forward declarations. The source files were then updated accordingly. Also the include directories that contained the <jsc/Foo.h> headers were added to JavaScriptCore_INTERFACE_INCLUDE_DIRECTORIES so they're properly propagated to dependants. * API/glib/JSCClassPrivate.h: * API/glib/JSCContext.cpp: * API/glib/JSCContextPrivate.h: * API/glib/JSCVirtualMachine.cpp: * API/glib/JSCVirtualMachinePrivate.h: * API/glib/JSCWrapperMap.cpp: * GLib.cmake: * PlatformGTK.cmake: Source/WebKit: Update the includes and include directories. * PlatformGTK.cmake: * PlatformWPE.cmake: * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMNode.cpp: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: Tools: Update the includes and include directories. * MiniBrowser/wpe/CMakeLists.txt: * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: * TestWebKitAPI/glib/PlatformGTK.cmake: * TestWebKitAPI/glib/PlatformWPE.cmake: Canonical link: https://commits.webkit.org/235119@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274201 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-03-10 07:36:26 +00:00
2021-03-09 Don Olmstead <don.olmstead@sony.com>
GLib JSC API headers should only include other GLib JSC API headers
https://bugs.webkit.org/show_bug.cgi?id=222803
Reviewed by Michael Catanzaro.
GTK and WPE both build the JavaScriptCore GLib API. However they diverged with their CMake
variable names for the directory containing jsc. Declare a single variable for that
directory, DERIVED_SOURCES_JAVASCRIPTCORE_GLIB_DIR, that is shared between GLib ports.
Remove the GLIB_API_DIR variant which will just be replaced with
${DERIVED_SOURCES_JAVASCRIPTCORE_GLIB_DIR}/jsc in the CMake code.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
.: [GTK] Reenable -fvisibility=hidden https://bugs.webkit.org/show_bug.cgi?id=181916 Patch by Michael Catanzaro <mcatanzaro@gnome.org> on 2021-03-09 Reviewed by Don Olmstead. In non-DEVELOPER_MODE builds, we rely on a linker version script to hide symbols that we don't want to export. Building with hidden visibility might seem redundant with this, but actually building with hidden visibility has advantages anyway. See https://gcc.gnu.org/wiki/Visibility. Note that I'm not confident GTK port can safely use -fvisibility-inlines-hidden, since it's split between two shared objects. Also, because GTK is split into two shared objects, GTK needs to build bmalloc and WTF as CMake OBJECT libraries, which is effectively the same as using -Wl,--whole-archive to prevent symbols from being prematurely stripped away. P.S. Major credit to Don Olmstead, who did most of the work to make this possible, which has already landed in previous patches. * Source/cmake/OptionsGTK.cmake: Source/WebCore: [WPE][GTK] Reenable -fvisibility=hidden (and -fvisibility-inlines-hidden for WPE) https://bugs.webkit.org/show_bug.cgi?id=181916 Patch by Michael Catanzaro <mcatanzaro@gnome.org> on 2021-03-09 Reviewed by Don Olmstead. We need to export the destructor of EventTarget. * PlatformGTK.cmake: * dom/EventTarget.cpp: * dom/EventTarget.h: Tools: [GTK] Reenable -fvisibility=hidden https://bugs.webkit.org/show_bug.cgi?id=181916 Patch by Michael Catanzaro <mcatanzaro@gnome.org> on 2021-03-09 Reviewed by Don Olmstead. * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/glib/TestExpectations.json: Canonical link: https://commits.webkit.org/235087@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-03-09 20:11:42 +00:00
2021-03-09 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Reenable -fvisibility=hidden
https://bugs.webkit.org/show_bug.cgi?id=181916
Reviewed by Don Olmstead.
In non-DEVELOPER_MODE builds, we rely on a linker version script to hide symbols that we
don't want to export. Building with hidden visibility might seem redundant with this, but
actually building with hidden visibility has advantages anyway. See
https://gcc.gnu.org/wiki/Visibility.
Note that I'm not confident GTK port can safely use -fvisibility-inlines-hidden, since it's
split between two shared objects. Also, because GTK is split into two shared objects, GTK
needs to build bmalloc and WTF as CMake OBJECT libraries, which is effectively the same as
using -Wl,--whole-archive to prevent symbols from being prematurely stripped away.
P.S. Major credit to Don Olmstead, who did most of the work to make this possible, which has
already landed in previous patches.
* Source/cmake/OptionsGTK.cmake:
2021-03-05 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Remove ADD_WHOLE_ARCHIVE_TO_LIBRARIES
https://bugs.webkit.org/show_bug.cgi?id=222826
Reviewed by Don Olmstead.
I don't know why it's no longer needed, but GTK links without it, so it can go away.
* Source/cmake/OptionsGTK.cmake:
2021-03-05 Don Olmstead <don.olmstead@sony.com>
[CMake] Bump cmake_minimum_required version to 3.12 or later
https://bugs.webkit.org/show_bug.cgi?id=221727
<rdar://problem/74454980>
Reviewed by Konstantin Tokarev.
Updates the minimum version to 3.12. In CMake 3.12 OBJECT library functionality was
expanded to the point where they can successfully be used as a replacement for
--whole-archive within WebKit. The check in JSCOnly for the minimum version before
using hidden visibility was removed accordingly.
* CMakeLists.txt:
* Source/cmake/OptionsJSCOnly.cmake:
AVIF decoding support https://bugs.webkit.org/show_bug.cgi?id=207750 Reviewed by Philippe Normand. This patch brings an initial support of AVIF image format to the gtk port. AVIF is a new royalty-free image format derived from the keyframes of AV1 video. FireFox and Chromium-variant browsers already support it. Its specification can be found at https://rawcdn.githack.com/AOMediaCodec/av1-avif/67a92add6cd642a8863e386fa4db87954a6735d1/index.html This patch aims to land a build option for AVIF and a basic decoding ability for still images by using libavif. Animated AVIF images will be covered later. .: * Source/cmake/FindAVIF.cmake: Added to find libavif. * Source/cmake/OptionsGTK.cmake: A build option, USE_AVIF is added. Source/WebCore: A mimetype and a decoder for AVIF are newly added. The new tests verify if an avif image can be decoded and properly rendered. Only the gtk port performs these tests for now. Tests: fast/images/avif-as-image.html fast/images/avif-image-decoding.html * PlatformGTK.cmake: Add AVIFImageDecoder.cpp and AVIFImageReader.cpp as build targets * platform/MIMETypeRegistry.cpp: avif mimetype added. (WebCore::MIMETypeRegistry::supportedImageMIMETypes): * platform/image-decoders/ScalableImageDecoder.cpp: (WebCore::ScalableImageDecoder::create): AVIF file signature added. * platform/image-decoders/avif/AVIFImageDecoder.cpp: Added. (WebCore::AVIFImageDecoder::AVIFImageDecoder): (WebCore::AVIFImageDecoder::frameBufferAtIndex): Decode a frame of avif image. The first frame is decoded for now. (WebCore::AVIFImageDecoder::setFailed): (WebCore::AVIFImageDecoder::tryDecodeSize): Parses header of avif images. (WebCore::AVIFImageDecoder::decode): * platform/image-decoders/avif/AVIFImageDecoder.h: Added. * platform/image-decoders/avif/AVIFImageReader.cpp: Added. (WebCore::AVIFImageReader::AVIFImageReader): (WebCore::AVIFImageReader::~AVIFImageReader): (WebCore::AVIFImageReader::parseHeader): Actual parsing of the header with libavif (WebCore::AVIFImageReader::decodeFrame): Actual decoding of an avif frame. * platform/image-decoders/avif/AVIFImageReader.h: Added. * platform/image-decoders/avif/AVIFUniquePtr.h: Added a smart pointer template for avifDecoder. (WebCore::AVIFPtrDeleter<avifDecoder>::operator() const): Tools: * gtk/install-dependencies: Add dependencies of libavif for jhbuild * gtk/jhbuild.modules: Add libavif for jhbuild LayoutTests: The new tests verify if an avif image can be decoded and properly rendered. Only the gtk port performs these tests for now. * TestExpectations: Skip avif tests for non-gtk ports * fast/images/avif-as-image-expected.html: Added. * fast/images/avif-as-image.html: Added. * fast/images/avif-image-decoding-expected.txt: Added. * fast/images/avif-image-decoding.html: Added. * fast/images/resources/green-313x313.avif: Added. * platform/gtk/TestExpectations: The gtk port should pass the tests. Canonical link: https://commits.webkit.org/234918@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-03-05 16:15:08 +00:00
2021-03-05 ChangSeok Oh <changseok@webkit.org>
AVIF decoding support
https://bugs.webkit.org/show_bug.cgi?id=207750
Reviewed by Philippe Normand.
This patch brings an initial support of AVIF image format to the gtk port.
AVIF is a new royalty-free image format derived from the keyframes of AV1 video.
FireFox and Chromium-variant browsers already support it. Its specification can be found
at https://rawcdn.githack.com/AOMediaCodec/av1-avif/67a92add6cd642a8863e386fa4db87954a6735d1/index.html
This patch aims to land a build option for AVIF and a basic decoding ability
for still images by using libavif. Animated AVIF images will be covered later.
* Source/cmake/FindAVIF.cmake: Added to find libavif.
* Source/cmake/OptionsGTK.cmake: A build option, USE_AVIF is added.
2021-03-03 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r273814.
https://bugs.webkit.org/show_bug.cgi?id=222676
Unresolved types in JavaScriptCore-4.0.gir
Reverted changeset:
"[CMake] JavaScriptCore GLib headers should be copies"
https://bugs.webkit.org/show_bug.cgi?id=222625
https://trac.webkit.org/changeset/273814
[CMake] JavaScriptCore GLib headers should be copies https://bugs.webkit.org/show_bug.cgi?id=222625 Reviewed by Michael Catanzaro. .: Specify the directories for JavaScriptCore GLib headers and derived sources. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/JavaScriptCore: Copy the headers rather than creating a symbolic link to structure the JavaScriptCore Glib headers into a jsc directory. This follows the convention used in JavaScriptCore where there are public and private headers. The public JavaScriptCore GLib headers are copied before building JavaScriptCore. The private JavaScriptCore were modified to include the public GLib headers through <jsc/Header.h> rather than "Header.h" which is convention for the private C APIs in JavaScriptCore. APICast.h was being erroneously included in JSCClassPrivate.h because its not a JavaScriptCore GLib header. Instead forward declarations were added to the private headers and APICast.h was used as necessary in the .cpp files. * API/glib/JSCClassPrivate.h: * API/glib/JSCContext.cpp: * API/glib/JSCContextPrivate.h: * API/glib/JSCExceptionPrivate.h: * API/glib/JSCValuePrivate.h: * API/glib/JSCVirtualMachine.cpp: * API/glib/JSCVirtualMachinePrivate.h: * API/glib/JSCWrapperMap.cpp: * GLib.cmake: * PlatformGTK.cmake: Source/WebKit: Update the includes for the GLib ports. * PlatformGTK.cmake: * PlatformWPE.cmake: * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMNode.cpp: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: Tools: Update the includes for the GLib ports. * MiniBrowser/wpe/CMakeLists.txt: * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: * TestWebKitAPI/glib/CMakeLists.txt: * TestWebKitAPI/glib/PlatformGTK.cmake: Canonical link: https://commits.webkit.org/234787@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-03-03 16:02:09 +00:00
2021-03-03 Don Olmstead <don.olmstead@sony.com>
[CMake] JavaScriptCore GLib headers should be copies
https://bugs.webkit.org/show_bug.cgi?id=222625
Reviewed by Michael Catanzaro.
Specify the directories for JavaScriptCore GLib headers and derived sources.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-03-01 Per Arne <pvollan@apple.com>
[Win] Fix build failure
https://bugs.webkit.org/show_bug.cgi?id=222576
<rdar://problem/74590803>
Reviewed by Brent Fulgham.
It appears a recent change has unintentionally enabled WebInspectorUI on Apple Win. Address this by explicitly disabling it.
* Source/cmake/OptionsAppleWin.cmake:
2021-02-26 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. [GTK] Bump version numbers
* Source/cmake/OptionsGTK.cmake:
Implement OpenXR port graphics binding https://bugs.webkit.org/show_bug.cgi?id=222173 Patch by Imanol Fernandez <ifernandez@igalia.com> on 2021-02-26 Reviewed by Sergio Villar Senin. .: Enable OpenXR defines required for EGL graphics binding. * Source/cmake/OptionsWPE.cmake: Source/WebCore: This patch implements the graphics binding required to initialize OpenXR sessions with tracking and rendering support. The current implementation was using a headless OpenXR session which is not valid for tracking. The headless session was used to avoid allocating the graphics resources during WebXR device enumeration. The problem is that it can't be converted later to a valid session for tracking, and the global XrInstance needs to be recreated. This patch implements a new approach to keep the delayed graphics initialization without using the headless session. * platform/graphics/egl/GLContextEGL.cpp: Add EGLConfig argument to create methods (WebCore::GLContextEGL::createWindowContext): (WebCore::GLContextEGL::createPbufferContext): (WebCore::GLContextEGL::createSurfacelessContext): (WebCore::GLContextEGL::GLContextEGL): * platform/graphics/egl/GLContextEGL.h: Add EGLConfig member * platform/graphics/egl/GLContextEGLLibWPE.cpp: initialize m_config (WebCore::GLContextEGL::GLContextEGL): (WebCore::GLContextEGL::createWPEContext): * platform/graphics/egl/GLContextEGLWayland.cpp: initialize m_config (WebCore::GLContextEGL::GLContextEGL): (WebCore::GLContextEGL::createWaylandContext): * platform/graphics/egl/GLContextEGLX11.cpp: initialize m_config (WebCore::GLContextEGL::GLContextEGL): (WebCore::GLContextEGL::createPixmapContext): * platform/xr/openxr/OpenXRExtensions.cpp: Add OpenXRExtensionMethods (PlatformXR::OpenXRExtensions::loadMethods): * platform/xr/openxr/OpenXRExtensions.h: * platform/xr/openxr/OpenXRInstance.cpp: Enable graphics related extensions instead of XR_MND_HEADLESS_EXTENSION (PlatformXR::Instance::Impl::Impl): * platform/xr/openxr/OpenXRUtils.h: Forward declare symbols required by openxr_platform. * platform/xr/openxr/PlatformXROpenXR.cpp: (PlatformXR::OpenXRDevice::initializeTrackingAndRendering): Setup XrGraphicsBindingEGLMNDX (PlatformXR::OpenXRDevice::collectEnabledFeatures): Alternative solution to enumerateReferenceSpaces() (PlatformXR::OpenXRDevice::collectSupportedSessionModes): (PlatformXR::OpenXRDevice::resetSession): deallocate graphic resources * platform/xr/openxr/PlatformXROpenXR.h: Canonical link: https://commits.webkit.org/234609@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-02-26 11:53:07 +00:00
2021-02-26 Imanol Fernandez <ifernandez@igalia.com>
Implement OpenXR port graphics binding
https://bugs.webkit.org/show_bug.cgi?id=222173
Reviewed by Sergio Villar Senin.
Enable OpenXR defines required for EGL graphics binding.
* Source/cmake/OptionsWPE.cmake:
2021-02-26 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Bump libsoup3 version to 2.99.1
https://bugs.webkit.org/show_bug.cgi?id=222413
Reviewed by Adrian Perez de Castro.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2021-02-24 Cameron McCormack <heycam@apple.com>
Fix typo in Introduction.md.
https://bugs.webkit.org/show_bug.cgi?id=222387
Reviewed by Ryosuke Niwa.
* Introduction.md:
2021-02-23 Don Olmstead <don.olmstead@sony.com>
[CMake] Fix JSCOnly build on Windows
https://bugs.webkit.org/show_bug.cgi?id=222316
Reviewed by Michael Catanzaro.
Turn off ENABLE_WEBASSEMBLY for Windows on JSCOnly now that its possible to build it
without FTL.
* Source/cmake/OptionsJSCOnly.cmake:
[SOUP] Add support for libsoup3 https://bugs.webkit.org/show_bug.cgi?id=222093 Reviewed by Adrian Perez de Castro. .: * Source/cmake/FindLibSoup.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: * platform/Soup.cmake: * platform/network/soup/AuthenticationChallenge.h: * platform/network/soup/AuthenticationChallengeSoup.cpp: (WebCore::AuthenticationChallenge::AuthenticationChallenge): (WebCore::AuthenticationChallenge::platformCompare): * platform/network/soup/CookieSoup.cpp: (WebCore::Cookie::Cookie): (WebCore::Cookie::toSoupCookie const): * platform/network/soup/GUniquePtrSoup.h: * platform/network/soup/NetworkStorageSessionSoup.cpp: (WebCore::schemeFromProtectionSpaceServerType): (WebCore::authTypeFromProtectionSpaceAuthenticationScheme): (WebCore::NetworkStorageSession::setCookiesFromDOM const): (WebCore::NetworkStorageSession::setCookies): (WebCore::NetworkStorageSession::deleteCookie const): (WebCore::NetworkStorageSession::getHostnamesWithCookies): (WebCore::NetworkStorageSession::getCookies): (WebCore::NetworkStorageSession::hasCookies const): (WebCore::NetworkStorageSession::getRawCookies const): (WebCore::cookiesForSession): * platform/network/soup/ResourceErrorSoup.cpp: (WebCore::ResourceError::transportError): (WebCore::ResourceError::httpError): (WebCore::ResourceError::authenticationError): (WebCore::ResourceError::tlsError): * platform/network/soup/ResourceRequest.h: * platform/network/soup/ResourceRequestSoup.cpp: (WebCore::ResourceRequest::createSoupMessage const): (WebCore::ResourceRequest::updateSoupMessageBody const): (WebCore::ResourceRequest::createSoupURI const): * platform/network/soup/ResourceResponseSoup.cpp: (WebCore::ResourceResponse::ResourceResponse): * platform/network/soup/SoupNetworkSession.cpp: (WebCore::SoupNetworkSession::SoupNetworkSession): (WebCore::SoupNetworkSession::setupLogger): (WebCore::SoupNetworkSession::clearHSTSCache): (WebCore::SoupNetworkSession::setProxySettings): * platform/network/soup/SoupVersioning.h: Added. (soup_message_get_method): (soup_server_message_get_method): (soup_message_get_status): (soup_server_message_set_status): (soup_message_get_reason_phrase): (soup_message_get_request_headers): (soup_server_message_get_request_headers): (soup_message_get_response_headers): (soup_server_message_get_response_headers): (soup_server_message_get_response_body): (soup_server_message_set_response): (soup_server_message_get_uri): (soup_message_get_tls_certificate): (soup_message_get_tls_certificate_errors): (soup_session_send_async): (soup_session_websocket_connect_async): (soup_auth_cancel): * platform/network/soup/URLSoup.cpp: (WebCore::soupURIToURL): (WebCore::urlToSoupURI): * platform/network/soup/URLSoup.h: Source/WebDriver: * soup/HTTPServerSoup.cpp: (WebDriver::HTTPServer::listen): Source/WebKit: * NetworkProcess/soup/NetworkDataTaskSoup.cpp: (WebKit::NetworkDataTaskSoup::createRequest): (WebKit::NetworkDataTaskSoup::clearRequest): (WebKit::NetworkDataTaskSoup::resume): (WebKit::NetworkDataTaskSoup::cancel): (WebKit::NetworkDataTaskSoup::tlsConnectionAcceptCertificateCallback): (WebKit::NetworkDataTaskSoup::acceptCertificateCallback): (WebKit::NetworkDataTaskSoup::acceptCertificate): (WebKit::NetworkDataTaskSoup::authenticateCallback): (WebKit::NetworkDataTaskSoup::authenticate): (WebKit::NetworkDataTaskSoup::continueAuthenticate): (WebKit::shouldRedirectAsGET): (WebKit::NetworkDataTaskSoup::continueHTTPRedirection): (WebKit::NetworkDataTaskSoup::didGetHeaders): (WebKit::NetworkDataTaskSoup::wroteBodyDataCallback): (WebKit::NetworkDataTaskSoup::didWriteBodyData): (WebKit::NetworkDataTaskSoup::networkEvent): (WebKit::NetworkDataTaskSoup::hstsEnforced): (WebKit::NetworkDataTaskSoup::didRestart): * NetworkProcess/soup/NetworkDataTaskSoup.h: * NetworkProcess/soup/NetworkSessionSoup.cpp: (WebKit::NetworkSessionSoup::createWebSocketTask): * NetworkProcess/soup/WebSocketTaskSoup.cpp: (WebKit::isConnectionError): (WebKit::WebSocketTask::WebSocketTask): Source/WTF: * wtf/Platform.h: * wtf/URL.h: * wtf/glib/GRefPtr.cpp: (WTF::refGPtr): (WTF::derefGPtr): * wtf/glib/GRefPtr.h: * wtf/glib/URLGLib.cpp: (WTF::URL::URL): (WTF::URL::createGUri const): Tools: * MiniBrowser/gtk/BrowserTab.c: (tlsErrorsDialogResponse): * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp: (Tunnel::Tunnel): (Tunnel::connect): (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp: (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: (testCookieManagerAddCookie): (testCookieManagerGetCookies): (testCookieManagerDeleteCookie): (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp: (addContentDispositionHTTPHeaderToResponse): (writeNextChunk): (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp: (testLoadingError): (testWebViewIsLoading): (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp: (addCacheHTTPHeadersToResponse): (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: (WebSocketTest::serverWebSocketCallback): (httpsServerCallback): (httpServerCallback): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp: (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp: (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp: (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: (serverCallback): (ProxyTest::webSocketProxyServerCallback): (webSocketServerCallback): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp: (serverCallback): * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp: (writeNextChunk): (serverCallback): * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp: (WebKitTestServer::run): (WebKitTestServer::addWebSocketHandler): Canonical link: https://commits.webkit.org/234422@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-02-22 11:07:31 +00:00
2021-02-22 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Add support for libsoup3
https://bugs.webkit.org/show_bug.cgi?id=222093
Reviewed by Adrian Perez de Castro.
* Source/cmake/FindLibSoup.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[GTK][WPE] Implement support for CSS Scroll Snap https://bugs.webkit.org/show_bug.cgi?id=203684 Patch by Martin Robinson <mrobinson@igalia.com> on 2021-02-18 Reviewed by Carlos Garcia Campos. .: Add initial support for css-scroll-snap on WebKitGTK+ and WebKitWPE. This adds support for all types of scroll snapping that WebKit supports apart from mouse wheel snapping. Support for that will be added in a followup change. * Source/cmake/OptionsGTK.cmake: Enable scroll snapping when experimental features are enabled. * Source/cmake/OptionsWPE.cmake: Ditto. Source/WebCore: No new tests. This change unskips all cross-platform scroll-snap tests on both platforms. * Headers.cmake: Add headers to header list. * page/scrolling/ScrollSnapOffsetsInfo.cpp: (WebCore::findFirstSnapStopOffsetBetweenOriginAndDestination): Fix a compilation warning that now shows up on my system. * platform/generic/ScrollAnimatorGeneric.cpp: (WebCore::ScrollAnimatorGeneric::scroll): Pass the 'behavior' parameter to the superclass call. (WebCore::ScrollAnimatorGeneric::scrollToOffsetWithoutAnimation): Call into the super class to update the position instead of using the special method in the subclass. (WebCore::ScrollAnimatorGeneric::updatePosition): Also update the current snap index. This is necessary so that changes to the scroll position also modify the currently target snap index. LayoutTests: * css3/scroll-snap/scroll-padding-mainframe-paging.html: Since the GTK+ port has animated scrolling, we need to modify this test to support a scroll operation that does not happen immediately. * platform/gtk/TestExpectations: Unskip scroll snap tests. * platform/wpe/TestExpectations: Ditto. * resources/ui-helper.js: (window.UIHelper.waitForTargetScrollAnimationToSettle): Added a new helper that uses rAF to detect when an animated scroll operation has finished. This is the same strategy that the WPT tests use to detect this. Canonical link: https://commits.webkit.org/234268@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-02-18 08:49:40 +00:00
2021-02-18 Martin Robinson <mrobinson@igalia.com>
[GTK][WPE] Implement support for CSS Scroll Snap
https://bugs.webkit.org/show_bug.cgi?id=203684
Reviewed by Carlos Garcia Campos.
Add initial support for css-scroll-snap on WebKitGTK+ and WebKitWPE. This
adds support for all types of scroll snapping that WebKit supports apart
from mouse wheel snapping. Support for that will be added in a followup
change.
* Source/cmake/OptionsGTK.cmake: Enable scroll snapping when experimental features
are enabled.
* Source/cmake/OptionsWPE.cmake: Ditto.
2021-02-16 Tim Horton <timothy_horton@apple.com>
Local macCatalyst builds should not build WebInspectorUI
https://bugs.webkit.org/show_bug.cgi?id=221992
Reviewed by Wenson Hsieh.
* Source/Makefile:
This project is not used in macCatalyst, and is not even built in production builds.
We should stop building it in local release/debug builds as well.
2021-02-11 16:58:24 +00:00
2021-02-11 Don Olmstead <don.olmstead@sony.com>
[CMake] WEBKIT_EXECUTABLE can incorrectly link framework
https://bugs.webkit.org/show_bug.cgi?id=221703
Reviewed by Michael Catanzaro.
After r272484 which added an additional test for TestJavaScriptCore the PlayStation build
began failing with an unresolved symbol in bmalloc. On PlayStation both WTF and bmalloc
are linked into JavaScriptCore. That library was building successfully which implied that
WTF was being erroniously linked into TestJavaScriptCore.
Inside _WEBKIT_EXECUTABLE_LINK_FRAMEWORK there was an invalid conditional which was causing
WTF to be linked. Fixed the logic to ensure that if the requested framework is linked into
another framework that is being linked then it is not added to the linker.
* Source/cmake/WebKitMacros.cmake:
2021-02-10 Don Olmstead <don.olmstead@sony.com>
[CMake] Enable hidden visibility on JSCOnly
https://bugs.webkit.org/show_bug.cgi?id=221726
Reviewed by Yusuke Suzuki.
Turn on hidden visibility for all *NIX ports of JSCOnly. To properly export the symbols
from WTF/bmalloc OBJECT libraries are used. This requires CMake 3.12 or later to
function properly.
* Source/cmake/OptionsJSCOnly.cmake:
2021-02-10 Christopher Reid <chris.reid@sony.com>
[PlayStation] Add initial RESOURCE_USAGE implementation
https://bugs.webkit.org/show_bug.cgi?id=221706
Reviewed by Ross Kirsling.
* Source/cmake/OptionsPlayStation.cmake:
2021-02-10 10:18:43 +00:00
2021-02-10 Philippe Normand <pnormand@igalia.com>
[WPE] Optionally build Cog as external project and replacement for MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=221518
Reviewed by Adrian Perez de Castro.
* Source/cmake/OptionsWPE.cmake: New variable for JSC forwarded headers path, useful
uninstalled builds of projects depending on JSC.
2021-02-09 Jonathan Bedard <jbedard@apple.com>
AX: introduction.md broken architecture.png link
https://bugs.webkit.org/show_bug.cgi?id=221607
<rdar://problem/74140397>
Reviewed by Sam Weinig.
* Introduction.md: webkit2-process-architecture.png Moved to resources.
2021-02-08 Alicia Boya García <aboya@igalia.com>
ConsoleMessage: Don't encode string JSONLogValue's as JSON
https://bugs.webkit.org/show_bug.cgi?id=221421
Reviewed by Eric Carlson.
Enable JavaScriptCore API tests.
* Source/cmake/WebKitCommon.cmake:
2021-02-05 Don Olmstead <don.olmstead@sony.com>
[MSVC] Catalog warnings
https://bugs.webkit.org/show_bug.cgi?id=199248
Unreviewed build fix.
Missed a warning generated when building AppleWin.
* Source/cmake/OptionsMSVC.cmake:
2021-02-05 Don Olmstead <don.olmstead@sony.com>
[MSVC] Catalog warnings
https://bugs.webkit.org/show_bug.cgi?id=199248
Reviewed by Fujii Hironori.
Catalog all the MSVC warnings providing the message and a link to documentation
for the warning. Some warnings are noted as being against the style guide so they
won't be addressed. All other warnings could potentially be fixed in the codebase.
* Source/cmake/OptionsMSVC.cmake:
2021-02-04 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.31.1 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
[GStreamer] Misc Thunder nitpicks https://bugs.webkit.org/show_bug.cgi?id=221398 Reviewed by Xabier Rodriguez-Calvar. .: * Source/cmake/FindThunder.cmake: Look-up Thunder through pkg-config before attempting a direct libocdm lookup. Source/WebCore: * platform/UserAgentQuirks.cpp: (WebCore::urlRequiresFirefoxBrowser): For Netflix we should use a Firefox User-Agent, when Thunder is enabled. * platform/graphics/gstreamer/eme/CDMThunder.cpp: (WebCore::CDMFactoryThunder::singleton): Use a dedicated gst debug category for this module, in order to decouple from the decryptor. (WebCore::CDMFactoryThunder::supportedKeySystems const): Use explicit return value, removing possible misunderstandings. (WebCore::CDMPrivateThunder::CDMPrivateThunder): (WebCore::CDMPrivateThunder::supportedRobustnesses const): Thunder supports secure decode/crypto in software. (WebCore::CDMPrivateThunder::supportsServerCertificates const): Plumb to new opencdm_system_supports_certificate API. (WebCore::CDMInstanceThunder::setStorageDirectory): Ensure storage directory exists. (WebCore::ParsedResponseMessage::hasType const): Simplify a bit. (WebCore::CDMInstanceSessionThunder::updateLicense): * platform/graphics/gstreamer/eme/CDMThunder.h: * platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp: (webkit_media_thunder_decrypt_class_init): Use a more explicit name for the debug category. Tools: * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::TEST): Add test for Netflix WPE/GTK UA quirk. Canonical link: https://commits.webkit.org/233697@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-02-04 16:36:33 +00:00
2021-02-04 Philippe Normand <pnormand@igalia.com>
[GStreamer] Misc Thunder nitpicks
https://bugs.webkit.org/show_bug.cgi?id=221398
Reviewed by Xabier Rodriguez-Calvar.
* Source/cmake/FindThunder.cmake: Look-up Thunder through pkg-config before attempting a
direct libocdm lookup.
Lazily create m_windowCloseWatchpoints so we don't mistakenly think we have a frame when re-associating a document to a given cached frame https://bugs.webkit.org/show_bug.cgi?id=221098 <rdar://72894454> Reviewed by Ryosuke Niwa and Mark Lam. .: * ManualTests/dont-create-invalid-watchpoint-when-going-back.html: Added. * ManualTests/resources/empty-text.txt: Added. * ManualTests/resources/full_results.json: Added. * ManualTests/resources/test-results-page.html: Added. Source/JavaScriptCore: * bytecode/AccessCase.cpp: (JSC::AccessCase::commit): * bytecode/Watchpoint.h: (JSC::WatchpointSet::isStillValidOnJSThread const): * runtime/PropertySlot.h: (JSC::PropertySlot::setWatchpointSet): Source/WebCore: There's a scenario when we go back while using the back forward cache, and we re-associate a cached frame with a document, that we were creating an already invalidated "frame cleared" watchpoint. There were a few things we were doing wrong: 1. In JSDOMWindowBase's constructor, we thought that we didn't have a frame, even though we did. It was because we hadn't finished the bookkeeping in `FrameLoader::open(CachedFrameBase& cachedFrame)` that associates a document with a frame. And DOMWindow relies on its document to get its frame. 2. When the watchpoint was invalidated, we were still telling the PropertySlot about it. This was breaking JSC's invariant that these had to be valid watchpoints. This patch resolves: 1. We now lazily create the watchpoint when we first need it. By that time, we would've already been associated with a frame in the above example. 2. We check if the watchpoint is still valid before telling the PropertySlot about it, instead of always assuming it's valid. I wasn't able to get this test to fail in WKTR/DRT, because it seems to be we're crashing when running some JS code from Safari's injected bundle. I've added a manual test instead. * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase): * bindings/js/JSDOMWindowBase.h: * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertySlot): Canonical link: https://commits.webkit.org/233552@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272174 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-02-01 21:40:55 +00:00
2021-02-01 Saam Barati <sbarati@apple.com>
Lazily create m_windowCloseWatchpoints so we don't mistakenly think we have a frame when re-associating a document to a given cached frame
https://bugs.webkit.org/show_bug.cgi?id=221098
<rdar://72894454>
Reviewed by Ryosuke Niwa and Mark Lam.
* ManualTests/dont-create-invalid-watchpoint-when-going-back.html: Added.
* ManualTests/resources/empty-text.txt: Added.
* ManualTests/resources/full_results.json: Added.
* ManualTests/resources/test-results-page.html: Added.
2021-02-01 Don Olmstead <don.olmstead@sony.com>
[Curl] Enable FTP protocol only when ENABLE_FTPDIR is on
https://bugs.webkit.org/show_bug.cgi?id=220941
Reviewed by Fujii Hironori.
Turn off ENABLE_FTPDIR for WinCairo. The version of cURL used has FTP support explicitly
disabled.
* Source/cmake/OptionsWin.cmake:
WebAssembly: add support for stream APIs https://bugs.webkit.org/show_bug.cgi?id=173105 Reviewed by Keith Miller. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/WebKitFeatures.cmake: JSTests: * wasm/stress/resources/tsf.wasm: Added. * wasm/stress/wasm-streaming-compiler-compile.js: Added. (shouldBe): (slice): (async main): (main.catch): * wasm/stress/wasm-streaming-compiler-instantiate.js: Added. (shouldBe): (slice): (async main.): (async main): (main.catch): LayoutTests/imported/w3c: * web-platform-tests/wasm/wasm_stream_compile_test-expected.txt: * web-platform-tests/wasm/wasm_stream_compile_test.html: * web-platform-tests/wasm/wasm_stream_instantiate_test-expected.txt: * web-platform-tests/wasm/wasm_stream_instantiate_test.html: * web-platform-tests/wasm/webapi/abort.any-expected.txt: * web-platform-tests/wasm/webapi/abort.any.worker-expected.txt: * web-platform-tests/wasm/webapi/body.any-expected.txt: * web-platform-tests/wasm/webapi/body.any.worker-expected.txt: * web-platform-tests/wasm/webapi/contenttype.any-expected.txt: * web-platform-tests/wasm/webapi/contenttype.any.worker-expected.txt: * web-platform-tests/wasm/webapi/empty-body.any-expected.txt: * web-platform-tests/wasm/webapi/empty-body.any.worker-expected.txt: * web-platform-tests/wasm/webapi/historical.any-expected.txt: * web-platform-tests/wasm/webapi/historical.any.worker-expected.txt: * web-platform-tests/wasm/webapi/idlharness.any-expected.txt: * web-platform-tests/wasm/webapi/idlharness.any.worker-expected.txt: * web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any-expected.txt: * web-platform-tests/wasm/webapi/instantiateStreaming-bad-imports.any.worker-expected.txt: * web-platform-tests/wasm/webapi/instantiateStreaming.any-expected.txt: * web-platform-tests/wasm/webapi/instantiateStreaming.any.worker-expected.txt: * web-platform-tests/wasm/webapi/invalid-args.any-expected.txt: * web-platform-tests/wasm/webapi/invalid-args.any.worker-expected.txt: * web-platform-tests/wasm/webapi/invalid-code.any-expected.txt: * web-platform-tests/wasm/webapi/invalid-code.any.worker-expected.txt: * web-platform-tests/wasm/webapi/modified-contenttype.any-expected.txt: * web-platform-tests/wasm/webapi/modified-contenttype.any.worker-expected.txt: * web-platform-tests/wasm/webapi/origin.sub.any-expected.txt: * web-platform-tests/wasm/webapi/origin.sub.any.worker-expected.txt: * web-platform-tests/wasm/webapi/rejected-arg.any-expected.txt: * web-platform-tests/wasm/webapi/rejected-arg.any.worker-expected.txt: * web-platform-tests/wasm/webapi/status.any-expected.txt: * web-platform-tests/wasm/webapi/status.any.worker-expected.txt: Source/JavaScriptCore: This patch implements WebAssembly.{compileStreaming,instantiateStreaming}. JavaScriptCore offers Wasm::StreamingCompiler interface to WebCore, so that WebCore can feed FetchResponse and compile wasm code in a streaming fashion. Wasm::StreamingCompiler drives Wasm::LLIntPlan while it does not use Wasm::Worklist since currently Wasm::Worklist is not suitable abstraction for streaming compilation which generates compilation tasks incrementally. Instead, Wasm::StreamingCompiler generates Wasm::StreamingPlan and enqueues them to Wasm::Worklist, and each StreamingPlan compiles one function at a time. And we gather these compiled functions into the one LLIntPlan and finally Wasm::StreamingCompiler completes Wasm::LLIntPlan. We already have Wasm::StreamingParser, which is designed for streaming compilation. We can pass bytes to this parser, and this parser invokes a callback when a new wasm function is found. Then, Wasm::StreamingCompiler generates Wasm::StreamingPlan for that. We add WasmStreamingCompiler JS objects to JSC shell to test streaming compilation easily. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * builtins/WebAssembly.js: (compileStreaming): (instantiateStreaming): * runtime/DeferredWorkTimer.cpp: (JSC::DeferredWorkTimer::cancelPendingWork): * runtime/DeferredWorkTimer.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/OptionsList.h: * tools/JSDollarVM.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): (JSC::JSDollarVM::finishCreation): * wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::BBQPlan): * wasm/WasmBBQPlan.h: * wasm/WasmCodeBlock.cpp: (JSC::Wasm::CodeBlock::CodeBlock): * wasm/WasmEntryPlan.cpp: (JSC::Wasm::EntryPlan::EntryPlan): * wasm/WasmEntryPlan.h: * wasm/WasmLLIntPlan.cpp: (JSC::Wasm::LLIntPlan::LLIntPlan): (JSC::Wasm::LLIntPlan::didCompleteCompilation): (JSC::Wasm::LLIntPlan::completeInStreaming): (JSC::Wasm::LLIntPlan::didCompileFunctionInStreaming): (JSC::Wasm::LLIntPlan::didFailInStreaming): * wasm/WasmLLIntPlan.h: * wasm/WasmModule.cpp: (JSC::Wasm::Module::validateSync): (JSC::Wasm::Module::validateAsync): * wasm/WasmStreamingCompiler.cpp: Added. (JSC::Wasm::StreamingCompiler::StreamingCompiler): (JSC::Wasm::StreamingCompiler::~StreamingCompiler): (JSC::Wasm::StreamingCompiler::create): (JSC::Wasm::StreamingCompiler::didReceiveFunctionData): (JSC::Wasm::StreamingCompiler::didCompileFunction): (JSC::Wasm::StreamingCompiler::didFinishParsing): (JSC::Wasm::StreamingCompiler::completeIfNecessary): (JSC::Wasm::StreamingCompiler::didComplete): (JSC::Wasm::StreamingCompiler::finalize): (JSC::Wasm::StreamingCompiler::fail): (JSC::Wasm::StreamingCompiler::cancel): * wasm/WasmStreamingCompiler.h: Added. * wasm/WasmStreamingParser.cpp: * wasm/WasmStreamingParser.h: * wasm/WasmStreamingPlan.cpp: Copied from Source/JavaScriptCore/builtins/WebAssembly.js. (JSC::Wasm::StreamingPlan::StreamingPlan): (JSC::Wasm::StreamingPlan::work): * wasm/WasmStreamingPlan.h: Copied from Source/JavaScriptCore/wasm/js/JSWebAssembly.h. * wasm/js/JSWebAssembly.cpp: (JSC::JSWebAssembly::finishCreation): (JSC::JSWebAssembly::instantiateForStreaming): (JSC::JSC_DEFINE_HOST_FUNCTION): * wasm/js/JSWebAssembly.h: Source/WebCore: Since WebAssembly.{compileStreaming,instantiateStreaming} needs to handle FetchResponse which is WebCore type, they need to be implemented in WebCore side. To achieve that, JSC offers callback to JSGlobalObject, and WebCore JSDOMGlobalObject can implement them to offer WebAssembly.{compileStreaming,instantiateStreaming} features. We use JSC's Wasm::StreamingCompiler to implement them. WebCore feeds bytes from FetchResponse and drives Wasm::StreamingCompiler. * bindings/js/JSDOMGlobalObject.cpp: (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMGlobalObject::compileStreaming): (WebCore::JSDOMGlobalObject::instantiateStreaming): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMPromiseDeferred.cpp: * bindings/js/JSDOMWindowBase.cpp: (WebCore::tryAllocate): Deleted. (WebCore::isResponseCorrect): Deleted. (WebCore::handleResponseOnStreamingAction): Deleted. (WebCore::JSDOMWindowBase::compileStreaming): Deleted. (WebCore::JSDOMWindowBase::instantiateStreaming): Deleted. * bindings/js/JSDOMWindowBase.h: * bindings/js/JSWorkerGlobalScopeBase.cpp: * bindings/js/JSWorkletGlobalScopeBase.cpp: Source/WTF: * wtf/PlatformEnable.h: Canonical link: https://commits.webkit.org/233426@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-01-28 01:31:34 +00:00
2021-01-27 Yusuke Suzuki <ysuzuki@apple.com>
WebAssembly: add support for stream APIs
https://bugs.webkit.org/show_bug.cgi?id=173105
Reviewed by Keith Miller.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/WebKitFeatures.cmake:
2021-01-27 Angelos Oikonomopoulos <angelos@igalia.com>
Set ruby-indent-level to 4
https://bugs.webkit.org/show_bug.cgi?id=220982
Reviewed by Fujii Hironori.
All the ruby source files seem to default to 4 as the indent
level; make it official.
* .dir-locals.el:
* .editorconfig:
[JSC] Allow to build WebAssembly without B3 https://bugs.webkit.org/show_bug.cgi?id=220365 Patch by Xan Lopez <xan@igalia.com> on 2021-01-23 Reviewed by Yusuke Suzuki. .: Make the WebAssembly feature depend on Baseline JIT, not B3 JIT. Also add a WEBASSEMBLY_B3JIT feature to enable or disable the B3 tier in WebAssembly. * Source/cmake/WebKitFeatures.cmake: disable on 32bit. Source/JavaScriptCore: Make all the B3 related code in WebAssembly a compile-time option. When disabled WebAssembly will only use its LLInt tier. * llint/LLIntOfflineAsmConfig.h: define WEBASSEMBLY_B3JIT for the offline assembler. * llint/WebAssembly.asm: guard B3 code inside WEBASSEMBLY_B3JTI ifdefs. * wasm/WasmAirIRGenerator.cpp: ditto. * wasm/WasmAirIRGenerator.h: ditto. * wasm/WasmB3IRGenerator.cpp: ditto. * wasm/WasmB3IRGenerator.h: ditto. * wasm/WasmBBQPlan.cpp: ditto. * wasm/WasmBBQPlan.h: ditto. * wasm/WasmCallee.h: ditto. * wasm/WasmCodeBlock.cpp: (JSC::Wasm::CodeBlock::CodeBlock): ditto. * wasm/WasmCodeBlock.h: (JSC::Wasm::CodeBlock::wasmEntrypointCalleeFromFunctionIndexSpace): ditto. * wasm/WasmLLIntGenerator.h: ditto. * wasm/WasmLLIntPlan.cpp: ditto. * wasm/WasmOMGForOSREntryPlan.cpp: ditto. * wasm/WasmOMGForOSREntryPlan.h: ditto. * wasm/WasmOMGPlan.cpp: ditto. * wasm/WasmOMGPlan.h: ditto. * wasm/WasmOSREntryData.h: ditto. * wasm/WasmOperations.cpp: ditto. * wasm/WasmOperations.h: ditto. * wasm/WasmPlan.cpp: ditto. * wasm/WasmPlan.h: ditto. * wasm/WasmSlowPaths.cpp: ditto. * wasm/WasmSlowPaths.h: ditto. * wasm/WasmThunks.cpp: ditto. * wasm/WasmThunks.h: ditto. * wasm/WasmTierUpCount.cpp: ditto. * wasm/WasmTierUpCount.h: ditto. * wasm/generateWasmOpsHeader.py: ditto. Source/WTF: * wtf/PlatformEnable.h: Disable WebAssembly on 32bit platforms, enable WebAssembly B3JIT on PLATFORM(COCOA). Tools: * Scripts/webkitperl/FeatureList.pm: add WebAssembly B3 JIT option. Canonical link: https://commits.webkit.org/233281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271775 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-01-23 12:32:22 +00:00
2021-01-23 Xan Lopez <xan@igalia.com>
[JSC] Allow to build WebAssembly without B3
https://bugs.webkit.org/show_bug.cgi?id=220365
Reviewed by Yusuke Suzuki.
Make the WebAssembly feature depend on Baseline JIT, not B3
JIT. Also add a WEBASSEMBLY_B3JIT feature to enable or disable the
B3 tier in WebAssembly.
* Source/cmake/WebKitFeatures.cmake: disable on 32bit.
2021-01-21 Fujii Hironori <Hironori.Fujii@sony.com>
Remove ENABLE_USERSELECT_ALL macro which is enabled for all ports
https://bugs.webkit.org/show_bug.cgi?id=100424
Reviewed by Don Olmstead.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
2021-01-20 Yusuke Suzuki <ysuzuki@apple.com>
Unreviewed, ANGLE should not be built in JSCOnly port
ANGLE is not a part of JSC. Do not build it.
* Source/cmake/OptionsJSCOnly.cmake:
2021-01-19 Lauro Moura <lmoura@igalia.com>
REGRESSION(r271580) [GTK] LTS/Debian build failure due to unsupported g-ir-scanner parameter
https://bugs.webkit.org/show_bug.cgi?id=220730
Reviewed by Philippe Normand.
* Source/cmake/FindGObjectIntrospection.cmake: Expose variable about the
presence of --sources-top-dirs.
2021-01-14 Jonathan Bedard <jbedard@apple.com>
[GitHub] Reference GitHub repository in readme
https://bugs.webkit.org/show_bug.cgi?id=220611
<rdar://problem/73173367>
Reviewed by Aakash Jain.
* ReadMe.md: Reference GitHub repository.
2021-01-12 Fujii Hironori <Hironori.Fujii@sony.com>
[PlayStation] Enable ENABLE_USERSELECT_ALL for -webkit-user-select:all support
https://bugs.webkit.org/show_bug.cgi?id=220533
Reviewed by Don Olmstead.
* Source/cmake/OptionsPlayStation.cmake: Removed the line disabling ENABLE_USERSELECT_ALL.
[GStreamer] Bump version requirement https://bugs.webkit.org/show_bug.cgi?id=220356 Reviewed by Xabier Rodriguez-Calvar. .: * Source/cmake/GStreamerChecks.cmake: Bump required version to 1.14. Source/WebCore: Remove compile-time and runtime GStreamer version checks that are not needed anymore since we now require at least GStreamer 1.14 at configure time. * platform/GStreamer.cmake: * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: (_WebKitWebAudioSrcPrivate::_WebKitWebAudioSrcPrivate): (webKitWebAudioSrcRenderAndPushFrames): (webKitWebAudioSrcChangeState): * platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp: (requestGLContext): (webKitGLVideoSinkChangeState): * platform/graphics/gstreamer/GStreamerAudioMixer.cpp: (WebCore::GStreamerAudioMixer::ensureState): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::wouldTaintOrigin const): (WebCore::MediaPlayerPrivateGStreamer::setPlaybinURL): (WebCore::MediaPlayerPrivateGStreamer::handleMessage): (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): (WebCore::convertToInternalProtocol): Deleted. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: * platform/graphics/gstreamer/PlatformDisplayGStreamer.cpp: (PlatformDisplay::tryEnsureGstGLContext const): * platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp: (webKitAudioSinkChangeState): * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: (webKitWebSrcCreate): (webKitWebSrcGetProtocols): (convertPlaybinURI): * platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h: (WebCore::InitData::payloadContainerType const): * platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp: (transformCaps): * platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp: (webkitMediaStreamSrcChangeState): Canonical link: https://commits.webkit.org/232959@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-01-12 12:33:25 +00:00
2021-01-12 Philippe Normand <pnormand@igalia.com>
[GStreamer] Bump version requirement
https://bugs.webkit.org/show_bug.cgi?id=220356
Reviewed by Xabier Rodriguez-Calvar.
* Source/cmake/GStreamerChecks.cmake: Bump required version to 1.14.
2021-01-12 Xabier Rodriguez Calvar <calvaris@igalia.com>
[GStreamer] Switch from ENABLE_ to USE_ in native audio/video and text sink options
https://bugs.webkit.org/show_bug.cgi?id=220515
Reviewed by Philippe Normand.
* Source/cmake/GStreamerDefinitions.cmake: Add USE_ definitions.
* Source/cmake/WebKitFeatures.cmake: Remove global ENABLE_
definitions.
2021-01-12 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.31.1 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
[PlayStation] Add MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=220359 Reviewed by Don Olmstead. .: Enable Fullscreen API. * Source/cmake/OptionsPlayStation.cmake: Source/WebCore: Add WidgetPlayStation to support custom cursor. Load CA certs in CurlSSLHandle::platformInitialize(). * PlatformPlayStation.cmake: Add WidgetPlayStation.cpp * platform/Widget.cpp: Allow PlayStation specific implementation. * platform/network/playstation/CurlSSLHandlePlayStation.cpp: (WebCore::CurlSSLHandle::platformInitialize): Load CA certs. * platform/playstation/WidgetPlayStation.cpp: Added. (WebCore::Widget::~Widget): (WebCore::Widget::setFrameRect): (WebCore::Widget::paint): (WebCore::Widget::setFocus): (WebCore::Widget::setCursor): Call hostWindow()'s setCursor(). (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setIsSelected): Source/WebKit: Add WKRunloop API to allow an external program to run WebKit's generic runloop. * UIProcess/API/C/playstation/WKRunLoop.cpp: Added. (WKRunLoopRunMain): (WKRunLoopStopMain): (WKRunLoopCallOnMainThread): (WKRunLoopInitializeMain): * UIProcess/API/C/playstation/WKRunLoop.h: Added. Add private WKPagePaint() to draw contents to bitmap. Remove unused WKPageSetSize() implementation. * UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp: (drawPageBackground): (WKPageHandleMouseEvent): Fix button click event handling. (WKPagePaint): * UIProcess/API/C/playstation/WKPagePrivatePlayStation.h: Add WKView API to set view client along with fullscreen API and visibility state API. * UIProcess/API/C/playstation/WKView.cpp: (WKViewGetPage): (WKViewSetSize): (WKViewSetFocus): (WKViewSetActive): (WKViewSetVisible): (WKViewWillEnterFullScreen): (WKViewDidEnterFullScreen): (WKViewWillExitFullScreen): (WKViewDidExitFullScreen): (WKViewRequestExitFullScreen): (WKViewIsFullScreen): (WKViewSetViewClient): * UIProcess/API/C/playstation/WKView.h: * UIProcess/API/C/playstation/WKViewClient.h: Added. * UIProcess/API/playstation/APIViewClient.h: Added. * UIProcess/playstation/PageClientImpl.cpp: * UIProcess/playstation/PageClientImpl.h: * UIProcess/playstation/PlayStationWebView.cpp: * UIProcess/playstation/PlayStationWebView.h: Allow rendering without accelerated compositing. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): * PlatformPlayStation.cmake: Add relevant sources and include directories. Tools: Add PlayStation MiniBrowser sources and CMakeLists.txt. * MiniBrowser/playstation/CMakeLists.txt: Added. * MiniBrowser/playstation/ImageButton.cpp: Added. * MiniBrowser/playstation/ImageButton.h: Added. * MiniBrowser/playstation/MainWindow.cpp: Added. * MiniBrowser/playstation/MainWindow.h: Added. * MiniBrowser/playstation/StringUtils.h: Added. * MiniBrowser/playstation/TitleBar.cpp: Added. * MiniBrowser/playstation/TitleBar.h: Added. * MiniBrowser/playstation/ToolkittenUtils.h: Added. * MiniBrowser/playstation/URLBar.cpp: Added. * MiniBrowser/playstation/URLBar.h: Added. * MiniBrowser/playstation/WebContext.cpp: Added. * MiniBrowser/playstation/WebContext.h: Added. * MiniBrowser/playstation/WebViewWindow.cpp: Added. * MiniBrowser/playstation/WebViewWindow.h: Added. * MiniBrowser/playstation/main.cpp: Added. (loadLibraryOrExit): (initialize): (ApplicationClient::updateApplication): (main): * PlatformPlayStation.cmake: Added. Canonical link: https://commits.webkit.org/232925@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-01-11 15:11:38 +00:00
2021-01-11 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Add MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=220359
Reviewed by Don Olmstead.
Enable Fullscreen API.
* Source/cmake/OptionsPlayStation.cmake:
2021-01-11 Xabier Rodriguez Calvar <calvaris@igalia.com>
[GStreamer] Add support to build with native audio and video
https://bugs.webkit.org/show_bug.cgi?id=220087
Reviewed by Philippe Normand.
* Source/cmake/GStreamerDefinitions.cmake: Enable TEXT_SINK.
* Source/cmake/WebKitFeatures.cmake: Declare TEXT_SINK, NATIVE_VIDEO and NATIVE_AUDIO.
2021-01-08 Ryan Hostetler <rhost@apple.com>
Add support for source caching between platforms
https://bugs.webkit.org/show_bug.cgi?id=220439
rdar://72905725
Reviewed by Andy Estes.
Include WebInspectorUI Source during any installsrc phase.
* Source/Makefile:
2021-01-08 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] Enable ENABLE_USERSELECT_ALL for -webkit-user-select:all support
https://bugs.webkit.org/show_bug.cgi?id=118740
Reviewed by Don Olmstead.
This change also fixes the assertion failure of
editing/inserting/insert-list-user-select-none-crash.html
(Bug 216256).
* Source/cmake/OptionsFTW.cmake: Removed the line disabling ENABLE_USERSELECT_ALL.
* Source/cmake/OptionsWin.cmake: Ditto.
2021-01-07 Ryan Hostetler <rhost@apple.com>
make clean/installsrc fail: You cannot specify -alltargets and also specify individual targets.
https://bugs.webkit.org/show_bug.cgi?id=220370
rdar://72834872
Reviewed by Andy Estes.
Update hardcoded '-alltargets' to use new XCODE_TARGET variable.
* Makefile.shared:
2021-01-07 Monson Shao <holymonson@gmail.com>
[CMake] Add USE_APPLE_ICU option
https://bugs.webkit.org/show_bug.cgi?id=220081
Reviewed by Yusuke Suzuki.
Add USE_APPLE_ICU option to allow non-Mac ports (GTK or JSCOnly) on Darwin could build with
non-Apple ICU.
* Source/cmake/OptionsCommon.cmake:
* Source/cmake/WebKitFindPackage.cmake:
2021-01-06 Alexey Proskuryakov <ap@apple.com>
Make svn status ignore Python 3 __pycache__ directories.
Unreviewed.
Python 2 *.pyc files are still inconsistently handled via svn:ignore on each
directory, but it is not worth cleaning up before GitHub move.
* Tools: Added property svn:global-ignores.
2021-01-06 Fujii Hironori <Hironori.Fujii@sony.com>
[GTK][CMake] Add a build switch USE_OPENGL_OR_ES to be able to disable OpenGL and ES
https://bugs.webkit.org/show_bug.cgi?id=220183
Reviewed by Kenneth Russell.
r270477 removed ENABLE_GRAPHICS_CONTEXT_GL macro and build switch,
but GTK port still needs the build switch. Revert r270477
partially to restore the build switch and rename it to
USE_OPENGL_OR_ES.
* Source/cmake/OptionsGTK.cmake:
2021-01-05 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][curl] Enable CURLSSLOPT_NATIVE_CA flag to use system's CA certs instead of cacert.pem
https://bugs.webkit.org/show_bug.cgi?id=220258
Reviewed by Don Olmstead.
Libcurl 7.71 added a new flag CURLSSLOPT_NATIVE_CA to use the
operating system's native CA store only for Windows. Use the flag
for WinCairo port.
* Source/cmake/OptionsWinCairo.cmake: Bumped the minimum Curl version.
2021-01-04 Lauro Moura <lmoura@igalia.com>
[WebXR][WPE] Build fails without openxr installed
https://bugs.webkit.org/show_bug.cgi?id=220250
Reviewed by Carlos Alberto Lopez Perez.
* Source/cmake/FindOpenXR.cmake: Fix some names and export
OPENXR_FOUND var.
* Source/cmake/OptionsWPE.cmake: Fail config is WebXR is enabled but
couldn't find OpenXR.
2021-01-04 Jeff Miller <jeffm@apple.com>
Update user-visible copyright strings to include 2021
https://bugs.webkit.org/show_bug.cgi?id=219901
Reviewed by Anders Carlsson.
* Source/cmake/tools/scripts/COPYRIGHT-END-YEAR:
2020-12-23 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] Enable WebGL 2
https://bugs.webkit.org/show_bug.cgi?id=192314
Reviewed by Kenneth Russell.
* Source/cmake/OptionsWin.cmake: Turned ENABLE_WEBGL2 on.
2020-12-23 Monson Shao <holymonson@gmail.com>
[CMake] Fix seperated include dir of harfbuzz and harfbuzz-icu
https://bugs.webkit.org/show_bug.cgi?id=220082
Reviewed by Alex Christensen.
In some distros (NixOS) harfbuzz and harfbuzz-icu may have different include dir.
* Source/cmake/FindHarfBuzz.cmake:
2020-12-21 Ryan Hostetler <rhost@apple.com>
$(findstring iphone,$(SDKROOT)) fails when SDKROOT is not lowercase
https://bugs.webkit.org/show_bug.cgi?id=219993
rdar://72436093
Reviewed by Darin Adler.
Update SDKROOT evaluation to be lowercase and SDK filename only.
* Source/Makefile:
[WinCairo] Enable USE_ANGLE https://bugs.webkit.org/show_bug.cgi?id=219421 Reviewed by Don Olmstead. .: * Source/cmake/OptionsWinCairo.cmake: Source/ThirdParty/ANGLE: * CMakeLists.txt: Added entry_points_egl_ext.h to libglesv2_entry_points_headers. Source/WebCore: Switch GraphicsContextGLOpenGL implementation from old one (GraphicsContextGLOpenGLES.cpp) to new one (GraphicsContextGLANGLE.cpp), which is using ANGLE's internal API and verification code, for WinCairo port. I will enable WebGL2 for WinCairo in a follow-up patch. GL_TEXTURE_RECTANGLE_ANGLE is not available for ANGLE D3D backend. Use GL_TEXTURE_2D instead. Add a new class WebCore::ANGLEContext by copying Nicosia::GCGLANGLELayer::ANGLEContext. It'd be better to merge them after GTK and WPE will also switch. * PlatformWin.cmake: * platform/TextureMapper.cmake: * platform/graphics/angle/GraphicsContextGLANGLE.cpp: (WebCore::GraphicsContextGLOpenGL::reshapeFBOs): (WebCore::GraphicsContextGLOpenGL::compileShader): * platform/graphics/opengl/GraphicsContextGLOpenGL.h: * platform/graphics/texmap/ANGLEContext.cpp: Added. (WebCore::ANGLEContext::errorString): (WebCore::ANGLEContext::lastErrorString): (WebCore::ANGLEContext::createContext): (WebCore::ANGLEContext::ANGLEContext): (WebCore::ANGLEContext::~ANGLEContext): (WebCore::ANGLEContext::makeContextCurrent): (WebCore::ANGLEContext::platformContext const): * platform/graphics/texmap/ANGLEContext.h: Added. * platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp: (WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL): (WebCore::GraphicsContextGLOpenGL::isGLES2Compliant const): (WebCore::GraphicsContextGLOpenGL::drawingBufferTextureTarget): * platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp: (WebCore::TextureMapperGCGLPlatformLayer::TextureMapperGCGLPlatformLayer): (WebCore::TextureMapperGCGLPlatformLayer::paintToTextureMapper): * platform/graphics/texmap/TextureMapperGCGLPlatformLayer.h: LayoutTests: * platform/wincairo/TestExpectations: Canonical link: https://commits.webkit.org/232533@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-16 20:04:41 +00:00
2020-12-16 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] Enable USE_ANGLE
https://bugs.webkit.org/show_bug.cgi?id=219421
Reviewed by Don Olmstead.
* Source/cmake/OptionsWinCairo.cmake:
2020-12-13 Don Olmstead <don.olmstead@sony.com>
[CMake] Version of LibPSL not reported
https://bugs.webkit.org/show_bug.cgi?id=219837
Reviewed by Adrian Perez de Castro.
When determining the version of LibPSL from the header file LIBPSL_VERSION was set
but the VERSION_VAR reported was LibPSL_VERSION. Consistently use LibPSL_VERSION
within the file to prevent this.
Additionally LibPSL_LIBRARY not LibPSL_LIBRARIES should be marked_as_advanced.
* Source/cmake/FindLibPSL.cmake:
[CMake] Determine correct visibility for linked frameworks https://bugs.webkit.org/show_bug.cgi?id=210366 Reviewed by Michael Catanzaro. .: WebKit has some frameworks that are compiled statically into a larger shared library. For example Apple compiles bmalloc and WTF into JavaScriptCore. This means the JavaScriptCore framework also exposes the symbols for those two libraries and that targets depending on WTF or bmalloc should link to JavaScriptCore and never to WTF or bmalloc directly. The CMake code allows each port to decide the type of library for a WEBKIT_FRAMEWORK. This means there are many different combinations that it needs to support. To ensure that everything links properly some bookkeeping is required. WEBKIT_FRAMEWORK now uses ${target}_FRAMEWORKS to determine how to link the frameworks it depends on. First the macro determines if the framework is a SHARED library or is linked into a shared library, and if so it is linked as PUBLIC. If the framework itself is not a SHARED library, then it links other STATIC/OBJECT framework as PUBLIC. If the framework itself is SHARED then any framework that is a STATIC/OBJECT library is linked as PRIVATE to stop propagation. The linked framework's header directories are added to the WebKit::${framework} target to allow the framework to present as that framework. A global property is set to inform consumers that they should link to this different framework to get the requested framework. This ensures that all ports can ship with hidden visibility turned on which is a precursor to a port turning on link time optimization (LTO). * Source/cmake/WebKitMacros.cmake: Source/JavaScriptCore: Set JavaScriptCore_FRAMEWORKS to determine correct linkage for the library. Remove explicit setting of STATICALLY_LINKED_WITH_${framework} and $<TARGET_OBJECTS:${framework}> by ports. Move the add_subdirectory of shell to the end of the CMakeLists.txt so its after the WEBKIT_FRAMEWORK call. This ensures that the frameworks linked into JavaScriptCore are known when creating the executables in that directory. * CMakeLists.txt: * PlatformGTK.cmake: * PlatformJSCOnly.cmake: * PlatformMac.cmake: * PlatformPlayStation.cmake: * shell/CMakeLists.txt: Source/WebCore: Set WebCore_FRAMEWORKS and WebCoreTestSupport_FRAMEWORKS to determine correct linkage for the libraries. Remove explicit setting of STATICALLY_LINKED_WITH_PAL. For the GTK port JavaScriptCore is compiled as a SHARED library with WTF and bmalloc compiled into it. WEBKIT_FRAMEWORK now correctly prevents WTF and bmalloc being linked into targets that also link JavaScriptCore. However GTK port can't be compiled with hidden visibility turned on currently to properly export symbols so the libraries are added back to the list for WebCore to keep the old, albiet wrong, behavior. * CMakeLists.txt: * PlatformGTK.cmake: Source/WebCore/PAL: Set PAL_FRAMEWORKS to determine correct linkage for the library. * pal/CMakeLists.txt: Source/WebDriver: Conditionally add bmalloc to the list of WebDriver_FRAMEWORKS. * CMakeLists.txt: Source/WebKit: Set WebKit_FRAMEWORKS to determine correct linkage for the library. Remove explicit setting of STATICALLY_LINKED_WITH_${framework} and $<TARGET_OBJECTS:${framework}> by ports. * CMakeLists.txt: * PlatformFTW.cmake: * PlatformPlayStation.cmake: * PlatformWPE.cmake: * PlatformWin.cmake: Source/WebKitLegacy: Remove explicit setting of STATICALLY_LINKED_WITH_${framework}. * PlatformFTW.cmake: * PlatformWin.cmake: Source/WTF: Set WTF_FRAMEWORKS to determine correct linkage for the library. Remove explicit setting of STATICALLY_LINKED_WITH_${framework} by ports. * wtf/CMakeLists.txt: * wtf/PlatformPlayStation.cmake: Tools: Remove explicit setting of STATICALLY_LINKED_WITH_${framework}. * TestWebKitAPI/PlatformWin.cmake: Canonical link: https://commits.webkit.org/232353@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-11 19:15:43 +00:00
2020-12-11 Don Olmstead <don.olmstead@sony.com>
[CMake] Determine correct visibility for linked frameworks
https://bugs.webkit.org/show_bug.cgi?id=210366
Reviewed by Michael Catanzaro.
WebKit has some frameworks that are compiled statically into a larger shared library. For
example Apple compiles bmalloc and WTF into JavaScriptCore. This means the JavaScriptCore
framework also exposes the symbols for those two libraries and that targets depending
on WTF or bmalloc should link to JavaScriptCore and never to WTF or bmalloc directly.
The CMake code allows each port to decide the type of library for a WEBKIT_FRAMEWORK.
This means there are many different combinations that it needs to support. To ensure that
everything links properly some bookkeeping is required.
WEBKIT_FRAMEWORK now uses ${target}_FRAMEWORKS to determine how to link the frameworks
it depends on. First the macro determines if the framework is a SHARED library or is linked
into a shared library, and if so it is linked as PUBLIC. If the framework itself is not a
SHARED library, then it links other STATIC/OBJECT framework as PUBLIC. If the framework
itself is SHARED then any framework that is a STATIC/OBJECT library is linked as PRIVATE
to stop propagation. The linked framework's header directories are added to the
WebKit::${framework} target to allow the framework to present as that framework. A global
property is set to inform consumers that they should link to this different framework
to get the requested framework.
This ensures that all ports can ship with hidden visibility turned on which is a precursor
to a port turning on link time optimization (LTO).
* Source/cmake/WebKitMacros.cmake:
[CMake] Determine when to use $<TARGET_OBJECTS> for executables https://bugs.webkit.org/show_bug.cgi?id=219648 Reviewed by Michael Catanzaro. .: When a WebKit framework is declared as an OBJECT library the WebKit::${framework} ALIAS does not propagate the objects to the executable being built. As a workaround ports will explicitly add $<TARGET_OBJECTS> to the list of libraries being linked. There is already enough information to determine when $<TARGET_OBJECTS> is needed so this decision is moved into the WEBKIT_EXECUTABLE macros. An additional ${taget_name}_FRAMEWORKS variable is added which specifies the WebKit frameworks being used. This will link the WebKit::${framework} alias and if necessary the associated $<TARGET_OBJECTS>. This functionality will be expanded upon when support for ${target_name}_FRAMEWORKS is added to WebKit frameworks to support hidden visibility across ports. * Source/cmake/WebKitMacros.cmake: Source/JavaScriptCore: Use ${taget_name}_FRAMEWORKS to specify WebKit frameworks when linking executables. * CMakeLists.txt: * shell/CMakeLists.txt: Source/WebDriver: Use ${taget_name}_FRAMEWORKS to specify WebKit frameworks when linking executables. Remove use of $<TARGET_OBJECTS>. * CMakeLists.txt: * PlatformPlayStation.cmake: * PlatformWin.cmake: Tools: Use ${taget_name}_FRAMEWORKS to specify WebKit frameworks when linking executables. Remove use of $<TARGET_OBJECTS>. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformPlayStation.cmake: * TestWebKitAPI/PlatformWin.cmake: * WebKitTestRunner/CMakeLists.txt: Canonical link: https://commits.webkit.org/232316@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-10 21:28:18 +00:00
2020-12-10 Don Olmstead <don.olmstead@sony.com>
[CMake] Determine when to use $<TARGET_OBJECTS> for executables
https://bugs.webkit.org/show_bug.cgi?id=219648
Reviewed by Michael Catanzaro.
When a WebKit framework is declared as an OBJECT library the WebKit::${framework} ALIAS
does not propagate the objects to the executable being built. As a workaround ports will
explicitly add $<TARGET_OBJECTS> to the list of libraries being linked. There is already
enough information to determine when $<TARGET_OBJECTS> is needed so this decision is moved
into the WEBKIT_EXECUTABLE macros.
An additional ${taget_name}_FRAMEWORKS variable is added which specifies the WebKit
frameworks being used. This will link the WebKit::${framework} alias and if necessary the
associated $<TARGET_OBJECTS>.
This functionality will be expanded upon when support for ${target_name}_FRAMEWORKS is
added to WebKit frameworks to support hidden visibility across ports.
* Source/cmake/WebKitMacros.cmake:
2020-12-07 Don Olmstead <don.olmstead@sony.com>
[CMake] Remove WEBKIT_WRAP_SOURCELIST
https://bugs.webkit.org/show_bug.cgi?id=196916
Reviewed by Michael Catanzaro.
WEBKIT_WRAP_SOURCELIST macro is used only to adjust source groups in Visual Studio
projects without any impact on build process. Its references variable specific to
particular targets (WebCore) which contradicts our goal of having target-oriented
CMake project. It can be reintroduced later in a more clean way, in case anyone needs
to have such grouping.
* Source/cmake/WebKitMacros.cmake:
Remove ENABLE_GRAPHICS_CONTEXT_GL by replacing it with ENABLE(WEBGL) https://bugs.webkit.org/show_bug.cgi?id=219551 Reviewed by Kenneth Russell. .: * Source/CMakeLists.txt: * Source/cmake/GStreamerDependencies.cmake: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWinCairo.cmake: Source/WebCore: GraphicsContextGL is a module only for WebGL. ENABLE_WEBGL should be removed if all ports enable it. * CMakeLists.txt: * page/Chrome.cpp: (WebCore::Chrome::windowScreenDidChange): * platform/graphics/ANGLEWebKitBridge.cpp: * platform/graphics/ANGLEWebKitBridge.h: * platform/graphics/FormatConverter.cpp: * platform/graphics/FormatConverter.h: * platform/graphics/GLContext.cpp: * platform/graphics/GLContext.h: * platform/graphics/GraphicsContextGL.cpp: * platform/graphics/GraphicsContextGL.h: * platform/graphics/GraphicsContextGLAttributes.h: * platform/graphics/GraphicsContextGLImageExtractor.cpp: * platform/graphics/GraphicsContextGLImageExtractor.h: * platform/graphics/OpenGLShims.cpp: * platform/graphics/angle/ExtensionsGLANGLE.cpp: * platform/graphics/angle/GraphicsContextGLANGLE.cpp: * platform/graphics/angle/GraphicsContextGLANGLEUtilities.h: * platform/graphics/angle/TemporaryANGLESetting.cpp: * platform/graphics/cairo/GraphicsContextGLCairo.cpp: * platform/graphics/cg/GraphicsContextGLCG.cpp: * platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: * platform/graphics/cv/GraphicsContextGLCV.h: * platform/graphics/cv/GraphicsContextGLCVANGLE.cpp: * platform/graphics/cv/GraphicsContextGLCVANGLE.h: * platform/graphics/egl/GLContextEGL.cpp: * platform/graphics/egl/GLContextEGL.h: * platform/graphics/glx/GLContextGLX.cpp: * platform/graphics/glx/GLContextGLX.h: * platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h: * platform/graphics/opengl/ExtensionsGLOpenGL.cpp: * platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp: * platform/graphics/opengl/ExtensionsGLOpenGLES.cpp: * platform/graphics/opengl/GraphicsContextGLOpenGL.cpp: * platform/graphics/opengl/GraphicsContextGLOpenGL.h: * platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp: * platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp: * platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp: * platform/graphics/opengl/GraphicsContextGLOpenGLManager.cpp: * platform/graphics/opengl/GraphicsContextGLOpenGLPrivate.cpp: * platform/graphics/opengl/TemporaryOpenGLSetting.cpp: * platform/graphics/opengl/TemporaryOpenGLSetting.h: * platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp: * platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp: * platform/graphics/texmap/TextureMapperGCGLPlatformLayer.h: * platform/graphics/win/GraphicsContextGLDirect2D.cpp: Source/WebKit: * CMakeLists.txt: * UIProcess/API/glib/WebKitProtocolHandler.cpp: (WebKit::WebKitProtocolHandler::handleGPU): * UIProcess/gtk/HardwareAccelerationManager.cpp: (WebKit::HardwareAccelerationManager::HardwareAccelerationManager): Source/WTF: * wtf/Platform.h: * wtf/PlatformEnable.h: Canonical link: https://commits.webkit.org/232154@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-05 21:28:48 +00:00
2020-12-05 Fujii Hironori <Hironori.Fujii@sony.com>
Remove ENABLE_GRAPHICS_CONTEXT_GL by replacing it with ENABLE(WEBGL)
https://bugs.webkit.org/show_bug.cgi?id=219551
Reviewed by Kenneth Russell.
* Source/CMakeLists.txt:
* Source/cmake/GStreamerDependencies.cmake:
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWinCairo.cmake:
2020-11-26 Lauro Moura <lmoura@igalia.com>
[GTK][GTK4] Building with GObject-Introspection support does not work
https://bugs.webkit.org/show_bug.cgi?id=219221
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake: Allow introspection with GTK4.
[WinCairo] Enable GPU process https://bugs.webkit.org/show_bug.cgi?id=219294 Reviewed by Don Olmstead. .: * Source/cmake/OptionsWin.cmake: Turned ENABLE_GPU_PROCESS on for WinCairo. Source/WebCore: * platform/graphics/FontPlatformData.cpp: * platform/graphics/win/FontPlatformDataCairoWin.cpp: (WebCore::FontPlatformData::familyName const): Added. Source/WebKit: Added stub functions to build GPU process. Invoke the following command to enable GPU process: > reg add HKEY_CURRENT_USER\Software\WebKit /v gpu_process_canvas_rendering /t REG_DWORD /d 1 /f Invoke the following command to disable GPU process: > reg delete HKEY_CURRENT_USER\Software\WebKit /v gpu_process_canvas_rendering /f * GPUProcess/media/win/RemoteMediaPlayerProxyWin.cpp: Added. (WebKit::RemoteMediaPlayerProxy::prepareForPlayback): (WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable): (WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): (WebKit::RemoteMediaPlayerProxy::enterFullscreen): (WebKit::RemoteMediaPlayerProxy::exitFullscreen): * GPUProcess/win/GPUProcessMainWin.cpp: Added. (WebKit::initializeAuxiliaryProcess<GPUProcess>): (WebKit::GPUProcessMain): * GPUProcess/win/GPUProcessWin.cpp: Added. (WebKit::GPUProcess::initializeProcess): (WebKit::GPUProcess::initializeProcessName): (WebKit::GPUProcess::initializeSandbox): * PlatformWin.cmake: * Shared/WebPreferencesDefaultValues.h: * Shared/curl/WebCoreArgumentCodersCurl.cpp: (IPC::ArgumentCoder<FontAttributes>::encodePlatformData): Deleted. (IPC::ArgumentCoder<FontAttributes>::decodePlatformData): Deleted. (IPC::ArgumentCoder<Ref<Font>>::encodePlatformData): Deleted. (IPC::ArgumentCoder<Ref<Font>>::decodePlatformData): Deleted. * Shared/win/WebCoreArgumentCodersWin.cpp: Added. (IPC::ArgumentCoder<FontAttributes>::encodePlatformData): (IPC::ArgumentCoder<FontAttributes>::decodePlatformData): (IPC::ArgumentCoder<Ref<Font>>::encodePlatformData): (IPC::ArgumentCoder<Ref<Font>>::decodePlatformData): * Shared/win/WebPreferencesDefaultValuesWin.cpp: Added. (WebKit::isFeatureFlagEnabled): * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::submitDisplayList): (WebKit::RemoteRenderingBackendProxy::createItemBuffer): * WebProcess/GPU/media/win/VideoLayerRemoteWin.cpp: Added. (WebKit::createVideoLayerRemote): Source/WTF: * wtf/PlatformHave.h: Turned HAVE_SYSTEM_FEATURE_FLAGS on for Windows. Canonical link: https://commits.webkit.org/231884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270175 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-27 02:18:30 +00:00
2020-11-26 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] Enable GPU process
https://bugs.webkit.org/show_bug.cgi?id=219294
Reviewed by Don Olmstead.
* Source/cmake/OptionsWin.cmake: Turned ENABLE_GPU_PROCESS on for WinCairo.
2020-11-26 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Enable ResourceLoadStatistics
https://bugs.webkit.org/show_bug.cgi?id=219292
Reviewed by Fujii Hironori.
* Source/cmake/OptionsPlayStation.cmake:
Remove quota module https://bugs.webkit.org/show_bug.cgi?id=219206 Reviewed by Anders Carlsson. .: Remove the ability to set ENABLE_QUOTA. The Storage Quota API is deprecated and no WebKit port is enabling it. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/WebCore: Remove the files and any reference to the quota module. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/quota/DOMWindow+Quota.idl: Removed. * Modules/quota/DOMWindowQuota.cpp: Removed. * Modules/quota/DOMWindowQuota.h: Removed. * Modules/quota/Navigator+StorageQuota.idl: Removed. * Modules/quota/NavigatorStorageQuota.cpp: Removed. * Modules/quota/NavigatorStorageQuota.h: Removed. * Modules/quota/StorageErrorCallback.cpp: Removed. * Modules/quota/StorageErrorCallback.h: Removed. * Modules/quota/StorageErrorCallback.idl: Removed. * Modules/quota/StorageInfo.cpp: Removed. * Modules/quota/StorageInfo.h: Removed. * Modules/quota/StorageInfo.idl: Removed. * Modules/quota/StorageQuota.cpp: Removed. * Modules/quota/StorageQuota.h: Removed. * Modules/quota/StorageQuota.idl: Removed. * Modules/quota/StorageQuotaCallback.h: Removed. * Modules/quota/StorageQuotaCallback.idl: Removed. * Modules/quota/StorageUsageCallback.h: Removed. * Modules/quota/StorageUsageCallback.idl: Removed. * Modules/quota/WorkerNavigator+StorageQuota.idl: Removed. * Modules/quota/WorkerNavigatorStorageQuota.cpp: Removed. * Modules/quota/WorkerNavigatorStorageQuota.h: Removed. * Sources.txt: * WebCore.xcodeproj/project.pbxproj: Source/WTF: Remove the ENABLE_QUOTA macro. * wtf/PlatformEnable.h: Tools: Remove the option to ENABLE_QUOTA. * Scripts/webkitperl/FeatureList.pm: Canonical link: https://commits.webkit.org/231829@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-20 17:54:53 +00:00
2020-11-20 Don Olmstead <don.olmstead@sony.com>
Remove quota module
https://bugs.webkit.org/show_bug.cgi?id=219206
Reviewed by Anders Carlsson.
Remove the ability to set ENABLE_QUOTA. The Storage Quota API is deprecated and no
WebKit port is enabling it.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2020-11-09 Michael Catanzaro <mcatanzaro@gnome.org>
Enable llint asm on aarch64 when USE(64KB_PAGE_BLOCK) is enabled
https://bugs.webkit.org/show_bug.cgi?id=218613
Reviewed by Carlos Alberto Lopez Perez.
Normally we fall back to cloop when JIT is not supported. But on aarch64, llint asm is well-
supported, so it is safe to use that here. This will only happen on aarch64, and only when
USE(64KB_PAGE_BLOCK) is enabled, which should probably only be used by RHEL and SUSE.
Everyone else should get the JIT.
* Source/cmake/WebKitFeatures.cmake:
2020-11-04 Sergey Rubanov <chi187@gmail.com>
Fix JSC build on macOS Big Sur
https://bugs.webkit.org/show_bug.cgi?id=218566
Reviewed by David Kilzer.
* Source/cmake/WebKitFindPackage.cmake:
Add new build option USE(64KB_PAGE_BLOCK) https://bugs.webkit.org/show_bug.cgi?id=217989 Patch by Michael Catanzaro <mcatanzaro@gnome.org> on 2020-11-04 Reviewed by Yusuke Suzuki. .: Why do we need this option? Because JSC and bmalloc both want to know the userspace page size at compile time, which is impossible on Linux because it's a runtime setting. We cannot test the system page size at build time in hopes that it will be the same on the target system, because (a) cross compiling wouldn't work, and (b) the build system could use a different page size than the target system (which will be true for Fedora aarch64, because Fedora is built using RHEL), so the best we can do is guess based on the target CPU architecture. In practice, guessing works for all architectures except aarch64 (unless unusual page sizes are used), but it fails for aarch64 because distros are split between using 4 KB and 64 KB pages there. Most distros (including Fedora) use 4 KB, but RHEL uses 64 KB. SUSE actually supports both. Since there is no way to guess correctly, the best we can do is provide an option for it. You should probably only use this if building for aarch64. Otherwise, known CPUs except PowerPC will use 4 KB, while PowerPC and unknown CPUs will use 64 KB (see wtf/PageBlock.h). aarch64 will continue to default to 4 KB because this is a much better default on systems where it doesn't crash. Having one flag will help avoid mistakes. E.g. both RHEL and SUSE were manually passing -DENABLE_JIT=OFF and -DUSE_SYSTEM_MALLOC=ON, but we missed -DENABLE_C_LOOP=ON and -DENABLE_SAMPLING_PROFILER=OFF, so wound up running with both JIT and cloop disabled, a configuration not otherwise used on Linux (and not supported by GTK or WPE ports). It will be easier to not mess up if we only have to pass one special build option. This will also allow us to stop patching PageBlock.h downstream, because I don't like downstream patches that we have to keep forever. * Source/cmake/WebKitFeatures.cmake: Source/WTF: * wtf/PageBlock.h: Canonical link: https://commits.webkit.org/231234@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-04 23:07:34 +00:00
2020-11-04 Michael Catanzaro <mcatanzaro@gnome.org>
Add new build option USE(64KB_PAGE_BLOCK)
https://bugs.webkit.org/show_bug.cgi?id=217989
Reviewed by Yusuke Suzuki.
Why do we need this option? Because JSC and bmalloc both want to know the userspace page
size at compile time, which is impossible on Linux because it's a runtime setting. We
cannot test the system page size at build time in hopes that it will be the same on the
target system, because (a) cross compiling wouldn't work, and (b) the build system could
use a different page size than the target system (which will be true for Fedora aarch64,
because Fedora is built using RHEL), so the best we can do is guess based on the target CPU
architecture. In practice, guessing works for all architectures except aarch64 (unless
unusual page sizes are used), but it fails for aarch64 because distros are split between
using 4 KB and 64 KB pages there. Most distros (including Fedora) use 4 KB, but RHEL uses
64 KB. SUSE actually supports both. Since there is no way to guess correctly, the best we
can do is provide an option for it. You should probably only use this if building for
aarch64. Otherwise, known CPUs except PowerPC will use 4 KB, while PowerPC and unknown CPUs
will use 64 KB (see wtf/PageBlock.h). aarch64 will continue to default to 4 KB because this
is a much better default on systems where it doesn't crash.
Having one flag will help avoid mistakes. E.g. both RHEL and SUSE were manually passing
-DENABLE_JIT=OFF and -DUSE_SYSTEM_MALLOC=ON, but we missed -DENABLE_C_LOOP=ON and
-DENABLE_SAMPLING_PROFILER=OFF, so wound up running with both JIT and cloop disabled, a
configuration not otherwise used on Linux (and not supported by GTK or WPE ports). It will
be easier to not mess up if we only have to pass one special build option. This will also
allow us to stop patching PageBlock.h downstream, because I don't like downstream patches
that we have to keep forever.
* Source/cmake/WebKitFeatures.cmake:
2020-10-30 Ryosuke Niwa <rniwa@webkit.org>
Add Introduction to WebKit
https://bugs.webkit.org/show_bug.cgi?id=217017
Rubber-stamped by Simon Fraser.
Added the basic introductory documentation for WebKit.
* Introduction.md: Added.
* resources/js-wrapper.png: Added.
* resources/webkit2-process-architecture.png: Added.
* resources/xcode-add-file.png: Added.
* resources/xcode-build-settings-for-run.png: Added.
* resources/xcode-export-header.png: Added.
* resources/xcode-scheme-dumprendertree.png: Added.
* resources/xcode-scheme-layout-test.png: Added.
* resources/xcode-workspace-build-location.png: Added.
* resources/xcode-workspace-settings.png: Added.
2020-10-30 Jonathan Bedard <jbedard@apple.com>
Github mirror ReadMe need to update
https://bugs.webkit.org/show_bug.cgi?id=218120
<rdar://problem/70861595>
Reviewed by Aakash Jain.
* ReadMe.md:
2020-10-27 Keith Rollin <krollin@apple.com>
Fix "usage" message when invoking `ar -V`
https://bugs.webkit.org/show_bug.cgi?id=218255
<rdar://problem/70735674>
Reviewed by Fujii Hironori.
The Mac/BSD version of `ar` does not support the -V flag. This flag is
used unconditionally in OptionsCommon.cmake when trying to determine
if the installed `ar` supports the thinning of archives, leading to a
"usage" message being emitted on macOS.
Avoid this message by capturing the error-output. Examine the output
to see if it's a "usage" message. If so, then treat the `ar` as one
that does not support thinning. Any other error-output is printed as a
warning. If there is no error-output, continue processing as normal.
* Source/cmake/OptionsCommon.cmake:
2020-10-27 Brian Burg <bburg@apple.com>
Web Inspector: add ENABLE(INSPECTOR_EXTENSIONS) to feature defines
https://bugs.webkit.org/show_bug.cgi?id=218237
<rdar://problem/69968787>
Reviewed by Antti Koivisto.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
Add ENABLE(INSPECTOR_EXTENSIONS), which is only on for the Cocoa macOS port.
2020-10-26 Keith Rollin <krollin@apple.com>
Move some initialization code from top-level CMakeLists.txt to WebKitCommon.cmake
https://bugs.webkit.org/show_bug.cgi?id=218069
<rdar://problem/70556952>
Reviewed by Fujii Hironori.
Moving this initialization code into a central location allows other
top-level CMakeLists.txt files to include WebKitCommon.cmake and get
that same initialization.
* CMakeLists.txt:
* Source/cmake/WebKitCommon.cmake:
2020-10-23 Philippe Normand <pnormand@igalia.com>
[GStreamer] Replace USE(WEBAUDIO_GSTREAMER) with USE(GSTREAMER)
https://bugs.webkit.org/show_bug.cgi?id=218083
Reviewed by Xabier Rodriguez-Calvar.
A separate define was introduced back when we thought enabling WebAudio without enabling
<audio> would be a highly relevant scenario. I don't think it is very relevant, let's clean
this up.
* Source/cmake/GStreamerChecks.cmake: Wrap the WebAudio platform bits in the USE(GSTREAMER) umbrella.
WebDriver: add support for wheel actions https://bugs.webkit.org/show_bug.cgi?id=217174 Reviewed by Brian Burg. .: Enable WEBDRIVER_WHEEL_INTERACTIONS for GTK and WPE ports. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/WebKitFeatures.cmake: Source/WebDriver: Handle wheel actions. * Actions.h: * Session.cpp: (WebDriver::automationSourceType): Handle InputSource::Type::Wheel. (WebDriver::Session::performActions): Handle Action::Type::Wheel. * WebDriverService.cpp: (WebDriver::processKeyAction): Assert if Action::Subtype::Scroll. (WebDriver::processPointerMoveAction): Move this code to a helper to be used by both pointer move and scroll actions. (WebDriver::processPointerAction): Use processPointerMoveAction(). (WebDriver::processWheelAction): Call processPointerMoveAction() and process the scroll delta too. (WebDriver::processInputActionSequence): Handle InputSource::Type::Wheel. Source/WebKit: * UIProcess/Automation/Automation.json: Add scroll delta to action state. * UIProcess/Automation/SimulatedInputDispatcher.cpp: (WebKit::SimulatedInputSourceState::emptyStateForSourceType): Initialize scrollDelta for wheel actions. (WebKit::SimulatedInputDispatcher::transitionInputSourceToState): Handle SimulatedInputSourceType::Wheel. * UIProcess/Automation/SimulatedInputDispatcher.h: * UIProcess/Automation/WebAutomationSession.cpp: (WebKit::WebAutomationSession::WebAutomationSession): Add SimulatedInputSourceType::Wheel. (WebKit::WebAutomationSession::terminate): Handle pending wheel events. (WebKit::WebAutomationSession::willShowJavaScriptDialog): Ditto. (WebKit::WebAutomationSession::wheelEventsFlushedForPage): Ditto. (WebKit::WebAutomationSession::willClosePage): Ditto. (WebKit::WebAutomationSession::isSimulatingUserInteraction const): Return true if there are pending wheel events too. (WebKit::WebAutomationSession::simulateWheelInteraction): Handle the wheel action. (WebKit::simulatedInputSourceTypeFromProtocolSourceType): Handle Inspector::Protocol::Automation::InputSourceType::Wheel. (WebKit::WebAutomationSession::performInteractionSequence): Initialize the scroll delta for wheel action. * UIProcess/Automation/WebAutomationSession.h: * UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp: (WebKit::WebAutomationSession::platformSimulateWheelInteraction): Synthesize a wheel event. * UIProcess/Automation/wpe/WebAutomationSessionWPE.cpp: (WebKit::WebAutomationSession::platformSimulateWheelInteraction): Ditto. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::isProcessingWheelEvents const): Return whether page has pending wheel events. (WebKit::WebPageProxy::didReceiveEvent): Notify automation that pending wheel events have been processed. * UIProcess/WebPageProxy.h: * config.h: Tools: Add webdriver-wheel-interactions option. * Scripts/webkitperl/FeatureList.pm: WebDriverTests: Remove expectations for wheel actions test. * TestExpectations.json: Canonical link: https://commits.webkit.org/230734@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-21 12:36:18 +00:00
2020-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: add support for wheel actions
https://bugs.webkit.org/show_bug.cgi?id=217174
Reviewed by Brian Burg.
Enable WEBDRIVER_WHEEL_INTERACTIONS for GTK and WPE ports.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:
2020-10-20 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Move ENABLE_ASYNC_SCROLLING build option to right place in OptionsGTK.cmake
https://bugs.webkit.org/show_bug.cgi?id=217977
Unreviewed. No functional changes.
* Source/cmake/OptionsGTK.cmake:
2020-10-20 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Implement HTML5 Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=133847
Reviewed by Michael Catanzaro.
Enable the gamepad support by default for the GTK port. The option is marked PUBLIC
because libmanette is not available in the current Debian "old stable" (Buster), which
we need to support until September 2021.
* Source/cmake/OptionsGTK.cmake: Set ENABLE_GAMEPAD to PUBLIC and ON by default.
2020-10-19 Lauro Moura <lmoura@igalia.com>
REGRESSION(r268115) [GTK] Build failures with GCC 7 (Ubuntu 18.04) and GCC 8 (Debian Buster)
https://bugs.webkit.org/show_bug.cgi?id=217425
Reviewed by Carlos Alberto Lopez Perez.
The root cause is lack of proper <filesystem> support in gcc7/8 (and
incompatibility with llvm's header that was included). As such, we
need to check whether to use <filesystem>, <experimental/filesystem>,
or fallback to the included header.
Note: In some systems like Ubuntu 20.04, gcc-8 can use gcc-9's
libstdc++ and link successfully, but running will fail as it should
actually link with its libstc++fs to provide the correct symbols. As
this is some corner case (Ubuntu's 20 default gcc is 9), LDFLAGS
can be used to overcome this.
* Source/cmake/OptionsCommon.cmake: Add a HAVE directive to
check whether <experimental/filesystem> is the filesystem impl
available.
* Source/cmake/WebKitCompilerFlags.cmake: Test first whether
<filesystem> can be used, with <experimental/filestystem> as fallback.
Remove ACCELERATED_2D_CANVAS build flags and guarded code https://bugs.webkit.org/show_bug.cgi?id=217603 Reviewed by Carlos Garcia Campos. .: Yank the CMake ENABLE_ACCELERATED_2D_CANVAS option now that it won't have any effect. FindCairoGL.cmake can also be removed. * Source/cmake/FindCairoGL.cmake: Removed. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/WebCore: Remove code guarded by the ACCELERATED_2D_CANVAS build guard, along with related build system cruft. This feature was only implemented for Cairo, and even then was using an experimental GL-oriented backend of Cairo that was not providing necessarily better performance or experience and is not seeing further development. * PlatformMac.cmake: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createContext2d): (WebCore::HTMLCanvasElement::createContextBitmapRenderer): (WebCore::HTMLCanvasElement::shouldAccelerate const): (WebCore::HTMLCanvasElement::createImageBuffer const): * html/ImageBitmap.cpp: * html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::isAccelerated const): (WebCore::CanvasRenderingContext2DBase::drawImage): (WebCore::CanvasRenderingContext2DBase::createPattern): (WebCore::CanvasRenderingContext2DBase::didDraw): (WebCore::CanvasRenderingContext2DBase::platformLayer const): Deleted. * html/canvas/CanvasRenderingContext2DBase.h: * html/canvas/ImageBitmapRenderingContext.cpp: * platform/Cairo.cmake: * platform/SourcesCairo.txt: * platform/graphics/GLContext.h: * platform/graphics/PlatformImageBuffer.h: * platform/graphics/cairo/CairoUtilities.cpp: (WebCore::cairoSurfaceSize): * platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.cpp: Removed. * platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h: Removed. * platform/graphics/egl/GLContextEGL.cpp: (WebCore::GLContextEGL::~GLContextEGL): (WebCore::GLContextEGL::cairoDevice): Deleted. * platform/graphics/egl/GLContextEGL.h: * platform/graphics/glx/GLContextGLX.cpp: (WebCore::GLContextGLX::~GLContextGLX): (WebCore::GLContextGLX::cairoDevice): Deleted. * platform/graphics/glx/GLContextGLX.h: * platform/graphics/gpu/Texture.cpp: Removed. * platform/graphics/gpu/Texture.h: Removed. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::nativeImageForCurrentTime): * rendering/RenderLayerBacking.cpp: (WebCore::canvasCompositingStrategy): (WebCore::RenderLayerBacking::updateConfiguration): (WebCore::RenderLayerBacking::containsPaintedContent const): (WebCore::RenderLayerBacking::contentChanged): Source/WTF: * wtf/PlatformEnable.h: Remove the fallback ENABLE_ACCELERATED_2D_CANVAS definition. Tools: * Scripts/webkitperl/FeatureList.pm: Remove the ACCELERATED_2D_CANVAS feature flag. Canonical link: https://commits.webkit.org/230444@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-14 12:06:32 +00:00
2020-10-14 Zan Dobersek <zdobersek@igalia.com>
Remove ACCELERATED_2D_CANVAS build flags and guarded code
https://bugs.webkit.org/show_bug.cgi?id=217603
Reviewed by Carlos Garcia Campos.
Yank the CMake ENABLE_ACCELERATED_2D_CANVAS option now that it won't
have any effect. FindCairoGL.cmake can also be removed.
* Source/cmake/FindCairoGL.cmake: Removed.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2020-10-13 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Set ENABLE_GAMEPAD=ON for developer builds
https://bugs.webkit.org/show_bug.cgi?id=217493
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake: Make the default value of ENABLE_GAMEPAD
depend on ENABLE_EXPERIMENTAL_FEATURES.
2020-10-13 Michael Catanzaro <mcatanzaro@gnome.org>
[WPE][GTK] ENABLE_SHAREABLE_RESOURCE should be PRIVATE build option
https://bugs.webkit.org/show_bug.cgi?id=217592
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2020-10-09 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][GraphicsLayerTextureMapper] backdrop-filter support
https://bugs.webkit.org/show_bug.cgi?id=217081
Reviewed by Don Olmstead.
* Source/cmake/OptionsWin.cmake: Turn ENABLE_FILTERS_LEVEL_2 on for WinCairo.
2020-10-08 Keith Rollin <krollin@apple.com>
Remove copy-webkitlibraries-to-product-directory
https://bugs.webkit.org/show_bug.cgi?id=217465
<rdar://problem/70082193>
Reviewed by Darin Adler.
This script no longer does anything, so remove it along with the
scaffolding around it that invokes it during the build.
* Makefile:
2020-10-04 Ryan Hostetler <rhost@apple.com>
Submission failure with "make: *** No rule to make target `installsrc'. Stop"
https://bugs.webkit.org/show_bug.cgi?id=214696
<rdar://problem/62268104>
Reviewed by Darin Adler.
Add installsrc phase to support xbs submitproject for WebKit repository.
This change allows internal tools to submit and build in a single step.
* Makefile:
* Makefile.shared:
* Source/Makefile:
2020-10-02 Keith Rollin <krollin@apple.com>
Seeing "usage: basename string [suffix]" spam when using make to build
https://bugs.webkit.org/show_bug.cgi?id=217231
<rdar://problem/69889138>
Reviewed by Darin Adler.
The name of the project being built is no longer displayed when using
XCBuild. Therefore, https://bugs.webkit.org/show_bug.cgi?id=216865
taught the Makefile to perform this logging. The approach took
advantage of a `make` variable (PATH_FROM_ROOT) that tracks the
relative path from the root of the build hierarchy to the current
project. However, that variable may not be initialized if the build is
not initiated from the root. Therefore, don't count on that variable,
and get the name of the current project by invoking `pwd`.
* Makefile.shared:
Remove code behind ENABLE(MEDIA_SESSION), no ports enable it https://bugs.webkit.org/show_bug.cgi?id=216831 Reviewed by Alex Christensen. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/WebKitFeatures.cmake: Remove option to build with MEDIA_SESSION, no one was doing it. Source/WebCore: * CMakeLists.txt: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: Remove media session related files. * Modules/airplay/PlaybackTargetClientContextIdentifier.h: Added. * Modules/airplay/WebMediaSessionManager.cpp: Added. * Modules/airplay/WebMediaSessionManager.h: Added. * Modules/airplay/WebMediaSessionManagerClient.h: Added. * Modules/mediasession: Removed. * platform/mediasession: Removed. Delete Modules/mediasession and platform/mediasession. Move files that were actually used for the WIRELESS_PLAYBACK_TARGET feature to Modules/airplay where other parts of that feature are implemented. * dom/Document.cpp: * dom/Document.h: * dom/EventTargetFactory.in: * html/HTMLMediaElement.cpp: * html/HTMLMediaElement.h: * page/ChromeClient.h: * page/Page.cpp: * page/Page.h: * testing/Internals.cpp: * testing/Internals.h: * testing/Internals.idl: Remove all code inside ENABLE(MEDIA_SESSION). Source/WebKit: Removes all code in ENABLE(MEDIA_SESSION) and all media session related SPI. It was never enabled and nothing ever adopted it. * Sources.txt: * SourcesCocoa.txt: * WebKit.xcodeproj/project.pbxproj: Remove media session related files. * Shared/API/APIObject.h: * Shared/API/c/WKBase.h: * Shared/WebCoreArgumentCoders.cpp: * Shared/WebCoreArgumentCoders.h: * Shared/WebMediaSessionMetadata.cpp: Removed. * Shared/WebMediaSessionMetadata.h: Removed. * UIProcess/API/APIUIClient.h: * UIProcess/API/C/WKAPICast.h: * UIProcess/API/C/WKContext.cpp: * UIProcess/API/C/WKContext.h: * UIProcess/API/C/WKMediaSessionFocusManager.cpp: Removed. * UIProcess/API/C/WKMediaSessionFocusManager.h: Removed. * UIProcess/API/C/WKMediaSessionMetadata.cpp: Removed. * UIProcess/API/C/WKMediaSessionMetadata.h: Removed. * UIProcess/API/C/WKPage.cpp: * UIProcess/API/C/WKPagePrivate.h: * UIProcess/API/C/WKPageUIClient.h: * UIProcess/WebMediaSessionFocusManager.cpp: Removed. * UIProcess/WebMediaSessionFocusManager.h: Removed. * UIProcess/WebMediaSessionFocusManagerClient.cpp: Removed. * UIProcess/WebMediaSessionFocusManagerClient.h: Removed. * UIProcess/WebPageProxy.cpp: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/WebProcessPool.cpp: * UIProcess/WebProcessPool.h: * WebProcess/WebCoreSupport/WebChromeClient.cpp: * WebProcess/WebCoreSupport/WebChromeClient.h: * WebProcess/WebPage/WebPage.cpp: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Remove all code in ENABLE(MEDIA_SESSION). Tools: * Scripts/webkitperl/FeatureList.pm: Remove support for building with MEDIA_SESSION enabled. * WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createWebViewWithOptions): Update names to new 'unused' naming. LayoutTests: Remove always skipped Media Session tests. * TestExpectations: * gpu-process/TestExpectations: * media/session: Removed. Canonical link: https://commits.webkit.org/230003@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-02 16:39:47 +00:00
2020-10-02 Sam Weinig <weinig@apple.com>
Remove code behind ENABLE(MEDIA_SESSION), no ports enable it
https://bugs.webkit.org/show_bug.cgi?id=216831
Reviewed by Alex Christensen.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/WebKitFeatures.cmake:
Remove option to build with MEDIA_SESSION, no one was doing it.
2020-10-02 Karl Rackler <rackler@apple.com>
Unreviewed, reverting r267796.
This change is breaking the build on AzulE debug bots.
Reverted changeset:
"Remove code behind ENABLE(MEDIA_SESSION), no ports enable it"
https://bugs.webkit.org/show_bug.cgi?id=216831
https://trac.webkit.org/changeset/267796
2020-10-02 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Build broken with ENABLE_MEDIA_STREAM enabled and ENABLE_WEB_RTC_DISABLED
https://bugs.webkit.org/show_bug.cgi?id=217128
Reviewed by Philippe Normand.
* Source/cmake/GStreamerChecks.cmake: Only enable USE_LIBWEBRTC when both
ENABLE_MEDIA_STREAM and ENABLE_WEB_RTC is defined. This prevents trying to
build code that uses libwebrtc types when ENABLE_WEB_RTC is disabled but
ENABLE_MEDIA_STREAM is enabled.
Remove code behind ENABLE(MEDIA_SESSION), no ports enable it https://bugs.webkit.org/show_bug.cgi?id=216831 Reviewed by Alex Christensen. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/WebKitFeatures.cmake: Remove option to build with MEDIA_SESSION, no one was doing it. Source/WebCore: * CMakeLists.txt: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: Remove media session related files. * Modules/airplay/PlaybackTargetClientContextIdentifier.h: Added. * Modules/airplay/WebMediaSessionManager.cpp: Added. * Modules/airplay/WebMediaSessionManager.h: Added. * Modules/airplay/WebMediaSessionManagerClient.h: Added. * Modules/mediasession: Removed. * platform/mediasession: Removed. Delete Modules/mediasession and platform/mediasession. Move files that were actually used for the WIRELESS_PLAYBACK_TARGET feature to Modules/airplay where other parts of that feature are implemented. * dom/Document.cpp: * dom/Document.h: * dom/EventTargetFactory.in: * html/HTMLMediaElement.cpp: * html/HTMLMediaElement.h: * page/ChromeClient.h: * page/Page.cpp: * page/Page.h: * testing/Internals.cpp: * testing/Internals.h: * testing/Internals.idl: Remove all code inside ENABLE(MEDIA_SESSION). Source/WebKit: Removes all code in ENABLE(MEDIA_SESSION) and all media session related SPI. It was never enabled and nothing ever adopted it. * Sources.txt: * SourcesCocoa.txt: * WebKit.xcodeproj/project.pbxproj: Remove media session related files. * Shared/API/APIObject.h: * Shared/API/c/WKBase.h: * Shared/WebCoreArgumentCoders.cpp: * Shared/WebCoreArgumentCoders.h: * Shared/WebMediaSessionMetadata.cpp: Removed. * Shared/WebMediaSessionMetadata.h: Removed. * UIProcess/API/APIUIClient.h: * UIProcess/API/C/WKAPICast.h: * UIProcess/API/C/WKContext.cpp: * UIProcess/API/C/WKContext.h: * UIProcess/API/C/WKMediaSessionFocusManager.cpp: Removed. * UIProcess/API/C/WKMediaSessionFocusManager.h: Removed. * UIProcess/API/C/WKMediaSessionMetadata.cpp: Removed. * UIProcess/API/C/WKMediaSessionMetadata.h: Removed. * UIProcess/API/C/WKPage.cpp: * UIProcess/API/C/WKPagePrivate.h: * UIProcess/API/C/WKPageUIClient.h: * UIProcess/WebMediaSessionFocusManager.cpp: Removed. * UIProcess/WebMediaSessionFocusManager.h: Removed. * UIProcess/WebMediaSessionFocusManagerClient.cpp: Removed. * UIProcess/WebMediaSessionFocusManagerClient.h: Removed. * UIProcess/WebPageProxy.cpp: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/WebProcessPool.cpp: * UIProcess/WebProcessPool.h: * WebProcess/WebCoreSupport/WebChromeClient.cpp: * WebProcess/WebCoreSupport/WebChromeClient.h: * WebProcess/WebPage/WebPage.cpp: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Remove all code in ENABLE(MEDIA_SESSION). Tools: * Scripts/webkitperl/FeatureList.pm: Remove support for building with MEDIA_SESSION enabled. * WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createWebViewWithOptions): Update names to new 'unused' naming. LayoutTests: Remove always skipped Media Session tests. * TestExpectations: * gpu-process/TestExpectations: * media/session: Removed. Canonical link: https://commits.webkit.org/229917@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-30 17:10:56 +00:00
2020-09-30 Sam Weinig <weinig@apple.com>
Remove code behind ENABLE(MEDIA_SESSION), no ports enable it
https://bugs.webkit.org/show_bug.cgi?id=216831
Reviewed by Alex Christensen.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/WebKitFeatures.cmake:
Remove option to build with MEDIA_SESSION, no one was doing it.
[GStreamer] Internal audio rendering support https://bugs.webkit.org/show_bug.cgi?id=207634 Reviewed by Xabier Rodriguez-Calvar. .: * Source/cmake/FindWPEBackend_fdo.cmake: Check for the audio extension header initially shipped in the 1.8.0 release. * Source/cmake/GStreamerChecks.cmake: Check and enable external audio rendering support if the WPEBackend-FDO audio extension was found. Source/WebCore: This patch introduces two features regarding audio rendering: 1. Internal audio mixing enabled at runtime with the WEBKIT_GST_ENABLE_AUDIO_MIXER=1 environment variable. When this is enabled, the WebProcess will have its GStreamer backends render to dedicated WebKit audio sinks. Those will forward buffers to a singleton audio mixer. The resulting audio stream will then be rendered through the default audio sink (PulseAudio in most cases). Using this approach, applications will maintain a single connection to the audio daemon. 2. For WPE, external audio pass-through. To enable this, the application has to register an audio receiver using the WPEBackend-FDO wpe_audio_register_receiver() API. When this is enabled, the WebKit audio sinks running in the WebProcess will forward audio samples to the UIProcess, using a Wayland protocol defined in the WPEBackend-FDO backend and exposed through its audio extension. This client-side rendering support allows applications to have full control on the audio samples rendering. The Internal mode should be considered a technology preview and can't be enabled by default yet, because audiomixer lacks some features such as reverse playback support. External audio rendering policy is covered by a new WPE API test. * platform/GStreamer.cmake: * platform/audio/gstreamer/AudioDestinationGStreamer.cpp: (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): Create sink depending on selected audio rendering policy and probe platform for a working audio output device only when the WebKit custom audio sink hasn't been selected. This is needed only for the autoaudiosink case. * platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp: (WebCore::AudioSourceProviderGStreamer::configureAudioBin): Instead of creating a new sink, embed the one provided by the player into the audio bin. The resulting bin becomes the player audio sink and it's able to render both to the WebAudio provider and the usual sink, as before. * platform/audio/gstreamer/AudioSourceProviderGStreamer.h: * platform/graphics/gstreamer/GStreamerAudioMixer.cpp: Added. (WebCore::GStreamerAudioMixer::isAllowed): The mixer requires a recent GStreamer version and the inter plugin (shipped in gst-plugins-bad until version 1.20 at least). (WebCore::GStreamerAudioMixer::singleton): Entry point for the mixer. This is where the singleton is created. (WebCore::GStreamerAudioMixer::GStreamerAudioMixer): Configure the standalone mixer pipeline. (WebCore::GStreamerAudioMixer::~GStreamerAudioMixer): (WebCore::GStreamerAudioMixer::ensureState): Lazily start/stop the mixer, depending on the number of incoming streams. The pipeline starts when the first incoming stream is connected, and stops when the last stream disappears. (WebCore::GStreamerAudioMixer::registerProducer): Client pipelines require an interaudiosink, they will render to that sink, which internally forwards data to a twin interaudiosrc element, connected to the audiomixer. (WebCore::GStreamerAudioMixer::unregisterProducer): Get rid of an interaudiosink and its interaudiosrc. This is called by the WebKit audio sink when the element is being disposed. * platform/graphics/gstreamer/GStreamerAudioMixer.h: Added. * platform/graphics/gstreamer/GStreamerCommon.cpp: (WebCore::initializeGStreamerAndRegisterWebKitElements): Register new audio sink element. (WebCore::createPlatformAudioSink): New utility function to create an audio sink based on the desired and implied runtime rendering policy. (WebCore::initializeGStreamerAndRegisterWebKitElements): * platform/graphics/gstreamer/GStreamerCommon.h: * platform/graphics/gstreamer/GUniquePtrGStreamer.h: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): (WebCore::MediaPlayerPrivateGStreamer::seek): Drive-by clean-up, no need to create the seek Mediatime before the early return checking this is a live stream. (WebCore::setSyncOnClock): Fixup code style in this method. (WebCore::MediaPlayerPrivateGStreamer::createAudioSink): (WebCore::MediaPlayerPrivateGStreamer::audioSink const): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: * platform/graphics/gstreamer/WebKitAudioSinkGStreamer.cpp: Added. This sink can either forward incoming samples to the shared audiomixer running in its own pipeline, or forward samples to the UIProcess using the WPEBackend-FDO audio extension. (AudioPacketHolder::AudioPacketHolder): Wrapper around audio buffers, in charge of creating the corresponding memfd descriptor and also keeping track of the corresponding wpe_audio_packet_export. (AudioPacketHolder::~AudioPacketHolder): (AudioPacketHolder::map): Create the memfd descriptor and return it along with the buffer size. (webKitAudioSinkHandleSample): Forward incoming samples using the WPEBackend-FDO audio extension. The wpe_audio_source start is synchronized with the buffer flow. (webKitAudioSinkConfigure): When internal mixing has been requested, create an interaudiosink to which samples will be sent. Internally the interaudiosink will forward data to its interaudiosrc which is connected to the audiomixer. Otherwise, if external rendering has been requested, create an appsink in order to relay samples to the UIProcess. (webKitAudioSinkDispose): (getInternalVolumeObject): When internal mixing is enabled, volume and mute states are tracked within the audiomixer sink pads. Otherwise our audio sink manages this using a volume element. (webKitAudioSinkSetProperty): Proxy volume and mute properties from the internal volume proxy. (webKitAudioSinkGetProperty): Ditto. (webKitAudioSinkChangeState): Keep the WPE audio source state synchronized with the element state, in order to know when the pause/resume notifications should be sent to the UIProcess. This is also where maintain the relationship between the interaudiosink and the audiomixer, when it's enabled. (webkit_audio_sink_class_init): (webkitAudioSinkNew): * platform/graphics/gstreamer/WebKitAudioSinkGStreamer.h: Added. Tools: * Scripts/webkitpy/style/checker.py: White-list the new audio sink from the style checker. * TestWebKitAPI/Tests/WebKit/file-with-video.html: New utility functions to pause and seek in the video. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: WPE test for external audio rendering support. A video file is loaded through the webview and the test receives notifications during playback. In order to reduce timeout risks, a seek near the end of the video is performed early on. (AudioRenderingWebViewTest::setup): (AudioRenderingWebViewTest::teardown): (AudioRenderingWebViewTest::AudioRenderingWebViewTest): (AudioRenderingWebViewTest::handleStart): (AudioRenderingWebViewTest::handleStop): (AudioRenderingWebViewTest::handlePause): (AudioRenderingWebViewTest::handleResume): (AudioRenderingWebViewTest::handlePacket): (AudioRenderingWebViewTest::waitUntilPaused): (AudioRenderingWebViewTest::waitUntilEOS): (AudioRenderingWebViewTest::state const): (beforeAll): Canonical link: https://commits.webkit.org/229908@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-30 14:10:05 +00:00
2020-09-30 Philippe Normand <pnormand@igalia.com>
[GStreamer] Internal audio rendering support
https://bugs.webkit.org/show_bug.cgi?id=207634
Reviewed by Xabier Rodriguez-Calvar.
* Source/cmake/FindWPEBackend_fdo.cmake: Check for the audio extension header initially
shipped in the 1.8.0 release.
* Source/cmake/GStreamerChecks.cmake: Check and enable external audio rendering support if
the WPEBackend-FDO audio extension was found.
2020-09-29 Don Olmstead <don.olmstead@sony.com>
[CMake][WebGPU] Add FindDawn module
https://bugs.webkit.org/show_bug.cgi?id=217097
Reviewed by Darin Adler.
Add a FindDawn CMake module to use for a WebGPU implementation on non-Cocoa platforms.
If ENABLE_WEBGPU is on for WinCairo it will attempt to detect Dawn.
* Source/cmake/FindDawn.cmake: Added.
* Source/cmake/OptionsWinCairo.cmake:
2020-09-28 Keith Rollin <krollin@apple.com>
Print message saying what project is being built
https://bugs.webkit.org/show_bug.cgi?id=216865
<rdar://problem/69408135>
Reviewed by Andy Estes.
XCBuild removes the progress messages saying which project/target is
being built. We can't show the target, but update the Makefiles to at
least show which project is being built.
* Makefile.shared:
2020-09-27 Philippe Normand <pnormand@igalia.com>
Add .ccls config file
https://bugs.webkit.org/show_bug.cgi?id=216877
Reviewed by Darin Adler.
ccls is a stand-alone server implementing the Language Server Protocol for C, C++, and
Objective-C languages. It can be used with any editor which provides an LSP client
implementation. It originates from cquery.
https://github.com/MaskRay/ccls/wiki
It's basically used to provide semantic highlighting and code navigation. Many IDEs support
LSP nowadays.
* .ccls: Added.
* .gitignore:
2020-09-25 Fujii Hironori <Hironori.Fujii@sony.com>
make_names.pl no longer needs C preprocessor
https://bugs.webkit.org/show_bug.cgi?id=216953
Reviewed by Sam Weinig.
* Source/cmake/WebKitCompilerFlags.cmake: Removed CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS which was used only for make_names.pl.
2020-09-25 Antti Koivisto <antti@apple.com>
[LFC][Integration] Enable on Apple Windows port
https://bugs.webkit.org/show_bug.cgi?id=216928
<rdar://problem/69505961>
Reviewed by Zalan Bujtas.
* Source/cmake/OptionsWin.cmake:
Remove ENABLE_SVG_FONTS macro https://bugs.webkit.org/show_bug.cgi?id=216850 Reviewed by Don Olmstead. .: No ports have this disabled, so remove it. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/WebCore: * CMakeLists.txt: * css/CSSFontFace.cpp: (WebCore::CSSFontFace::appendSources): (WebCore::CSSFontFace::hasSVGFontFaceSource const): * css/CSSFontFace.h: * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::CSSFontFaceSource): (WebCore::CSSFontFaceSource::load): (WebCore::CSSFontFaceSource::font): (WebCore::CSSFontFaceSource::isSVGFontFaceSource const): * css/CSSFontFaceSource.h: * css/CSSFontFaceSrcValue.cpp: (WebCore::CSSFontFaceSrcValue::isSVGFontTarget const): (WebCore::CSSFontFaceSrcValue::isSupportedFormat const): * css/CSSFontFaceSrcValue.h: * inspector/agents/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::inspectorResourceType): * loader/LinkLoader.cpp: (WebCore::createLinkPreloadResourceClient): * loader/ResourceLoadInfo.cpp: (WebCore::ContentExtensions::toResourceType): * loader/SubresourceLoader.cpp: (WebCore::logResourceLoaded): * loader/cache/CachedResource.cpp: (WebCore::CachedResource::defaultPriorityForResourceType): (WebCore::CachedResource::isCORSSameOrigin const): * loader/cache/CachedResource.h: * loader/cache/CachedResourceLoader.cpp: (WebCore::createResource): (WebCore::CachedResourceLoader::requestFont): (WebCore::contentTypeFromResourceType): (WebCore::CachedResourceLoader::checkInsecureContent const): (WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const): (WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest): (WebCore::destinationForType): * loader/cache/CachedSVGFont.cpp: * loader/cache/CachedSVGFont.h: * loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::getStatistics): * rendering/svg/SVGTextLayoutEngineSpacing.cpp: * style/StyleResolver.cpp: (WebCore::Style::Resolver::addCurrentSVGFontFaceRules): * svg/SVGAltGlyphDefElement.cpp: * svg/SVGAltGlyphDefElement.h: * svg/SVGAltGlyphDefElement.idl: * svg/SVGAltGlyphElement.cpp: * svg/SVGAltGlyphElement.h: * svg/SVGAltGlyphElement.idl: * svg/SVGAltGlyphItemElement.cpp: * svg/SVGAltGlyphItemElement.h: * svg/SVGAltGlyphItemElement.idl: * svg/SVGDocumentExtensions.cpp: * svg/SVGDocumentExtensions.h: * svg/SVGElement.cpp: (WebCore::SVGElement::childShouldCreateRenderer const): * svg/SVGFontElement.cpp: * svg/SVGFontElement.h: * svg/SVGFontElement.idl: * svg/SVGFontFaceElement.cpp: * svg/SVGFontFaceElement.h: * svg/SVGFontFaceElement.idl: * svg/SVGFontFaceFormatElement.cpp: * svg/SVGFontFaceFormatElement.h: * svg/SVGFontFaceFormatElement.idl: * svg/SVGFontFaceNameElement.cpp: * svg/SVGFontFaceNameElement.h: * svg/SVGFontFaceNameElement.idl: * svg/SVGFontFaceSrcElement.cpp: * svg/SVGFontFaceSrcElement.h: * svg/SVGFontFaceSrcElement.idl: * svg/SVGFontFaceUriElement.cpp: * svg/SVGFontFaceUriElement.h: * svg/SVGFontFaceUriElement.idl: * svg/SVGGlyphElement.cpp: * svg/SVGGlyphElement.h: * svg/SVGGlyphElement.idl: * svg/SVGGlyphRefElement.cpp: * svg/SVGGlyphRefElement.h: * svg/SVGGlyphRefElement.idl: * svg/SVGHKernElement.cpp: * svg/SVGHKernElement.h: * svg/SVGHKernElement.idl: * svg/SVGMissingGlyphElement.cpp: * svg/SVGMissingGlyphElement.h: * svg/SVGMissingGlyphElement.idl: * svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::rendererIsNeeded): * svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::childShouldCreateRenderer const): (WebCore::SVGTSpanElement::rendererIsNeeded): * svg/SVGTests.cpp: (WebCore::supportedSVGFeatures): * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::childShouldCreateRenderer const): * svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::elementFromRenderer): * svg/SVGToOTFFontConversion.cpp: * svg/SVGVKernElement.cpp: * svg/SVGVKernElement.h: * svg/SVGVKernElement.idl: * svg/svgtags.in: Source/WebKit: * WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::maximumBufferingTime): Source/WTF: * wtf/PlatformEnable.h: Tools: * Scripts/webkitperl/FeatureList.pm: Canonical link: https://commits.webkit.org/229681@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-23 19:50:23 +00:00
2020-09-23 Fujii Hironori <Hironori.Fujii@sony.com>
Remove ENABLE_SVG_FONTS macro
https://bugs.webkit.org/show_bug.cgi?id=216850
Reviewed by Don Olmstead.
No ports have this disabled, so remove it.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2020-09-22 Keith Rollin <krollin@apple.com>
Unify debug and release target aliases
https://bugs.webkit.org/show_bug.cgi?id=216863
<rdar://problem/69407746>
Reviewed by Tim Horton.
All Makefiles have "debug", "d", "release", and "r" for build
targets. Others -- but not all -- also include "dev", "develop",
"development", "dep", "deploy", and "deployment". Because of this
inconsistency, trying to use those additional targets didn't work. It
looks like all Makefiles used to support all of those targets, but
some got dropped along the way. For instance, the top-level Makefile
and Source/Makefile dropped them in 2013 as part of Bug 107863. And it
looks like WebKitLibraries/Makefile never had them. Given that those
additional targets don't work, it seems like no one uses them, so
let's remove them completely.
* Makefile.shared:
2020-09-22 Keith Rollin <krollin@apple.com>
Refactor build rules in Makefiles and Makefile.shared
https://bugs.webkit.org/show_bug.cgi?id=216806
<rdar://problem/69332316>
Reviewed by David Kilzer.
Build fix: Previous change for this bug broke the ability to perform a
build with just `make`, due to that code path invoking
`set-webkit-configuration` with no parameters, which causes that
script to error-out.
* Makefile.shared:
2020-09-22 Keith Rollin <krollin@apple.com>
Refactor build rules in Makefiles and Makefile.shared
https://bugs.webkit.org/show_bug.cgi?id=216806
<rdar://problem/69332316>
Reviewed by David Kilzer.
Factor out the common aspects of the build rules in Makefile.shared
and the various Makefiles. This allows us to more easily see what's
different between the various build targets, and to apply uniform
changes across all of the targets.
* Makefile:
* Makefile.shared:
* Source/Makefile:
2020-09-22 Jonathan Bedard <jbedard@apple.com>
Correct instructions for building iOS in ReadMe
https://bugs.webkit.org/show_bug.cgi?id=216825
<rdar://problem/69372654>
Reviewed by David Kilzer.
* ReadMe.md: Update iOS build instructions to apply to all embedded platforms.
2020-09-21 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Use imported targets in find module for the ATK SPI2 bridge dependency
https://bugs.webkit.org/show_bug.cgi?id=216773
Reviewed by Don Olmstead.
* Source/cmake/FindATKBridge.cmake: Rewrite to define an ATK::Bridge imported target.
* Source/cmake/OptionsWPE.cmake: Use the ATK::Bridge imported target.
2020-09-16 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] Add a new library target TestRunnerShared
https://bugs.webkit.org/show_bug.cgi?id=216465
WinCairo port is using both DRT and WTR. However, it has a problem
for precompiled header builds to compile the source of
TestRunnerShared twice for DRT and WTR.
Add a new library target TestRunnerShared. Re-enable precompiled
header for DRT and WTR for WinCairo.
Reviewed by Don Olmstead.
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/WebKitFS.cmake:
2020-09-16 Stephan Szabo <stephan.szabo@sony.com>
Remove ENABLE_METER_ELEMENT
https://bugs.webkit.org/show_bug.cgi?id=216582
Reviewed by Fujii Hironori.
With PlayStation finally planning to turn this on,
no ports had this disabled, so remove the enable flag.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
WebKit should support building with clang ThreadSanitizer enabled <https://webkit.org/b/216318> <rdar://problem/31615729> Reviewed by Darin Adler. This patch doesn't attempt to resolve every potential false positive, but makes it easy to build WebKit with TSan enabled. .: * Makefile.shared: - Update to work with `make [args] TSAN=YES`. Source/WTF: * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: - Add ThreadSanitizerSupport.h to the project. * wtf/Compiler.h: - Define TSAN_ENABLED and SUPPRESS_TSAN macros. * wtf/Locker.h: (WTF::Locker::~Locker): (WTF::Locker::unlockEarly): (WTF::Locker::operator=): (WTF::Locker::lock): - Instrument lock/unlock methods for ThreadSanitizer. * wtf/ThreadSanitizerSupport.h: Add. (AnnotateHappensBefore): (AnnotateHappensAfter): - Declare TSan runtime functions needed to annotate WTF::Locker. (TSAN_ANNOTATE_HAPPENS_BEFORE): (TSAN_ANNOTATE_HAPPENS_AFTER): - Define macros used to call TSan runtime functions if TSan is enabled. Tools: * Scripts/set-webkit-configuration: - Add support for --[no-]tsan switches. * Scripts/webkitdirs.pm: (determineTSanIsEnabled): (tsanIsEnabled): (XcodeOptions): (generateBuildSystemFromCMakeProject): - Add support for building with TSan enabled. * asan/asan.xcconfig: Rename to sanitizer/asan.xcconfig. * sanitizer/asan.xcconfig: Rename from asan/asan.xcconfig. - Extract common variables to sanitizer.xcconfig. * sanitizer/sanitizer.xcconfig: Add. - Extract common variables from asan.xcconfig. * sanitizer/tsan.xcconfig: Add. - Add support for TSan. Canonical link: https://commits.webkit.org/229406@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-16 02:53:36 +00:00
2020-09-15 David Kilzer <ddkilzer@apple.com>
WebKit should support building with clang ThreadSanitizer enabled
<https://webkit.org/b/216318>
<rdar://problem/31615729>
Reviewed by Darin Adler.
This patch doesn't attempt to resolve every potential false
positive, but makes it easy to build WebKit with TSan enabled.
* Makefile.shared:
- Update to work with `make [args] TSAN=YES`.
2020-09-14 Fujii Hironori <Hironori.Fujii@sony.com>
[PlayStation] Enable ENABLE_SVG_FONTS
https://bugs.webkit.org/show_bug.cgi?id=216522
Reviewed by Don Olmstead.
* Source/cmake/OptionsPlayStation.cmake:
[Apple Win] Add a CTFont member to FontPlatformData https://bugs.webkit.org/show_bug.cgi?id=216432 Reviewed by Darin Adler. .: Include ***CoreText.cpp files on the Apple Win port. * Source/cmake/OptionsAppleWin.cmake: Source/WebCore: This is the second step on the path to replacing the Apple Win port's use of CGFont with CTFont. This patch adds m_ctFont to FontPlatformData, and makes FontPlatformData's constructors create this object from their existing arguments. It also enables the USE(CORE_TEXT) flag on the Apple Win port, but manually disables each of the USE(CORE_TEXT) sites on Windows, so there isn't any behavior change just yet. The new member, m_ctFont, is therefore still unused in this patch. The next steps will be replacing our current Apple Win font functions with their USE(CORE_TEXT) counterparts, one-by-one. (Replacing them one-by-one is better than doing them all at once in a giant mondo-patch.) No new tests because there is no behavior change yet. * PlatformAppleWin.cmake: * platform/graphics/Font.cpp: * platform/graphics/FontCascade.cpp: * platform/graphics/FontPlatformData.cpp: * platform/graphics/FontPlatformData.h: The #defines are temporarily getting worse before they'll be getting better. When this project is done, there will be fewer #defines, and this file will be cleaner than it was when I started. (WebCore::FontPlatformData::cgFont const): (WebCore::FontPlatformData::ctFont const): * platform/graphics/coretext/FontCascadeCoreText.cpp: * platform/graphics/coretext/FontCoreText.cpp: * platform/graphics/coretext/FontPlatformDataCoreText.cpp: * platform/graphics/coretext/GlyphPageCoreText.cpp: * platform/graphics/win/FontPlatformDataCGWin.cpp: (WebCore::FontPlatformData::platformDataInit): (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::hash const): (WebCore::FontPlatformData::platformIsEqual const): Canonical link: https://commits.webkit.org/229272@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266982 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-12 23:01:36 +00:00
2020-09-12 Myles C. Maxfield <mmaxfield@apple.com>
[Apple Win] Add a CTFont member to FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=216432
Reviewed by Darin Adler.
Include ***CoreText.cpp files on the Apple Win port.
* Source/cmake/OptionsAppleWin.cmake:
2020-09-10 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Use imported targets in find module for libseccomp
https://bugs.webkit.org/show_bug.cgi?id=216329
Reviewed by Don Olmstead.
* Source/cmake/BubblewrapSandboxChecks.cmake: Use Libseccomp_FOUND.
* Source/cmake/FindLibseccomp.cmake: Rewrite to define the
Libseccomp::Libseccomp target, fall-back to read version from the main
header, and define variables with Libseccomp_ as prefix.
2020-09-04 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. [WPE] Bump version numbers
* Source/cmake/OptionsWPE.cmake:
2020-09-04 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. [GTK] Bump version numbers
* Source/cmake/OptionsGTK.cmake:
[Flatpak SDK] Update to FDO 20.08 https://bugs.webkit.org/show_bug.cgi?id=215763 Reviewed by Žan Doberšek. .: * .gitignore: Ignore buildstream local Flatpak repository. This is created only when manually building the SDK. Tools: Highlights: - ICU 67 (see bug 215327) - gcc update from 9.3.0 to 10.0 - clang update from 8.0 to 10.0 - perf is now included - usable pipewire (host needs a working daemon and recent enough xdg-desktop-portal though) - Mesa is no longer loaded from the flathub GL extension, but included in our downstream SDK, with debug symbols This patch only includes the build definitions updates, bumping the SDK branch to 0.3. The actual migration will be landed in a follow-up patch. * buildstream/elements/flatpak-platform-extensions.bst: * buildstream/elements/flatpak-runtimes.bst: * buildstream/elements/flatpak/platform.bst: * buildstream/elements/flatpak/sdk.bst: * buildstream/elements/freedesktop-sdk.bst: * buildstream/elements/sdk-build-depends/swig.bst: * buildstream/elements/sdk-platform.bst: * buildstream/elements/sdk.bst: * buildstream/elements/sdk/at-spi2-atk.bst: Removed. * buildstream/elements/sdk/at-spi2-core.bst: Removed. * buildstream/elements/sdk/atk.bst: Removed. * buildstream/elements/sdk/brotli.bst: Removed. * buildstream/elements/sdk/glib.bst: * buildstream/elements/sdk/gobject-introspection.bst: Removed. * buildstream/elements/sdk/graphene.bst: * buildstream/elements/sdk/gst-plugins-bad.bst: * buildstream/elements/sdk/gst-plugins-good.bst: * buildstream/elements/sdk/gstreamer.bst: * buildstream/elements/sdk/gtk+-3.bst: * buildstream/elements/sdk/gtk.bst: * buildstream/elements/sdk/libdrm.bst: Added. * buildstream/elements/sdk/libgcrypt.bst: * buildstream/elements/sdk/libsecret.bst: * buildstream/elements/sdk/libsoup.bst: * buildstream/elements/sdk/libsrtp2.bst: Removed. * buildstream/elements/sdk/mesa.bst: Added. * buildstream/elements/sdk/pygobject.bst: * buildstream/elements/sdk/python2-pygobject.bst: * buildstream/elements/sdk/rr.bst: * buildstream/elements/sdk/shared-mime-info.bst: * buildstream/elements/sdk/v4lutils.bst: Removed. * buildstream/elements/sdk/woff2.bst: * buildstream/elements/sdk/xorg-server.bst: * buildstream/elements/test-infra/httpd.bst: * buildstream/patches/fdo/0001-Pango-Bump-to-1.45-master.patch: Removed. * buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Removed. * buildstream/patches/gtk-meson-Bump-to-latest-version-of-the-3.24-branch.patch: Removed. * buildstream/patches/libsecret-b53e9876f4611525b7a8f69a3110fbec51dcede0.patch: Removed. * buildstream/patches/mesa/mesa_libdrm_deps.patch: Added. * buildstream/patches/xserver-search-for-DRI-drivers-at-LIBGL_DRIVERS_PATH-environ.patch: Removed because a variant was landed upstream 2 years ago: https://gitlab.freedesktop.org/xorg/xserver/-/commit/319af6f471912160ab3eb6395ef50f9950063d43 * buildstream/project.conf: * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): White-list a few Mesa environment variables. Canonical link: https://commits.webkit.org/228860@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-02 13:29:55 +00:00
2020-09-02 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update to FDO 20.08
https://bugs.webkit.org/show_bug.cgi?id=215763
Reviewed by Žan Doberšek.
* .gitignore: Ignore buildstream local Flatpak repository. This is created only when
manually building the SDK.
2020-08-31 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Build fix for intermittent copy errors
https://bugs.webkit.org/show_bug.cgi?id=215951
Reviewed by Ross Kirsling.
* Source/cmake/OptionsPlayStation.cmake:
When copying platform specific files into the binary
directory post build on executable targets, we'd
intermittently get copy errors in parallel builds.
2020-08-28 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Enable Notifications support
https://bugs.webkit.org/show_bug.cgi?id=215924
Reviewed by Philippe Normand.
Enable web notifications support for the WPE port. The code is shared with the GTK
port, but as we do not try to find and enable libnotify the default implementation
is a stub: embedders can customize how to display notifications by connecting to
the WebKitWebView:show-notification signal. This way we do not add any additional
build dependencies.
* Source/cmake/OptionsWPE.cmake: Flip ENABLE_NOTIFICATIONS to ON.
2020-08-27 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Build fix due to memmem not always being available.
https://bugs.webkit.org/show_bug.cgi?id=215893
Unreviewed build fix
* Source/cmake/OptionsPlayStation.cmake: Check for memmem
[GTK][WPE] Compilation warnings with clang/gcc 10 https://bugs.webkit.org/show_bug.cgi?id=215699 Reviewed by Darin Adler. .: * Source/cmake/WebKitCompilerFlags.cmake: Disable tautological-compare and misleading-indentation warnings triggering false-positive when building JSC. Source/WebCore: * Modules/indexeddb/server/SQLiteIDBBackingStore.h: Mark class as final because its destructor is marked as such. (WebCore::IDBServer::SQLiteIDBBackingStore::databaseDirectory const): Deleted. (WebCore::IDBServer::SQLiteIDBBackingStore::sessionID const): Deleted. (WebCore::IDBServer::SQLiteIDBBackingStore::databaseRootDirectoryIsolatedCopy const): Deleted. * dom/messageports/MessagePortChannelProviderImpl.h: Ditto. * layout/Verification.cpp: (WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded): Remove spurious matchingRuns assignment. I have no idea how this was supposed to work? * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::JPEGImageReader::decode): Use FALLTHROUGH macro. * platform/image-decoders/webp/WEBPImageDecoder.cpp: (WebCore::WEBPImageDecoder::decodeFrame): Ditto. Source/WebKit: * UIProcess/API/wpe/PageClientImpl.cpp: (WebKit::PageClientImpl::doneWithTouchEvent): Use null input touch event enum value for touch event handling. Tools: * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: Wrap m_geometry private field in GTK ifdefs, this is not used in WPE. * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp: (WTR::PlatformWebView::windowFrame): Return rect built with explicit initializers. * wpe/backends/WindowViewBackend.cpp: Supply additional touch client callbacks, mandated by the interface. Canonical link: https://commits.webkit.org/228502@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-08-22 14:33:25 +00:00
2020-08-22 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Compilation warnings with clang/gcc 10
https://bugs.webkit.org/show_bug.cgi?id=215699
Reviewed by Darin Adler.
* Source/cmake/WebKitCompilerFlags.cmake: Disable tautological-compare and
misleading-indentation warnings triggering false-positive when building JSC.
[GTK][WPE] Remove support for NPAPI plugins https://bugs.webkit.org/show_bug.cgi?id=215503 Reviewed by Darin Adler. .: * Source/cmake/OptionsGTK.cmake: Source/WebKit: * PlatformGTK.cmake: * PluginProcess/unix/PluginControllerProxyUnix.cpp: Removed. * PluginProcess/unix/PluginProcessMainUnix.cpp: Removed. * PluginProcess/unix/PluginProcessUnix.cpp: Removed. * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: Removed. * Shared/Plugins/unix/PluginSearchPath.cpp: Removed. * Shared/Plugins/unix/PluginSearchPath.h: Removed. * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitMimeInfo.cpp: (webkit_mime_info_ref): (webkit_mime_info_unref): (webkit_mime_info_get_mime_type): (webkit_mime_info_get_description): (webkit_mime_info_get_extensions): * UIProcess/API/glib/WebKitMimeInfoPrivate.h: Removed. * UIProcess/API/glib/WebKitPlugin.cpp: (webkit_plugin_get_name): (webkit_plugin_get_description): (webkit_plugin_get_path): (webkit_plugin_get_mime_info_list): * UIProcess/API/glib/WebKitPluginPrivate.h: Removed. * UIProcess/API/glib/WebKitSettings.cpp: (webKitSettingsSetProperty): (webKitSettingsGetProperty): (webkit_settings_class_init): (webkit_settings_get_enable_plugins): (webkit_settings_set_enable_plugins): * UIProcess/API/glib/WebKitWebContext.cpp: (webkit_web_context_set_additional_plugins_directory): (webkit_web_context_get_plugins): (webkit_web_context_get_plugins_finish): * UIProcess/API/glib/WebKitWebView.cpp: (webkitWebViewLoadFail): * UIProcess/API/glib/WebKitWebsiteData.cpp: (recordContainsSupportedDataTypes): (toWebKitWebsiteDataTypes): * UIProcess/API/glib/WebKitWebsiteDataManager.cpp: (toWebsiteDataTypes): * UIProcess/API/gtk/WebKitError.h: * UIProcess/API/gtk/WebKitMimeInfo.h: * UIProcess/API/gtk/WebKitPlugin.h: * UIProcess/API/gtk/WebKitSettings.h: * UIProcess/API/gtk/WebKitWebContext.h: * UIProcess/API/gtk/WebKitWebsiteData.h: * UIProcess/API/wpe/WebKitError.h: * UIProcess/API/wpe/WebKitMimeInfo.h: * UIProcess/API/wpe/WebKitPlugin.h: * UIProcess/API/wpe/WebKitSettings.h: * UIProcess/API/wpe/WebKitWebContext.h: * UIProcess/API/wpe/WebKitWebsiteData.h: * UIProcess/Launcher/glib/BubblewrapLauncher.cpp: (WebKit::bubblewrapSpawn): * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/gtk/PluginInfoCache.cpp: Removed. * UIProcess/Plugins/gtk/PluginInfoCache.h: Removed. * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: Removed. * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: Removed. * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/gtk/WebPageProxyGtk.cpp: * WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.cpp: Removed. * WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.h: Removed. * WebProcess/Plugins/Netscape/unix/PluginProxyUnix.cpp: Removed. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Removed. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h: Removed. * WebProcess/Plugins/PluginController.h: * WebProcess/Plugins/PluginView.cpp: * WebProcess/Plugins/PluginView.h: Tools: * PlatformGTK.cmake: * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: (beforeAll): LayoutTests: Skip tests using plugins and remove expectations. * platform/glib/TestExpectations: * platform/gtk/TestExpectations: * platform/gtk/accessibility/plugin-expected.txt: Removed. * platform/gtk/http/tests/plugins/plugin-javascript-access-allow-all-plugins-expected.txt: Removed. * platform/gtk/plugins/document-open-expected.txt: Removed. * platform/gtk/plugins/embed-attributes-style-expected.png: Removed. * platform/gtk/plugins/embed-attributes-style-expected.txt: Removed. * platform/gtk/plugins/iframe-plugin-bgcolor-expected.png: Removed. * platform/gtk/plugins/invalidate-rect-with-null-npp-argument-expected.txt: Removed. * platform/gtk/plugins/invalidate-rect-with-null-npp-argument.html: Removed. * platform/gtk/plugins/mouse-click-plugin-clears-selection-expected.png: Removed. * platform/gtk/plugins/mouse-click-plugin-clears-selection-expected.txt: Removed. * platform/gtk/plugins/nested-plugin-objects-expected.txt: Removed. * platform/gtk/plugins/netscape-destroy-plugin-script-objects-expected.txt: Removed. * platform/gtk/plugins/netscape-dom-access-expected.png: Removed. * platform/gtk/plugins/netscape-dom-access-expected.txt: Removed. * platform/gtk/plugins/npruntime/object-from-destroyed-plugin-expected.txt: Removed. * platform/gtk/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt: Removed. * platform/gtk/plugins/plugin-clip-subframe-expected.txt: Removed. * platform/gtk/plugins/plugin-initiate-popup-window-expected.txt: Removed. * platform/gtk/plugins/plugin-javascript-access-expected.txt: Removed. * platform/gtk/plugins/resize-from-plugin-expected.txt: Removed. * platform/wpe/TestExpectations: Canonical link: https://commits.webkit.org/228324@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-08-17 12:41:09 +00:00
2020-08-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Remove support for NPAPI plugins
https://bugs.webkit.org/show_bug.cgi?id=215503
Reviewed by Darin Adler.
* Source/cmake/OptionsGTK.cmake:
Remove the need for defining USE_NEW_BUILD_SYSTEM https://bugs.webkit.org/show_bug.cgi?id=215439 Reviewed by Darin Adler. When building WebKit for XCBuild, we currently require that the external build system (such as the Makefile, build-webkit, etc.) defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting controls parts of our build instructions that are sensitive to when XCBuild or the Legacy build system are being used. Notably, we need to know when to use our custom “copy and modify” scripts with copying certain header files (used with the Legacy build system) vs. using the enhanced Copy Headers build phase that’s enabled with APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild). The choice of which method to copy headers is used is controlled by USE_NEW_BUILD_SYSTEM. There is no built-in build setting that we can probe to help us determine which approach to take when copying and modifying headers, which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it turns out that we can *detect* which build system is being used by taking advantage of a subtle difference between the two systems. As noted in: https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10 “When an .xcconfig file contains multiple assignments of the same build setting, later assignments using $(inherited) or $(<setting_name>) will inherit from earlier assignments in the .xcconfig. The legacy build system caused every use of $(inherited) or $(<setting_name>) skip any other values defined within the .xcconfig.” This difference can be exploited as follows: WK_WHICH_BUILD_SYSTEM = not_ WK_WHICH_BUILD_SYSTEM = $(inherited)legacy WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM)) WK_USE_NEW_BUILD_SYSTEM_legacy = NO WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the externally-defined USE_NEW_BUILD_SYSTEM. .: * Makefile.shared: Source/JavaScriptCore: * Configurations/Base.xcconfig: * Configurations/JavaScriptCore.xcconfig: * JavaScriptCore.xcodeproj/project.pbxproj: Source/ThirdParty/ANGLE: * ANGLE.xcodeproj/project.pbxproj: * Configurations/ANGLE-dynamic.xcconfig: * Configurations/ANGLE-static.xcconfig: * Configurations/Base.xcconfig: Source/WebKit: No new tests -- no new or changed functionality. * Configurations/Base.xcconfig: * Configurations/WebKit.xcconfig: * WebKit.xcodeproj/project.pbxproj: Source/WebKitLegacy: * WebKitLegacy.xcodeproj/project.pbxproj: Source/WebKitLegacy/mac: * Configurations/Base.xcconfig: * Configurations/WebKitLegacy.xcconfig: Tools: * Scripts/build-webkit: Canonical link: https://commits.webkit.org/228220@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-08-13 06:09:30 +00:00
2020-08-12 Keith Rollin <krollin@apple.com>
Remove the need for defining USE_NEW_BUILD_SYSTEM
https://bugs.webkit.org/show_bug.cgi?id=215439
Reviewed by Darin Adler.
When building WebKit for XCBuild, we currently require that the
external build system (such as the Makefile, build-webkit, etc.)
defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
controls parts of our build instructions that are sensitive to when
XCBuild or the Legacy build system are being used. Notably, we need to
know when to use our custom “copy and modify” scripts with copying
certain header files (used with the Legacy build system) vs. using the
enhanced Copy Headers build phase thats enabled with
APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
The choice of which method to copy headers is used is controlled by
USE_NEW_BUILD_SYSTEM.
There is no built-in build setting that we can probe to help us
determine which approach to take when copying and modifying headers,
which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
turns out that we can *detect* which build system is being used by
taking advantage of a subtle difference between the two systems. As
noted in:
https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
“When an .xcconfig file contains multiple assignments of the same
build setting, later assignments using $(inherited) or
$(<setting_name>) will inherit from earlier assignments in the
.xcconfig. The legacy build system caused every use of
$(inherited) or $(<setting_name>) skip any other values defined
within the .xcconfig.”
This difference can be exploited as follows:
WK_WHICH_BUILD_SYSTEM = not_
WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
WK_USE_NEW_BUILD_SYSTEM_legacy = NO
WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
externally-defined USE_NEW_BUILD_SYSTEM.
* Makefile.shared:
[GStreamer] gst-full standalone library support https://bugs.webkit.org/show_bug.cgi?id=215262 Reviewed by Xabier Rodriguez-Calvar. .: * Source/cmake/FindGStreamer.cmake: * Source/cmake/GStreamerChecks.cmake: * Source/cmake/GStreamerDefinitions.cmake: Source/WebCore: A new CMake option is introduced to enable gst-full support: USE_GSTREAMER_FULL. By default this option is disabled. WebKit distributors might want to enable this if they distribute GStreamer through gst-build's gst-full library. In gst-build the following options can be used to produce a usable libgstreamer-full-1.0.so: -Dpython=disabled -Dges=disabled -Ddevtools=disabled -Dintrospection=disabled -Ddefault_library=static Once enabled in our build, the dynamic library libgstreamer-full-1.0.so will be loaded instead of all the other GStreamer libraries. Plugins are statically registered in this library as well. This can be useful when deploying WebKit in controlled embedded platform where disk space is limited. One of the goals of gst-full is to enable full customization of the plugins to be included in the library. Static registration can also reduce GStreamer initialization time. * platform/GStreamer.cmake: * platform/graphics/gstreamer/GStreamerCommon.cpp: (WebCore::initializeGStreamer): (WebCore::initializeGStreamerAndRegisterWebKitElements): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Disable missing-plugins handling when gst-full is in use. The plugin installer doesn't make much sense for this scenario. Source/WebKit: Disable missing-plugins handling when gst-full is in use. The plugin installer doesn't make much sense for this scenario. * PlatformWPE.cmake: * UIProcess/API/glib/WebKitInstallMissingMediaPluginsPermissionRequest.cpp: (webkitInstallMissingMediaPluginsPermissionRequestAllow): (webkitInstallMissingMediaPluginsPermissionRequestDeny): (webkit_install_missing_media_plugins_permission_request_get_description): * UIProcess/API/glib/WebKitInstallMissingMediaPluginsPermissionRequestPrivate.h: * UIProcess/API/glib/WebKitWebView.cpp: (webkitWebViewRequestInstallMissingMediaPlugins): * UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.cpp: * UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h: * UIProcess/gstreamer/WebPageProxyGStreamer.cpp: (WebKit::WebPageProxy::requestInstallMissingMediaPlugins): Tools: Somehow unrelated with the gst-full support, disable GStreamer options command-line support in MiniBrowsers. This isn't very useful and pulls GStreamer in the MiniBrowser for no much gain. Use GST_* env variables instead. * MiniBrowser/gtk/CMakeLists.txt: * MiniBrowser/gtk/main.c: (main): * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/main.cpp: (main): Canonical link: https://commits.webkit.org/228143@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-08-11 08:17:37 +00:00
2020-08-11 Philippe Normand <pnormand@igalia.com>
[GStreamer] gst-full standalone library support
https://bugs.webkit.org/show_bug.cgi?id=215262
Reviewed by Xabier Rodriguez-Calvar.
* Source/cmake/FindGStreamer.cmake:
* Source/cmake/GStreamerChecks.cmake:
* Source/cmake/GStreamerDefinitions.cmake:
Remove the ENABLE_DATA_INTERACTION feature flag https://bugs.webkit.org/show_bug.cgi?id=215091 Reviewed by Megan Gardner. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/WebKitFeatures.cmake: Source/WebCore: `ENABLE(DATA_INTERACTION)` is an alias for `PLATFORM(IOS_FAMILY) && ENABLE(DRAG_SUPPORT)`. It was used early on when bringing drag and drop support to iPad in order to hide the feature from open source WebKit code, and has not been necessary for several years. * page/DragController.cpp: (WebCore::DragController::shouldUseCachedImageForDragImage const): * page/DragController.h: (WebCore::DragController::canLoadDataFromDraggingPasteboard const): * page/EventHandler.cpp: (WebCore::EventHandler::dragCancelled): (WebCore::EventHandler::didStartDrag): * page/FocusController.cpp: (WebCore::shouldClearSelectionWhenChangingFocusedElement): * page/mac/DragControllerMac.mm: * platform/DragImage.cpp: * platform/ios/WebItemProviderPasteboard.mm: Source/WebCore/PAL: * pal/spi/ios/UIKitSPI.h: Source/WebKit: * UIProcess/PageClient.h: * UIProcess/WebPageProxy.cpp: * UIProcess/WebPageProxy.messages.in: * UIProcess/ios/DragDropInteractionState.h: * UIProcess/ios/DragDropInteractionState.mm: * UIProcess/ios/PageClientImplIOS.h: * UIProcess/ios/PageClientImplIOS.mm: * UIProcess/ios/WKContentViewInteraction.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView setUpInteraction]): (-[WKContentView cleanUpInteraction]): (-[WKContentView actionSheetAssistant:showCustomSheetForElement:]): * UIProcess/ios/WebPageProxyIOS.mm: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/ios/WebPageIOS.mm: Source/WebKitLegacy/mac: * WebCoreSupport/WebDragClient.mm: * WebView/WebView.mm: * WebView/WebViewData.h: * WebView/WebViewInternal.h: Source/WTF: * wtf/PlatformEnable.h: * wtf/PlatformEnableCocoa.h: Tools: * Scripts/webkitperl/FeatureList.pm: Canonical link: https://commits.webkit.org/227913@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265228 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-08-03 22:48:47 +00:00
2020-08-03 Wenson Hsieh <wenson_hsieh@apple.com>
Remove the ENABLE_DATA_INTERACTION feature flag
https://bugs.webkit.org/show_bug.cgi?id=215091
Reviewed by Megan Gardner.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/WebKitFeatures.cmake:
[GTK4] Enable API tests https://bugs.webkit.org/show_bug.cgi?id=214344 Reviewed by Adrian Perez de Castro. .: Build API tests for GTK4 too. * Source/cmake/OptionsGTK.cmake: Source/WebKit: Use a custom KeyEvent struct to pass to the IM filter as a fake GdkEvent to be able to test input methods with GTK4. * UIProcess/API/glib/InputMethodFilter.h: * UIProcess/API/gtk/InputMethodFilterGtk.cpp: (WebKit::InputMethodFilter::platformEventKeyIsKeyPress const): (WebKit::InputMethodFilter::filterKeyEvent): * UIProcess/API/gtk/WebKitWebViewBaseInternal.h: * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: (WebKit::DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::start): (WebKit::DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::stop): Tools: Port API tests to GTK4. Context menu and option menu tests are still disabled for GTK4 because we plan to change the API for GTK4 in those cases. * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp: (beforeAll): * TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp: (webkitInputMethodContextMockFilterKeyEvent): * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp: * TestWebKitAPI/Tests/WebKitGLib/TestOptionMenu.cpp: (beforeAll): * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: (checkMimeTypeForFilter): * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp: (testWebExtensionInputElementIsUserEdited): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: * TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp: * TestWebKitAPI/Tests/WebKitGtk/InspectorTestServer.cpp: (main): * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp: (testContextMenuPopulateMenu): (beforeAll): * TestWebKitAPI/Tests/WebKitGtk/TestInspector.cpp: * TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp: * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp: (Clipboard::Clipboard): (Clipboard::clear): (Clipboard::containsText const): (Clipboard::waitForText): (Clipboard::readText): (testWebViewEditorCutCopyPasteNonEditable): (testWebViewEditorCutCopyPasteEditable): (testWebViewEditorSelectAllNonEditable): (testWebViewEditorSelectAllEditable): (loadContentsAndTryToCutSelection): * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::Test): * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp: (WebViewTest::platformDestroy): (WebViewTest::showInWindow): * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp: (TestWebKitAPI::Util::isKeyDown): * TestWebKitAPI/gtk/PlatformWebViewGtk.cpp: (TestWebKitAPI::PlatformWebView::~PlatformWebView): (TestWebKitAPI::PlatformWebView::initialize): Canonical link: https://commits.webkit.org/227780@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-07-30 08:53:28 +00:00
2020-07-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Enable API tests
https://bugs.webkit.org/show_bug.cgi?id=214344
Reviewed by Adrian Perez de Castro.
Build API tests for GTK4 too.
* Source/cmake/OptionsGTK.cmake:
2020-07-29 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.29.2 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2020-07-29 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.29.4 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
[GTK][WPE] Support for backdrop-filter https://bugs.webkit.org/show_bug.cgi?id=169988 Reviewed by Adrian Perez de Castro. .: Enable FILTERS_LEVEL_2 by default for WPE and GTK. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Add initial support for backdrop filters to coordinated graphics. * platform/graphics/nicosia/NicosiaPlatformLayer.h: (Nicosia::CompositionLayer::flushState): Update the backdrop layer. * platform/graphics/texmap/TextureMapper.h: * platform/graphics/texmap/TextureMapperLayer.cpp: (WebCore::TextureMapperLayer::computeTransformsRecursive): Call it on backdrop layer too. (WebCore::TextureMapperLayer::paintSelfAndChildren): Paint the backdrop layer before current layer to apply backdrop filters on previous contents, then the layer is painted on top. (WebCore::TextureMapperLayer::paintIntoSurface): In case of backdrop layer paint the root layer up to the target layer into the intermediate surface. (WebCore::TextureMapperLayer::setBackdropLayer): Set the bakdrop layer and mark it as such. (WebCore::TextureMapperLayer::applyAnimationsRecursively): Also call syncAnimations on backdrop layer to get the filters updated. * platform/graphics/texmap/TextureMapperLayer.h: * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::didChangeBackdropFilters): (WebCore::CoordinatedGraphicsLayer::didChangeBackdropFiltersRect): (WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect): Also call it for backdrop layer. (WebCore::CoordinatedGraphicsLayer::setContentsVisible): Ditto. (WebCore::CoordinatedGraphicsLayer::setBackdropFilters): (WebCore::CoordinatedGraphicsLayer::setBackdropFiltersRect): (WebCore::CoordinatedGraphicsLayer::flushCompositingState): Also call it for backdrop layer. (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly): Handle the changes in backdrop filters and the rect, creating the backdrop layer or updating it. (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers): Also call it for backdrop layer. (WebCore::CoordinatedGraphicsLayer::addAnimation): Handle AnimatedPropertyWebkitBackdropFilter property. (WebCore::dumpInnerLayer): Dump internal layer info. (WebCore::CoordinatedGraphicsLayer::dumpAdditionalProperties const): Dump backdrop layer. * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: Source/WebKit: Set the backdrop layer if changed when updating the scene state. * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: (WebKit::CoordinatedGraphicsScene::updateSceneState): LayoutTests: Update test expectations. * platform/glib/TestExpectations: * platform/glib/css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt: Added. * platform/glib/css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt: Added. * platform/glib/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.txt: Added. * platform/glib/css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt: Added. * platform/glib/css3/filters/backdrop/backdrop-filter-with-mask-expected.txt: Added. * platform/glib/css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt: Added. * platform/glib/css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt: Added. * platform/glib/css3/filters/backdrop/resource-use-add-more-layers-expected.txt: Added. * platform/glib/css3/filters/backdrop/resource-use-excessive-expected.txt: Added. * platform/glib/css3/filters/backdrop/resource-use-ok-expected.txt: Added. * platform/glib/css3/filters/backdrop/resource-use-remove-some-layers-expected.txt: Added. * platform/gtk/TestExpectations: * platform/wpe/TestExpectations: Canonical link: https://commits.webkit.org/227680@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-07-28 09:03:30 +00:00
2020-07-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Support for backdrop-filter
https://bugs.webkit.org/show_bug.cgi?id=169988
Reviewed by Adrian Perez de Castro.
Enable FILTERS_LEVEL_2 by default for WPE and GTK.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2020-07-27 Alberto Garcia <berto@igalia.com>
[GTK] Default to OpenGL ES in arm
https://bugs.webkit.org/show_bug.cgi?id=214828
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake:
2020-07-24 Yusuke Suzuki <ysuzuki@apple.com>
Add project.pbxproj editorconfig entry
https://bugs.webkit.org/show_bug.cgi?id=214778
Reviewed by Mark Lam.
We should use tab for project.pbxproj file.
* .editorconfig:
2020-07-21 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.29.1 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2020-07-20 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Do not use ${DEVELOPER_MODE} directly, as it may be undefined
Unreviewed build fix.
Instead of using ${DEVELOPER_MODE} directly, which might be undefined an cause errors, set
first ENABLE_DEVELOPER_MODE based on its value with SET_AND_EXPOSE_TO_BUILD(), and then use
the ${ENABLE_DEVELOPER_MODE} expansion in the rest of the file.
* Source/cmake/OptionsWPE.cmake:
2020-07-13 Xabier Rodriguez Calvar <calvaris@igalia.com>
Unreviewed. Fixed copy&paste typos of gcrypt -> Thunder
* Source/cmake/FindThunder.cmake:
2020-07-11 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] Conic gradients support
https://bugs.webkit.org/show_bug.cgi?id=214216
Reviewed by Sam Weinig.
* Source/cmake/OptionsWin.cmake: Turn ENABLE_CSS_CONIC_GRADIENTS on.
2020-07-10 Don Olmstead <don.olmstead@sony.com> and Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] WOFF2 font support
https://bugs.webkit.org/show_bug.cgi?id=214174
Reviewed by Per Arne Vollan.
* Source/cmake/OptionsWinCairo.cmake: Unmarked fast/text/woff2-totalsfntsize.html and fast/text/woff2.html.
[GStreamer][EME][OpenCDM] Implement OpenCDM support https://bugs.webkit.org/show_bug.cgi?id=213550 Reviewed by Philippe Normand. .: Added support to enable OpenCDM and find it it needed. * Source/cmake/FindOpenCDM.cmake: Added. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/WebKitFeatures.cmake: Source/WebCore: Implemented the OpenCDM support in the CDMOpenCDM and CDMProxyOpenCDM related classes. CDMOpenCDM classes check for Widevine support in OpenCDM and glues the JavaScript API to the OpenCDM/Thunder framework. Building this is optional and --opencdm parameter needs to be passed to build-webkit to get it. CDMProxy related needed changes because of several reasons. First is that Key was considering only a Vector<uint8_t> as a type and OpenCDM has session objects. Key is also renamed to KeyHandle as this name reflects in a better way the purpose of the class. This bleeds out to all CDMProxy related classes. CDMInstanceSessionProxy gets support to remove itself from the CDMSessionProxy. Regarding ClearKey, we adapt the changes to the CDMProxy classes and de-cable protection system from the decryptors as the OpenCDM decryptor could handle more than one system. No new tests. YouTube TV 2019 tests are green. * Headers.cmake: * WebCore.xcodeproj/project.pbxproj: * platform/GStreamer.cmake: * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::dataAsUInt8Ptr const): * platform/SharedBuffer.h: * platform/encryptedmedia/CDMInstance.h: * platform/encryptedmedia/CDMOpenCDMTypes.h: Copied from Source/WebCore/platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp. * platform/encryptedmedia/CDMProxy.cpp: (WebCore::KeyHandle::idAsString const): (WebCore::KeyHandle::takeValueIfDifferent): (WebCore::KeyStore::containsKeyID const): (WebCore::KeyStore::merge): (WebCore::KeyStore::allKeysAs const): (WebCore::KeyStore::addKeys): (WebCore::KeyStore::add): (WebCore::KeyStore::remove): (WebCore::KeyStore::keyHandle const): (WebCore::CDMProxy::keyHandle const): (WebCore::CDMProxy::tryWaitForKeyHandle const): (WebCore::CDMProxy::keyAvailableUnlocked const): (WebCore::CDMProxy::keyAvailable const): (WebCore::CDMProxy::getOrWaitForKeyHandle const): (WebCore::CDMProxy::getOrWaitForKeyValue const): (WebCore::CDMInstanceSessionProxy::CDMInstanceSessionProxy): (WebCore::CDMInstanceSessionProxy::removeFromInstanceProxy): * platform/encryptedmedia/CDMProxy.h: (WebCore::KeyHandle::create): (WebCore::KeyHandle::id const): (WebCore::KeyHandle::value const): (WebCore::KeyHandle::value): (WebCore::KeyHandle::isStatusCurrentlyValid): (WebCore::KeyHandle::operator==): (WebCore::KeyHandle::operator<): (WebCore::KeyHandle::KeyHandle): (WebCore::KeyStore::isEmpty const): (WebCore::CDMProxy::instance const): (WebCore::CDMInstanceSessionProxy::releaseDecryptionResources): (WebCore::CDMInstanceSessionProxy::cdmInstanceProxy const): (WebCore::CDMInstanceProxy::proxy const): (WebCore::CDMInstanceProxy::removeSession): * platform/encryptedmedia/CDMUtilities.cpp: Copied from Source/WebCore/platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp. (WebCore::CDMUtilities::parseJSONObject): * platform/encryptedmedia/CDMUtilities.h: Copied from Source/WebCore/platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp. * platform/encryptedmedia/clearkey/CDMClearKey.cpp: (WebCore::parseLicenseFormat): (WebCore::CDMPrivateClearKey::supportsInitData const): (WebCore::CDMPrivateClearKey::sanitizeResponse const): (WebCore::CDMInstanceSessionClearKey::updateLicense): (WebCore::CDMInstanceSessionClearKey::removeSessionData): (WebCore::CDMInstanceSessionClearKey::parentInstance const): * platform/encryptedmedia/clearkey/CDMClearKey.h: * platform/graphics/gstreamer/GStreamerCommon.cpp: (WebCore::isOpenCDMRanked): (WebCore::initializeGStreamerAndRegisterWebKitElements): (WebCore::GstMappedBuffer::createVector): * platform/graphics/gstreamer/GStreamerCommon.h: (WebCore::GstMappedBuffer::create): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): (WebCore::MediaPlayerPrivateGStreamer::waitForCDMAttachment): * platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp: (WebCore::CDMFactory::platformRegisterFactories): * platform/graphics/gstreamer/eme/CDMOpenCDM.cpp: Added. (openCDMLicenseType): (WebCore::initDataMD5): (WebCore::sessionLoadFailureFromOpenCDM): (WebCore::OpenCDM::destructOpenCDMSession): (WebCore::OpenCDM::createSharedOpenCDMSession): (WebCore::CDMFactoryOpenCDM::singleton): (WebCore::CDMFactoryOpenCDM::createCDM): (WebCore::CDMFactoryOpenCDM::createCDMProxy): (WebCore::CDMFactoryOpenCDM::supportedKeySystems const): (WebCore::CDMFactoryOpenCDM::supportsKeySystem): (WebCore::CDMPrivateOpenCDM::supportedInitDataTypes const): (WebCore::CDMPrivateOpenCDM::supportsConfiguration const): (WebCore::CDMPrivateOpenCDM::supportedRobustnesses const): (WebCore::CDMPrivateOpenCDM::distinctiveIdentifiersRequirement const): (WebCore::CDMPrivateOpenCDM::persistentStateRequirement const): (WebCore::CDMPrivateOpenCDM::distinctiveIdentifiersAreUniquePerOriginAndClearable const): (WebCore::CDMPrivateOpenCDM::createInstance): (WebCore::CDMPrivateOpenCDM::loadAndInitialize): (WebCore::CDMPrivateOpenCDM::supportsServerCertificates const): (WebCore::CDMPrivateOpenCDM::supportsSessions const): (WebCore::CDMPrivateOpenCDM::supportsInitData const): (WebCore::CDMPrivateOpenCDM::sanitizeResponse const): (WebCore::CDMPrivateOpenCDM::sanitizeSessionId const): (WebCore::CDMInstanceOpenCDM::CDMInstanceOpenCDM): (WebCore::CDMInstanceOpenCDM::initializeWithConfiguration): (WebCore::CDMInstanceOpenCDM::setServerCertificate): (WebCore::CDMInstanceOpenCDM::setStorageDirectory): (WebCore::CDMInstanceSessionOpenCDM::CDMInstanceSessionOpenCDM): (WebCore::CDMInstanceOpenCDM::createSession): (WebCore::ParsedResponseMessage::ParsedResponseMessage): (WebCore::ParsedResponseMessage::hasPayload const): (WebCore::ParsedResponseMessage::payload const): (WebCore::ParsedResponseMessage::payload): (WebCore::ParsedResponseMessage::hasType const): (WebCore::ParsedResponseMessage::type const): (WebCore::ParsedResponseMessage::typeOr const): (WebCore::CDMInstanceSessionOpenCDM::challengeGeneratedCallback): (WebCore::toString): (WebCore::CDMInstanceSessionOpenCDM::status const): (WebCore::CDMInstanceSessionOpenCDM::keyUpdatedCallback): (WebCore::CDMInstanceSessionOpenCDM::keysUpdateDoneCallback): (WebCore::CDMInstanceSessionOpenCDM::errorCallback): (WebCore::CDMInstanceSessionOpenCDM::requestLicense): (WebCore::CDMInstanceSessionOpenCDM::sessionFailure): (WebCore::CDMInstanceSessionOpenCDM::updateLicense): (WebCore::CDMInstanceSessionOpenCDM::loadSession): (WebCore::CDMInstanceSessionOpenCDM::closeSession): (WebCore::CDMInstanceSessionOpenCDM::removeSessionData): (WebCore::CDMInstanceSessionOpenCDM::storeRecordOfKeyUsage): (WebCore:: const): * platform/graphics/gstreamer/eme/CDMOpenCDM.h: Added. (WebCore::OpenCDM::OpenCDMSystemDeleter::operator() const): (WebCore::OpenCDM::OpenCDMSessionDeleter::operator() const): * platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp: (WebCore::CDMProxyClearKey::cencSetDecryptionKey): * platform/graphics/gstreamer/eme/CDMProxyOpenCDM.cpp: Added. (WebCore::CDMProxyOpenCDM::getDecryptionSession const): (WebCore::CDMProxyOpenCDM::decrypt): * platform/graphics/gstreamer/eme/CDMProxyOpenCDM.h: Copied from Source/WebCore/platform/graphics/gstreamer/eme/CDMFactoryGStreamer.cpp. * platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h: (WebCore::InitData::InitData): (WebCore::InitData::payload const): (WebCore::GStreamerEMEUtilities::isWidevineKeySystem): (WebCore::GStreamerEMEUtilities::keySystemToUuid): * platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp: (webkit_media_clear_key_decrypt_class_init): (protectionSystemId): * platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp: (transformCaps): (transformInPlace): * platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h: * platform/graphics/gstreamer/eme/WebKitOpenCDMDecryptorGStreamer.cpp: Added. (webkit_media_opencdm_decrypt_class_init): (webkit_media_opencdm_decrypt_init): (finalize): (protectionSystemId): (cdmProxyAttached): (decrypt): * platform/graphics/gstreamer/eme/WebKitOpenCDMDecryptorGStreamer.h: Added. Source/WTF: * wtf/PlatformEnable.h: Disable OPENCDM by default. Tools: Added support to build OpenCDM and its dependencies. There is an opt in env var to get JHBuild building Thunder its Widevine dependencies. We also include a couple of GStreamer patches needed to get key IDs in the decryptors. Widevine is obviously proprietary and as you need to be licensed to access it, you need credentials to build it. * Scripts/webkitperl/FeatureList.pm: * gstreamer/jhbuild.modules: * gstreamer/patches/gst-plugins-bad-0006-mssdemux-parse-protection-data.patch: Added. * gstreamer/patches/gst-plugins-good-0002-Check-if-an-upstream-demuxer-provided-a-default-kid.patch: Added. * gtk/install-dependencies: * jhbuild/jhbuildrc_common.py: (init): * wpe/install-dependencies: Canonical link: https://commits.webkit.org/226987@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-07-10 14:57:57 +00:00
2020-07-10 Xabier Rodriguez Calvar <calvaris@igalia.com>
[GStreamer][EME][OpenCDM] Implement OpenCDM support
https://bugs.webkit.org/show_bug.cgi?id=213550
Reviewed by Philippe Normand.
Added support to enable OpenCDM and find it it needed.
* Source/cmake/FindOpenCDM.cmake: Added.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:
2020-07-08 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.29.3 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2020-07-07 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Fix typo in version variable assingment in FindWOFF2.cmake
https://bugs.webkit.org/show_bug.cgi?id=214012
Reviewed by Carlos Garcia Campos.
* Source/cmake/FindWOFF2.cmake: Properly use PC_WOFF2_VERSION as the version
detected from pkg-config.
2020-07-04 Sergio Villar Senin <svillar@igalia.com>
[Flatpak SDK] Require OpenXR 1.0.9
https://bugs.webkit.org/show_bug.cgi?id=213930
Reviewed by Philippe Normand.
Require version 1.0.9 because is the first one that include EGL support for Monado.
* Source/cmake/OptionsWPE.cmake:
Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable https://bugs.webkit.org/show_bug.cgi?id=212420 Reviewed by Don Olmstead. .: * Source/cmake/WebKitCommon.cmake: Removed call to SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS. * Source/cmake/WebKitFeatures.cmake: Removed SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS. * Source/cmake/WebKitMacros.cmake: Removed use of "--feature-flags" when invoking the generate-unified-source-bundles.rb, which also means no longer depending on the UNIFIED_SOURCE_LIST_ENABLED_FEATURES variable, which was set by the SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS function. Source/JavaScriptCore: * Scripts/generate-unified-sources.sh: Removed many unneeded quote marks from the invocation of generate-unified-source-bundles.rb. Source/WebCore: * Scripts/generate-unified-sources.sh: Added code to include sources from SourcesCocoaInternalSDK.txt, only if USE_INTERNAL_SDK is YES. Removed --feature-flags argument from invocation of generate-unified-source-bundles.rb. Removed many unnecessary quotes. * SourcesCocoa.txt: Removed the names of the files from the internal SDK. * SourcesCocoaInternalSDK.txt: Added. Moved those names here. * html/MediaElementSession.cpp: Added some includes, apparently needed because of different groupings of unified sources. Source/WebKit: * Scripts/generate-unified-sources.sh: Removed --feature-flags from the arguments passed to generate-unified-source-bundles.rb. Also removed many unneeded quotes. Source/WebKitLegacy: * scripts/generate-unified-sources.sh: Removed --feature-flags from the arguments passed to generate-unified-source-bundles.rb. Also removed many unneeded quotes. Source/WTF: * Scripts/generate-unified-source-bundles.rb: Removed the --feature-flags command line option along with the code that implements it. Canonical link: https://commits.webkit.org/226759@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-07-04 16:41:45 +00:00
2020-07-03 Darin Adler <darin@apple.com>
Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420
Reviewed by Don Olmstead.
* Source/cmake/WebKitCommon.cmake: Removed call to SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS.
* Source/cmake/WebKitFeatures.cmake: Removed SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS.
* Source/cmake/WebKitMacros.cmake: Removed use of "--feature-flags" when invoking the
generate-unified-source-bundles.rb, which also means no longer depending on the
UNIFIED_SOURCE_LIST_ENABLED_FEATURES variable, which was set by the
SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS function.
Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE https://bugs.webkit.org/show_bug.cgi?id=213932 Reviewed by Darin Adler. Removes support for non-standard <input type="datetime">, currently being guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was added back in 2013 as a temporary measure to support some engines who shipped support for <input type="datetime">. It is currently not enabled for any ports so now seems like as good a time as any to remove it. .: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * css/html.css: (#endif): * html/DateTimeInputType.cpp: Removed. * html/DateTimeInputType.h: Removed. * html/InputType.cpp: (WebCore::createInputTypeFactoryMap): * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::inputTypeDateTimeEnabled const): Deleted. (WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeEnabled): Deleted. * platform/DateComponents.cpp: (WebCore::DateComponents::setMillisecondsSinceEpochForDateTimeLocal): (WebCore::DateComponents::millisecondsSinceEpoch const): (WebCore::DateComponents::toString const): (WebCore::DateComponents::fromParsingDateTime): Deleted. (WebCore::DateComponents::parseDateTime): Deleted. (WebCore::DateComponents::fromMillisecondsSinceEpochForDateTime): Deleted. (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): Deleted. * platform/DateComponents.h: * platform/text/PlatformLocale.cpp: (WebCore::Locale::formatDateTime): * platform/text/ios/LocalizedDateCache.mm: (WebCore::LocalizedDateCache::createFormatterForType): Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Source/WTF: * wtf/PlatformEnable.h: Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/226744@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-07-03 23:43:44 +00:00
2020-07-03 Sam Weinig <weinig@apple.com>
Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
https://bugs.webkit.org/show_bug.cgi?id=213932
Reviewed by Darin Adler.
Removes support for non-standard <input type="datetime">, currently being
guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was
added back in 2013 as a temporary measure to support some engines who shipped
support for <input type="datetime">. It is currently not enabled for any
ports so now seems like as good a time as any to remove it.
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2020-07-02 Alex Christensen <achristensen@webkit.org>
Update Mac CMake build
* Source/cmake/OptionsMac.cmake:
2020-07-01 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WOFF2 targets
https://bugs.webkit.org/show_bug.cgi?id=213865
Reviewed by Fujii Hironori.
Rework the Find module for WOFF2 to provide targets for libwoff2common and
libwoff2dec. Previously only libwoff2dec was specified in the find module. This
is because pkg-config works on that platform and because shared libraries are
supported. Neither is true for Windows so the module was expanded in anticipation
of support for WinCairo.
* Source/cmake/FindWOFF2.cmake: Added.
* Source/cmake/FindWOFF2Dec.cmake: Removed.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2020-06-30 Andres Gonzalez <andresg_22@apple.com>
Code cleanup in AccessibilityMenuList.cpp and AXIsolatedTree.h.
https://bugs.webkit.org/show_bug.cgi?id=213806
Reviewed by Darin Adler.
* WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
Adding Experimental Feature Flags for CoreImage backed SVG/CSS Filters https://bugs.webkit.org/show_bug.cgi?id=213578 Patch by Guowei Yang <guowei_yang@apple.com> on 2020-06-29 .: Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield. Preparing to implement CoreImage backed filter rendering Needs Compiler guards and experimental feature guard. * Source/cmake/WebKitFeatures.cmake: added definition of CoreImage-accelerated filter rendering feature flag, ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER Source/WebCore: Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield. Preparing to implement CoreImage backed filter rendering Needs Compiler guards and experimental feature guard. No tests are required because this is just a feature flag set up * page/Settings.yaml: added default settings for the feature flag. Default value of the feature switch is off Source/WebKit: Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield. Preparing to implement CoreImage backed filter rendering Needs Compiler guards and experimental feature guard. * Shared/WebPreferences.yaml: added feature flag definition Source/WTF: Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield. Preparing to implement CoreImage backed filter rendering Needs Compiler guards and experimental feature guard. * wtf/PlatformEnableCocoa.h: Added definition of a feature flag, ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER * wtf/PlatformUse.h: Added compiler guard #define USE_CORE_IMAGE 1 to indicate whether CoreImage code is visible to the compiler Canonical link: https://commits.webkit.org/226566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-06-30 01:59:29 +00:00
2020-06-29 Guowei Yang <guowei_yang@apple.com>
Adding Experimental Feature Flags for CoreImage backed SVG/CSS Filters
https://bugs.webkit.org/show_bug.cgi?id=213578
Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.
Preparing to implement CoreImage backed filter rendering
Needs Compiler guards and experimental feature guard.
* Source/cmake/WebKitFeatures.cmake: added definition of
CoreImage-accelerated filter rendering feature flag,
ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER
Remove ENABLE_STREAMS_API compilation flag https://bugs.webkit.org/show_bug.cgi?id=213728 Patch by Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com> on 2020-06-29 Reviewed by Sam Weinig. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: Source/JavaScriptCore: test cases under Scripts/tests/builtins/ does not uses this removed compilation flag. So we don't have to touch them in this change. But they are confusable so I plan to fix them in bug 213733. * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * Modules/fetch/FetchBody.cpp: * Modules/fetch/FetchBody.h: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::isDisturbed const): (WebCore::FetchBodyOwner::isDisturbedOrLocked const): (WebCore::FetchBodyOwner::blobLoadingSucceeded): (WebCore::FetchBodyOwner::blobLoadingFailed): (WebCore::FetchBodyOwner::blobChunk): * Modules/fetch/FetchBodyOwner.h: (WebCore::FetchBodyOwner::cancel): * Modules/fetch/FetchBodySource.cpp: * Modules/fetch/FetchBodySource.h: * Modules/fetch/FetchResponse.cpp: (WebCore::FetchResponse::BodyLoader::didSucceed): (WebCore::FetchResponse::BodyLoader::didFail): (WebCore::FetchResponse::BodyLoader::didReceiveData): * Modules/fetch/FetchResponse.h: * Modules/streams/ByteLengthQueuingStrategy.idl: * Modules/streams/ByteLengthQueuingStrategy.js: * Modules/streams/CountQueuingStrategy.idl: * Modules/streams/CountQueuingStrategy.js: * Modules/streams/ReadableByteStreamController.idl: * Modules/streams/ReadableByteStreamController.js: * Modules/streams/ReadableByteStreamInternals.js: * Modules/streams/ReadableStream.idl: * Modules/streams/ReadableStream.js: * Modules/streams/ReadableStreamBYOBReader.idl: * Modules/streams/ReadableStreamBYOBReader.js: * Modules/streams/ReadableStreamBYOBRequest.idl: * Modules/streams/ReadableStreamBYOBRequest.js: * Modules/streams/ReadableStreamDefaultController.idl: * Modules/streams/ReadableStreamDefaultController.js: * Modules/streams/ReadableStreamDefaultReader.idl: * Modules/streams/ReadableStreamDefaultReader.js: * Modules/streams/ReadableStreamInternals.js: * Modules/streams/ReadableStreamSink.cpp: * Modules/streams/ReadableStreamSink.h: * Modules/streams/ReadableStreamSink.idl: * Modules/streams/ReadableStreamSource.cpp: * Modules/streams/ReadableStreamSource.h: * Modules/streams/ReadableStreamSource.idl: * Modules/streams/StreamInternals.js: * Modules/streams/WritableStream.idl: * Modules/streams/WritableStream.js: * Modules/streams/WritableStreamInternals.js: * bindings/js/JSDOMGlobalObject.cpp: (WebCore::isReadableByteStreamAPIEnabled): (WebCore::JSDOMGlobalObject::addBuiltinGlobals): * bindings/js/JSReadableStreamSourceCustom.cpp: * bindings/js/ReadableStreamDefaultController.cpp: * bindings/js/ReadableStreamDefaultController.h: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::writableStreamAPIEnabled const): * testing/Internals.cpp: * testing/Internals.h: * testing/Internals.idl: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferences.yaml: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WTF: * wtf/PlatformEnable.h: Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/226553@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263700 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-06-29 22:40:20 +00:00
2020-06-29 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com>
Remove ENABLE_STREAMS_API compilation flag
https://bugs.webkit.org/show_bug.cgi?id=213728
Reviewed by Sam Weinig.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
2020-06-25 Diego Pino Garcia <dpino@igalia.com>
[GTK] Enable WEB_API_STATISTICS
https://bugs.webkit.org/show_bug.cgi?id=213592
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake:
2020-06-24 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.29.2 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
Allow building JavaScriptCore Mac+arm64 in public SDK build https://bugs.webkit.org/show_bug.cgi?id=213472 Reviewed by Sam Weinig. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: We used to only builld code for fast permission switching when using the Apple internal SDK. However, with arm64 on macOS, this is no longer a viable implementation strategy. This patch makes it so we can build JSC on macOS+arm64 using the public Xcode SDK. - ENABLE_FAST_JIT_PERMISSIONS is removed. We now use runtime checks instead. - In the new suite of OS betas, pthreads has added API for fast permissions switching. We now use this API instead of using the non-public SDK found in the kernel headers. - We fall back to the separated W/X heaps when fast permissions checking is not supported. This all happens at runtime. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::fillNops): * assembler/ARMv7Assembler.h: (JSC::ARMv7Assembler::fillNops): * assembler/FastJITPermissions.h: Added. (useFastJITPermissions): (threadSelfRestrictRWXToRW): (threadSelfRestrictRWXToRX): (fastJITPermissionsIsSupported): * assembler/LinkBuffer.cpp: (JSC::memcpyWrapper): (JSC::LinkBuffer::copyCompactAndLinkCode): * assembler/MIPSAssembler.h: (JSC::MIPSAssembler::fillNops): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::link): * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::link): * jit/ExecutableAllocator.cpp: (JSC::initializeJITPageReservation): * jit/ExecutableAllocator.h: (JSC::performJITMemcpy): (JSC::useFastJITPermissions): Deleted. * runtime/JSCConfig.h: * runtime/Options.cpp: (JSC::Options::recomputeDependentOptions): * runtime/OptionsList.h: Source/WTF: * wtf/PlatformEnable.h: * wtf/PlatformEnableCocoa.h: * wtf/PlatformHave.h: Canonical link: https://commits.webkit.org/226286@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-06-23 01:28:17 +00:00
2020-06-22 Saam Barati <sbarati@apple.com>
Allow building JavaScriptCore Mac+arm64 in public SDK build
https://bugs.webkit.org/show_bug.cgi?id=213472
Reviewed by Sam Weinig.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/WebKitFeatures.cmake:
Remove some vestiges of the 32-bit Plugin Process https://bugs.webkit.org/show_bug.cgi?id=213361 Reviewed by Dan Bernstein. .: * Makefile.shared: This hack from r203348 is no longer needed, because WebKit cannot be built for 32-bit anymore. Source/WebKit: We haven't launched 32-bit plugins for a while, but there are some build system complications and random references in the code that we can get rid of. * WebKit.xcodeproj/project.pbxproj: * Configurations/PluginService.xcconfig: Renamed from Source/WebKit/Configurations/PluginService.64.xcconfig. No need for .64 in the name anymore, since it's the only one. We do have to leave the .64 in the product name because there are other things in the system that depend on this. * PluginProcess/EntryPoint/Cocoa/XPCService/PluginService.Info.plist: Renamed from Source/WebKit/PluginProcess/EntryPoint/Cocoa/XPCService/PluginService.64.Info.plist. No need for .64 in the name anymore. * UIProcess/AuxiliaryProcessProxy.cpp: (WebKit::AuxiliaryProcessProxy::getLaunchOptions): * UIProcess/Launcher/ProcessLauncher.h: * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::serviceName): * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): There need only be one ProcessType for the plugin process now! * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): * UIProcess/Launcher/glib/BubblewrapLauncher.cpp: (WebKit::bubblewrapSpawn): * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): GTK WebKit appears to also only launch 64-bit plugin processes. Canonical link: https://commits.webkit.org/226157@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-06-19 00:37:56 +00:00
2020-06-18 Tim Horton <timothy_horton@apple.com>
Remove some vestiges of the 32-bit Plugin Process
https://bugs.webkit.org/show_bug.cgi?id=213361
Reviewed by Dan Bernstein.
* Makefile.shared:
This hack from r203348 is no longer needed, because WebKit cannot be built for 32-bit anymore.
2020-06-17 Michael Catanzaro <mcatanzaro@gnome.org>
REGRESSION(r260760): ENABLE_GRAPHICS_CONTEXT_GL should be ON, not TRUE
https://bugs.webkit.org/show_bug.cgi?id=212057
Reviewed by Carlos Garcia Campos.
This is already set by feature policy. Don't clobber it.
* Source/cmake/OptionsGTK.cmake:
2020-06-10 Dean Jackson <dino@apple.com>
Add a dynamic library target for ANGLE
https://bugs.webkit.org/show_bug.cgi?id=207591
Reviewed by Tim Horton.
In preparation for moving to a dynamic library, start
by compiling and linking it. It isn't used anywhere
but getting it into the build will help Apple's
build system remain happy as we migrate, as well
as have the system know it exists for building
the shared system cache.
* WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
2020-06-12 Adrian Perez de Castro <aperez@igalia.com>
Build is broken with EVENT_LOOP_TYPE=GLib
https://bugs.webkit.org/show_bug.cgi?id=212987
Reviewed by Konstantin Tokarev.
* Source/cmake/OptionsJSCOnly.cmake: Add gio-unix as a required component of the GLib
package, as it is needed for the remote inspector support with EVENT_LOOP_TYPE=GLib.
[GTK4] Get MiniBrowser ready for GTK4 https://bugs.webkit.org/show_bug.cgi?id=210276 Reviewed by Adrian Perez de Castro. .: Bump GTK4 required version. * Source/cmake/OptionsGTK.cmake: Tools: Port MiniBrowser to GTK4. BrowserSearchBar has been renamed as BrowserSearchBox, because in GTK GtkSearchBar is final class, so we derive from GtkBox and to be used as contents of a GtkSearchBar. * MiniBrowser/gtk/BrowserCellRendererVariant.c: (browserCellRendererVariantCellRendererSnapshot): (browser_cell_renderer_variant_class_init): * MiniBrowser/gtk/BrowserCellRendererVariant.h: * MiniBrowser/gtk/BrowserSearchBar.c: Removed. * MiniBrowser/gtk/BrowserSearchBox.c: Added. (setFailedStyleForEntry): (doSearch): (searchNext): (searchPrevious): (searchEntryMenuIconPressedCallback): (searchEntryClearIconReleasedCallback): (searchEntryChangedCallback): (searchEntryActivatedCallback): (searchPreviousButtonCallback): (searchNextButtonCallback): (searchMenuCheckButtonToggledCallback): (findControllerFailedToFindTextCallback): (findControllerFoundTextCallback): (browserSearchBoxFinalize): (browserSearchBoxDispose): (browserSearchBoxSizeAllocate): (browser_search_box_class_init): (browser_search_box_new): (browser_search_box_get_entry): * MiniBrowser/gtk/BrowserSearchBox.h: Renamed from Tools/MiniBrowser/gtk/BrowserSearchBar.h. * MiniBrowser/gtk/BrowserSettingsDialog.c: (browser_settings_dialog_init): (browser_settings_dialog_new): * MiniBrowser/gtk/BrowserSettingsDialog.h: * MiniBrowser/gtk/BrowserTab.c: (loadChanged): (createInfoBarQuestionMessage): (tlsErrorsDialogResponse): (loadFailedWithTLSerrors): (permissionRequestDialogResponse): (decidePermissionRequest): (colorChooserRequestFinished): (runColorChooserCallback): (tabCloseClicked): (browserTabConstructed): (browserTabIsSearchBarOpen): (browser_tab_start_search): (browser_tab_stop_search): (browser_tab_enter_fullscreen): (browser_tab_leave_fullscreen): * MiniBrowser/gtk/BrowserWindow.c: (settingsCallback): (resetEntryProgress): (webViewLoadProgressChanged): (browserWindowCreateBackForwardMenu): (browserWindowUpdateNavigationMenu): (navigationButtonPressed): (navigationButtonPressCallback): (scrollEventCallback): (webViewIsLoadingChanged): (searchCallback): (insertImageDialogResponse): (insertImageCommandCallback): (insertLinkDialogResponse): (insertLinkCommandCallback): (typingAttributesChanged): (browserWindowSaveSession): (browserWindowFinalize): (browserWindowDispose): (addToolbarButton): (browserWindowSwitchTab): (browserWindowTabAddedOrRemoved): (browserWindowBuildPopoverMenu): (browserWindowCloseRequest): (browserWindowDeleteEvent): (browser_window_class_init): (browser_window_append_view): (browser_window_set_background_color): * MiniBrowser/gtk/CMakeLists.txt: Canonical link: https://commits.webkit.org/225893@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-06-12 08:42:50 +00:00
2020-06-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Get MiniBrowser ready for GTK4
https://bugs.webkit.org/show_bug.cgi?id=210276
Reviewed by Adrian Perez de Castro.
Bump GTK4 required version.
* Source/cmake/OptionsGTK.cmake:
Remove ENABLE_VIDEO_TRACK ifdef guards https://bugs.webkit.org/show_bug.cgi?id=212568 Reviewed by Youenn Fablet. .: VIDEO_TRACK has been enabled by default on all ports for a long time. As the spec is stable, the feature can unconditionally be enabled and is now guarded under ENABLE(VIDEO). * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Remove ENABLE_VIDEO_TRACK, which is now enabled by default under the ENABLE_VIDEO guard. Source/WebCore: * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * Modules/mediacontrols/MediaControlsHost.cpp: * Modules/mediasource/AudioTrackMediaSource.h: * Modules/mediasource/AudioTrackMediaSource.idl: * Modules/mediasource/SourceBuffer.h: * Modules/mediasource/SourceBuffer.idl: * Modules/mediasource/TextTrackMediaSource.h: * Modules/mediasource/TextTrackMediaSource.idl: * Modules/mediasource/VideoTrackMediaSource.h: * Modules/mediasource/VideoTrackMediaSource.idl: * Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp: (WebCore::HTMLVideoElementPictureInPicture::requestPictureInPicture): * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSAudioTrackCustom.cpp: * bindings/js/JSAudioTrackListCustom.cpp: * bindings/js/JSTextTrackCueCustom.cpp: * bindings/js/JSTextTrackCustom.cpp: * bindings/js/JSTextTrackListCustom.cpp: * bindings/js/JSTrackCustom.cpp: * bindings/js/JSTrackCustom.h: * bindings/js/JSVideoTrackCustom.cpp: * bindings/js/JSVideoTrackListCustom.cpp: * css/CSSSelector.cpp: (WebCore::CSSSelector::pseudoId): (WebCore::CSSSelector::selectorText const): * css/CSSSelector.h: * css/SelectorChecker.cpp: (WebCore::SelectorChecker::checkOne const): * css/SelectorCheckerTestFunctions.h: (WebCore::matchesLangPseudoClass): * css/SelectorPseudoClassAndCompatibilityElementMap.in: * css/SelectorPseudoElementTypeMap.in: * css/parser/CSSParserSelector.h: (WebCore::CSSParserSelector::needsImplicitShadowCombinatorForMatching const): (WebCore::CSSParserSelector::isPseudoElementCueFunction const): * css/parser/CSSSelectorParser.cpp: (WebCore::CSSSelectorParser::consumePseudo): * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::addPseudoClassType): * dom/Document.cpp: * dom/Document.h: * dom/EventNames.in: * dom/EventTargetFactory.in: * dom/Node.h: * history/BackForwardCache.cpp: * history/BackForwardCache.h: * history/CachedPage.cpp: (WebCore::CachedPage::restore): (WebCore::CachedPage::clear): * history/CachedPage.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::as const): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): (WebCore::HTMLMediaElement::~HTMLMediaElement): (WebCore::HTMLMediaElement::registerWithDocument): (WebCore::HTMLMediaElement::unregisterWithDocument): (WebCore::HTMLMediaElement::finishParsingChildren): (WebCore::HTMLMediaElement::prepareForLoad): (WebCore::HTMLMediaElement::selectMediaResource): (WebCore::HTMLMediaElement::canTransitionFromAutoplayToPlay const): (WebCore::HTMLMediaElement::setReadyState): (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): (WebCore::HTMLMediaElement::playInternal): (WebCore::HTMLMediaElement::setVolume): (WebCore::HTMLMediaElement::playbackProgressTimerFired): (WebCore::HTMLMediaElement::configureTextTracks): (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): (WebCore::HTMLMediaElement::userCancelledLoad): (WebCore::HTMLMediaElement::clearMediaPlayer): (WebCore::HTMLMediaElement::syncTextTrackBounds): (WebCore::HTMLMediaElement::setVideoFullscreenStandby): (WebCore::HTMLMediaElement::setVideoFullscreenLayer): (WebCore::HTMLMediaElement::hasClosedCaptions const): (WebCore::HTMLMediaElement::setClosedCaptionsVisible): (WebCore::HTMLMediaElement::createMediaPlayer): (WebCore::HTMLMediaElement::bufferingPolicy const): * html/HTMLMediaElement.h: * html/HTMLMediaElement.idl: * html/HTMLTagNames.in: * html/HTMLTrackElement.cpp: * html/HTMLTrackElement.h: * html/HTMLTrackElement.idl: * html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::texImageSourceHelper): (WebCore::WebGLRenderingContextBase::validateTexFuncParameters): * html/shadow/MediaControlTextTrackContainerElement.cpp: * html/shadow/MediaControlTextTrackContainerElement.h: * html/track/AudioTrack.cpp: * html/track/AudioTrack.h: * html/track/AudioTrack.idl: * html/track/AudioTrackList.cpp: * html/track/AudioTrackList.h: * html/track/AudioTrackList.idl: * html/track/DataCue.cpp: * html/track/DataCue.h: * html/track/DataCue.idl: * html/track/InbandDataTextTrack.cpp: * html/track/InbandDataTextTrack.h: * html/track/InbandGenericTextTrack.cpp: * html/track/InbandGenericTextTrack.h: * html/track/InbandTextTrack.cpp: * html/track/InbandTextTrack.h: * html/track/InbandWebVTTTextTrack.cpp: * html/track/InbandWebVTTTextTrack.h: * html/track/LoadableTextTrack.cpp: * html/track/LoadableTextTrack.h: * html/track/TextTrack.cpp: * html/track/TextTrack.h: * html/track/TextTrack.idl: * html/track/TextTrackCue.cpp: * html/track/TextTrackCue.h: * html/track/TextTrackCue.idl: * html/track/TextTrackCueGeneric.cpp: * html/track/TextTrackCueGeneric.h: * html/track/TextTrackCueGeneric.idl: * html/track/TextTrackCueList.cpp: * html/track/TextTrackCueList.h: * html/track/TextTrackCueList.idl: * html/track/TextTrackList.cpp: * html/track/TextTrackList.h: * html/track/TextTrackList.idl: * html/track/TrackBase.cpp: * html/track/TrackBase.h: * html/track/TrackEvent.cpp: * html/track/TrackEvent.h: * html/track/TrackEvent.idl: * html/track/TrackListBase.cpp: * html/track/TrackListBase.h: * html/track/VTTCue.cpp: * html/track/VTTCue.h: * html/track/VTTCue.idl: * html/track/VTTRegion.cpp: * html/track/VTTRegion.h: * html/track/VTTRegion.idl: * html/track/VTTRegionList.cpp: * html/track/VTTRegionList.h: * html/track/VTTRegionList.idl: * html/track/VideoTrack.cpp: * html/track/VideoTrack.h: * html/track/VideoTrack.idl: * html/track/VideoTrackList.cpp: * html/track/VideoTrackList.h: * html/track/VideoTrackList.idl: * html/track/WebVTTElement.cpp: * html/track/WebVTTElement.h: * html/track/WebVTTParser.cpp: * html/track/WebVTTParser.h: * html/track/WebVTTToken.h: * html/track/WebVTTTokenizer.cpp: * html/track/WebVTTTokenizer.h: * loader/LinkLoader.cpp: (WebCore::LinkLoader::resourceTypeFromAsAttribute): (WebCore::createLinkPreloadResourceClient): (WebCore::LinkLoader::isSupportedType): * loader/ResourceLoadInfo.cpp: (WebCore::ContentExtensions::toResourceType): * loader/SubresourceLoader.cpp: (WebCore::logResourceLoaded): * loader/TextTrackLoader.cpp: * loader/TextTrackLoader.h: * loader/cache/CachedResource.cpp: (WebCore::CachedResource::defaultPriorityForResourceType): * loader/cache/CachedResource.h: * loader/cache/CachedResourceLoader.cpp: (WebCore::createResource): (WebCore::contentTypeFromResourceType): (WebCore::CachedResourceLoader::checkInsecureContent const): (WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const): (WebCore::destinationForType): * loader/cache/CachedResourceLoader.h: * loader/cache/CachedTextTrack.cpp: * loader/cache/CachedTextTrack.h: * page/CaptionUserPreferences.cpp: * page/CaptionUserPreferences.h: * page/CaptionUserPreferencesMediaAF.cpp: * page/CaptionUserPreferencesMediaAF.h: * page/Page.cpp: (WebCore::Page::setPageScaleFactor): (WebCore::Page::setUserInterfaceLayoutDirection): (WebCore::Page::doAfterUpdateRendering): (WebCore::Page::forEachMediaElement): * page/Page.h: * page/PageGroup.cpp: * page/PageGroup.h: * page/Settings.yaml: * platform/LocalizedStrings.cpp: * platform/LocalizedStrings.h: * platform/MIMETypeRegistry.cpp: (WebCore::MIMETypeRegistry::isSupportedImageVideoOrSVGMIMEType): * platform/SerializedPlatformDataCue.cpp: * platform/graphics/AudioTrackPrivate.h: * platform/graphics/ImageDecoder.cpp: (WebCore::ImageDecoder::create): (WebCore::ImageDecoder::supportsMediaType): * platform/graphics/InbandGenericCue.cpp: * platform/graphics/InbandGenericCue.h: * platform/graphics/InbandTextTrackPrivate.h: * platform/graphics/InbandTextTrackPrivateClient.h: * platform/graphics/MediaPlayer.cpp: (WebCore::buildMediaEnginesVector): * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::textTrackRepresentationBoundsChanged): * platform/graphics/MediaPlayerPrivate.h: (WebCore::MediaPlayerPrivateInterface::tracksChanged): * platform/graphics/TextTrackRepresentation.cpp: * platform/graphics/TextTrackRepresentation.h: * platform/graphics/TrackPrivateBase.cpp: * platform/graphics/TrackPrivateBase.h: * platform/graphics/VideoTrackPrivate.h: * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: * platform/graphics/avfoundation/AudioTrackPrivateAVF.h: * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h: * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm: * platform/graphics/avfoundation/VideoTrackPrivateAVF.h: * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h: * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm: * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp: * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h: * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm: * platform/graphics/cocoa/TextTrackRepresentationCocoa.h: * platform/graphics/cocoa/TextTrackRepresentationCocoa.mm: * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp: * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: * platform/graphics/gstreamer/GStreamerCommon.cpp: (WebCore::initializeGStreamer): * platform/graphics/gstreamer/ImageDecoderGStreamer.cpp: * platform/graphics/gstreamer/ImageDecoderGStreamer.h: * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h: * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp: * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): (WebCore::MediaPlayerPrivateGStreamer::newTextSample): (WebCore::MediaPlayerPrivateGStreamer::updateTracks): (WebCore::MediaPlayerPrivateGStreamer::handleMessage): (WebCore::MediaPlayerPrivateGStreamer::purgeInvalidTextTracks): (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: * platform/graphics/gstreamer/TextCombinerGStreamer.cpp: * platform/graphics/gstreamer/TextCombinerGStreamer.h: * platform/graphics/gstreamer/TextSinkGStreamer.cpp: * platform/graphics/gstreamer/TextSinkGStreamer.h: * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: * platform/mac/SerializedPlatformDataCueMac.h: * platform/mac/SerializedPlatformDataCueMac.mm: * platform/mediastream/AudioMediaStreamTrackRenderer.cpp: * platform/mediastream/AudioMediaStreamTrackRenderer.h: * platform/mediastream/AudioTrackPrivateMediaStream.cpp: * platform/mediastream/AudioTrackPrivateMediaStream.h: * platform/mediastream/VideoTrackPrivateMediaStream.h: * platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp: * platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.h: * rendering/RenderVTTCue.cpp: * rendering/RenderVTTCue.h: * style/ElementRuleCollector.cpp: (WebCore::Style::ElementRuleCollector::collectMatchingShadowPseudoElementRules): * style/PropertyCascade.cpp: (WebCore::Style::PropertyCascade::addMatch): * style/RuleData.cpp: (WebCore::Style::determinePropertyWhitelistType): * style/RuleData.h: * style/RuleSet.cpp: (WebCore::Style::RuleSet::addRule): (WebCore::Style::RuleSet::traverseRuleDatas): (WebCore::Style::RuleSet::hasShadowPseudoElementRules const): (WebCore::Style::RuleSet::shrinkToFit): * style/RuleSet.h: * style/StyleAdjuster.cpp: (WebCore::Style::Adjuster::adjustForSiteSpecificQuirks const): * testing/InternalSettings.cpp: (WebCore::InternalSettings::Backup::Backup): (WebCore::InternalSettings::Backup::restoreTo): (WebCore::InternalSettings::setShouldDisplayTrackKind): (WebCore::InternalSettings::shouldDisplayTrackKind): * testing/InternalSettings.h: * testing/InternalSettings.idl: * testing/Internals.cpp: (WebCore::Internals::resetToConsistentState): (WebCore::Internals::Internals): (WebCore::Internals::userPreferredAudioCharacteristics const): (WebCore::Internals::setUserPreferredAudioCharacteristic): (WebCore::Internals::captionsStyleSheetOverride): (WebCore::Internals::setCaptionsStyleSheetOverride): (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): (WebCore::Internals::setCaptionDisplayMode): (WebCore::Internals::textTrackBCP47Language): (WebCore::Internals::getCurrentMediaControlsStatusForElement): * testing/Internals.h: * testing/Internals.idl: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::dispatchMessage): * GPUProcess/GPUConnectionToWebProcess.h: * GPUProcess/media/RemoteMediaPlayerProxy.cpp: (WebKit::RemoteMediaPlayerProxy::textTrackSetMode): (WebKit::RemoteMediaPlayerProxy::notifyTrackModeChanged): * GPUProcess/media/RemoteMediaPlayerProxy.h: * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp: * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h: * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in: * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp: * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h: * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in: * GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp: * GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h: * GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.messages.in: * GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.cpp: * GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.h: * GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.messages.in: * Shared/WebPreferences.yaml: * WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::dispatchMessage): * WebProcess/GPU/GPUProcessConnection.h: * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::tracksChanged): * WebProcess/GPU/media/MediaPlayerPrivateRemote.h: * WebProcess/GPU/media/RemoteMediaPlayerManager.cpp: (WebKit::RemoteMediaPlayerManager::updatePreferences): * WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp: * WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h: * WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp: * WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h: * WebProcess/GPU/webrtc/SampleBufferDisplayLayer.messages.in: * WebProcess/GPU/webrtc/SampleBufferDisplayLayerManager.cpp: * WebProcess/GPU/webrtc/SampleBufferDisplayLayerManager.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): * WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::maximumBufferingTime): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Source/WebKitLegacy/win: * WebPreferences.cpp: (WebPreferences::shouldDisplaySubtitles): (WebPreferences::setShouldDisplaySubtitles): (WebPreferences::shouldDisplayCaptions): (WebPreferences::setShouldDisplayCaptions): (WebPreferences::shouldDisplayTextDescriptions): (WebPreferences::setShouldDisplayTextDescriptions): * WebView.cpp: (WebView::notifyPreferencesChanged): Source/WTF: * wtf/PlatformEnable.h: Remove ENABLE_VIDEO_TRACK, which is now enabled by default under the ENABLE_VIDEO guard. * wtf/PlatformEnableCocoa.h: Ditto. Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/225692@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-06-07 09:55:32 +00:00
2020-06-07 Philippe Normand <pnormand@igalia.com>
Remove ENABLE_VIDEO_TRACK ifdef guards
https://bugs.webkit.org/show_bug.cgi?id=212568
Reviewed by Youenn Fablet.
VIDEO_TRACK has been enabled by default on all ports for a long time. As the spec is stable,
the feature can unconditionally be enabled and is now guarded under ENABLE(VIDEO).
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
[Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4) https://bugs.webkit.org/show_bug.cgi?id=212541 <rdar://problem/63781452> Reviewed by Darin Adler. APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * Modules/applepay/ApplePayError.idl: * Modules/applepay/ApplePayPaymentAuthorizationResult.idl: * Modules/applepay/ApplePayPaymentContact.idl: * Modules/applepay/ApplePayPaymentMethodUpdate.idl: * Modules/applepay/ApplePayRequestBase.idl: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/ApplePayShippingContactUpdate.idl: * Modules/applepay/ApplePayShippingMethodUpdate.idl: * Modules/applepay/PaymentCoordinatorClient.cpp: (WebCore::PaymentCoordinatorClient::supportsVersion): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computePaymentMethodErrors const): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::applePayButtonDescription const): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ApplePayButtonType const): * css/CSSValueKeywords.in: * css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): * rendering/RenderThemeCocoa.mm: (WebCore::toPKPaymentButtonType): * rendering/style/RenderStyleConstants.cpp: (WebCore::operator<<): * rendering/style/RenderStyleConstants.h: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/225626@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-06-05 15:27:33 +00:00
2020-06-05 Andy Estes <aestes@apple.com>
[Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
https://bugs.webkit.org/show_bug.cgi?id=212541
<rdar://problem/63781452>
Reviewed by Darin Adler.
APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
2020-06-04 Mark Lam <mark.lam@apple.com>
Editors should not automatically trim trailing whitespace.
https://bugs.webkit.org/show_bug.cgi?id=212763
Reviewed by Yusuke Suzuki.
Doing so would force a lot of unnecessary code changes and make patches hard to
review. It is common WebKit practice to not make unrelated changes in patches.
* .editorconfig:
Revert FEATURES_DEFINES related changes https://bugs.webkit.org/show_bug.cgi?id=212664 <rdar://problem/63893033> Reviewed by Andy Estes. Bug 262310, Bug 262311, Bug 262318, and Bug 262331 involve changes to FEATURE_DEFINES and how the values there relate to those found in the Platform*.h files. Those changes break XCBuild (by removing the .xcfilelist related to UnifiedSources and the process for generating them), and so are being reverted. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: No new tests -- build changes. * Configurations/FeatureDefines.xcconfig: * Configurations/GenerateUnifiedSources.xcconfig: Added. * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/applepay/ApplePayError.idl: * Modules/applepay/ApplePayPaymentAuthorizationResult.idl: * Modules/applepay/ApplePayPaymentContact.idl: * Modules/applepay/ApplePayPaymentMethodUpdate.idl: * Modules/applepay/ApplePayRequestBase.idl: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/ApplePayShippingContactUpdate.idl: * Modules/applepay/ApplePayShippingMethodUpdate.idl: * Modules/applepay/PaymentCoordinatorClient.cpp: (WebCore::PaymentCoordinatorClient::supportsVersion): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computePaymentMethodErrors const): * Scripts/generate-unified-sources.sh: * UnifiedSources-output.xcfilelist: Added. * WebCore.xcodeproj/project.pbxproj: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::applePayButtonDescription const): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ApplePayButtonType const): * css/CSSValueKeywords.in: * css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): * rendering/RenderThemeCocoa.mm: (WebCore::toPKPaymentButtonType): * rendering/style/RenderStyleConstants.cpp: (WebCore::operator<<): * rendering/style/RenderStyleConstants.h: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Tools: * Scripts/webkitperl/FeatureList.pm: * Scripts/webkitpy/generate_xcfilelists_lib/generators.py: (WebCoreGenerator): (WebCoreGenerator._get_generate_unified_sources_script): * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/225491@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-06-02 23:52:01 +00:00
2020-06-02 Keith Rollin <krollin@apple.com>
Revert FEATURES_DEFINES related changes
https://bugs.webkit.org/show_bug.cgi?id=212664
<rdar://problem/63893033>
Reviewed by Andy Estes.
Bug 262310, Bug 262311, Bug 262318, and Bug 262331 involve changes to
FEATURE_DEFINES and how the values there relate to those found in the
Platform*.h files. Those changes break XCBuild (by removing the
.xcfilelist related to UnifiedSources and the process for generating
them), and so are being reverted.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
2020-06-02 Yoshiaki JITSUKAWA <yoshiaki.jitsukawa@sony.com>
Add .editorconfig
https://bugs.webkit.org/show_bug.cgi?id=212463
Add .editorconfig for Visual Studio.
Initally following file types are supported:
- .h/.c/.cpp
- CMakeFilelist.txt/.cmake
- .editorconfig itself
Reviewed by Fujii Hironori.
* .editorconfig: Added.
[Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4) https://bugs.webkit.org/show_bug.cgi?id=212541 Reviewed by Darin Adler. APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * Modules/applepay/ApplePayError.idl: * Modules/applepay/ApplePayPaymentAuthorizationResult.idl: * Modules/applepay/ApplePayPaymentContact.idl: * Modules/applepay/ApplePayPaymentMethodUpdate.idl: * Modules/applepay/ApplePayRequestBase.idl: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/ApplePayShippingContactUpdate.idl: * Modules/applepay/ApplePayShippingMethodUpdate.idl: * Modules/applepay/PaymentCoordinatorClient.cpp: (WebCore::PaymentCoordinatorClient::supportsVersion): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computePaymentMethodErrors const): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::applePayButtonDescription const): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ApplePayButtonType const): * css/CSSValueKeywords.in: * css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): * rendering/RenderThemeCocoa.mm: (WebCore::toPKPaymentButtonType): * rendering/style/RenderStyleConstants.cpp: (WebCore::operator<<): * rendering/style/RenderStyleConstants.h: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/225379@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-30 01:08:40 +00:00
2020-05-29 Andy Estes <aestes@apple.com>
[Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
https://bugs.webkit.org/show_bug.cgi?id=212541
Reviewed by Darin Adler.
APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
2020-05-29 Keith Rollin <krollin@apple.com>
Revert switch to XCBuild
https://bugs.webkit.org/show_bug.cgi?id=212530
<rdar://problem/63764632>
Unreviewed build fix.
Bug 209890 enabled the use of XCBuild by default. Since then, some
build issues have shown up. While addressing them, temporarily turn
off the use of XCBuild by default.
* Makefile.shared:
* WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
2020-05-27 Kenneth Russell <kbr@chromium.org>
Update MobileMiniBrowser project settings to current Xcode
https://bugs.webkit.org/show_bug.cgi?id=212428
Reviewed by Dean Jackson.
Accept Xcode's suggested upgrade to use the new build system.
* WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
2020-05-27 ChangSeok Oh <changseok@webkit.org>
[GTK] Manette_INCLUDE_DIR and Manette_LIBRARY are undefined.
https://bugs.webkit.org/show_bug.cgi?id=212236
Reviewed by Michael Catanzaro.
The cmake complains Manette_INCLUDE_DIR and Manette_LIBRARY are missing
in finding the manette package where GAMEPAD is enabled for the gtk port.
In r261965, we thought they would be automatically defined with IMPORTED_TARGET
but they seem not. We explicitly find the header and library paths, following FindOpenJPEG.cmake.
* Source/cmake/FindManette.cmake:
* Source/cmake/OptionsGTK.cmake: REQUIRED removed.
[WinCairo][WK2] Use GraphicsLayerTextureMapper for Accelerated Compositing mode https://bugs.webkit.org/show_bug.cgi?id=211883 Reviewed by Don Olmstead. .: * Source/cmake/OptionsWinCairo.cmake: Added a new build option USE_GRAPHICS_LAYER_TEXTURE_MAPPER, and set ON as the default. Source/WebKit: GraphicsLayerTextureMapper is a simple GraphicsLayer implementation using TextureMapper which is used for WinCairo WebKit1. Add a new LayerTreeHost implementation for GraphicsLayerTextureMapper by copying WinCairo WebKit1's AcceleratedCompositingContext. Windows WebKitTestRunner can't capture the window content for pixel dump tests yet. * PlatformWin.cmake: * Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode): * Shared/WebPageCreationParameters.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): * UIProcess/win/WebView.cpp: (WebKit::WebView::WebView): * WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp: (WebKit::DrawingAreaCoordinatedGraphics::setNeedsDisplayInRect): (WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): * WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h: * WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp: Added. (WebKit::LayerTreeHost::prepareForRendering): (WebKit::LayerTreeHost::compositeLayersToContext): (WebKit::LayerTreeHost::flushPendingLayerChanges): (WebKit::LayerTreeHost::layerFlushTimerFired): (WebKit::LayerTreeHost::LayerTreeHost): (WebKit::LayerTreeHost::setLayerFlushSchedulingEnabled): (WebKit::LayerTreeHost::setShouldNotifyAfterNextScheduledLayerFlush): (WebKit::LayerTreeHost::scheduleLayerFlush): (WebKit::LayerTreeHost::cancelPendingLayerFlush): (WebKit::LayerTreeHost::setRootCompositingLayer): (WebKit::LayerTreeHost::setViewOverlayRootLayer): (WebKit::LayerTreeHost::setNonCompositedContentsNeedDisplay): (WebKit::LayerTreeHost::scrollNonCompositedContents): (WebKit::LayerTreeHost::flushAndRenderLayers): (WebKit::LayerTreeHost::forceRepaint): (WebKit::LayerTreeHost::forceRepaintAsync): (WebKit::LayerTreeHost::sizeDidChange): (WebKit::LayerTreeHost::pauseRendering): (WebKit::LayerTreeHost::resumeRendering): (WebKit::LayerTreeHost::graphicsLayerFactory): (WebKit::LayerTreeHost::contentsSizeChanged): (WebKit::LayerTreeHost::didChangeViewportAttributes): (WebKit::LayerTreeHost::setIsDiscardable): (WebKit::LayerTreeHost::deviceOrPageScaleFactorChanged): (WebKit::LayerTreeHost::createDisplayRefreshMonitor): (WebKit::LayerTreeHost::window): (WebKit::LayerTreeHost::enabled): (WebKit::LayerTreeHost::paintContents): (WebKit::LayerTreeHost::deviceScaleFactor const): (WebKit::LayerTreeHost::applyDeviceScaleFactor): * WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.h: Added. (WebKit::LayerTreeHost::layerTreeContext const): (WebKit::LayerTreeHost::displayID const): * WebProcess/WebPage/WebPage.cpp: * WebProcess/WebPage/WebPage.h: (WebKit::WebPage::nativeWindowHandle): * WebProcess/win/WebProcessMainWin.cpp: Tools: * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::setPreference): Call WKPreferencesSet* for menu items IDM_ACC_COMPOSITING, IDM_COMPOSITING_BORDERS and IDM_DEBUG_INFO_LAYER. Canonical link: https://commits.webkit.org/225218@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262158 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-26 20:30:55 +00:00
2020-05-26 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][WK2] Use GraphicsLayerTextureMapper for Accelerated Compositing mode
https://bugs.webkit.org/show_bug.cgi?id=211883
Reviewed by Don Olmstead.
* Source/cmake/OptionsWinCairo.cmake: Added a new build option
USE_GRAPHICS_LAYER_TEXTURE_MAPPER, and set ON as the default.
2020-05-26 Don Olmstead <don.olmstead@sony.com>
[CMake] Add static analyzers
https://bugs.webkit.org/show_bug.cgi?id=212280
Reviewed by David Kilzer.
Add support for static analyzers within CMake builds. Supported analyzers are
clang-tidy, iwyu (include-what-you-use) and lwyu (link-what-you-use). They can
be enabled by passing a semicolon separated list to CMake through the ANALYZERS
option.
* Source/cmake/WebKitCommon.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/WebKitMacros.cmake:
* Source/cmake/WebKitStaticAnalysis.cmake: Added.
Enable the use of XCBuild by default in Apple builds https://bugs.webkit.org/show_bug.cgi?id=209890 <rdar://problem/44182078> Reviewed by Darin Adler. Switch from the "legacy" Xcode build system to the "new" build system (also known as "XCBuild"). Switching to the new system speeds up builds by a small percentage, better validates projects for build-related issues (such as dependency cycles), lets WebKit benefit from future improvements in XCBuild such as those coming from the underlying llbuild open source project, and prepares us for any other tools built for this new ecosystem. Specific changes: - Remove Xcode project and workspace settings that selected the Build system, allowing the default to take hold (which is currently the New build system). - Updated webkitdirs.pm with a terser check for Xcode version. - Update build-webkit and Makefile.shared to be explicit when using the old build system (no longer treat it as a default or fall-back configuration). - Update various xcconfig files similarly to treat the default as using the new build system. - Update various post-processing build steps to check for Xcode 11.4 and to no longer treat the default as using the old build system. .: * Makefile.shared: * WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: Source/JavaScriptCore: * Configurations/JavaScriptCore.xcconfig: * JavaScriptCore.xcodeproj/project.pbxproj: Source/ThirdParty/ANGLE: * ANGLE.xcodeproj/project.pbxproj: * Configurations/ANGLE.xcconfig: Source/ThirdParty/libwebrtc: * libwebrtc.xcodeproj/project.pbxproj: Source/WebCore: No new tests -- no changed functionality. * WebCore.xcodeproj/project.pbxproj: Source/WebKit: * Configurations/WebKit.xcconfig: * WebKit.xcodeproj/project.pbxproj: Source/WebKitLegacy: * WebKitLegacy.xcodeproj/project.pbxproj: Source/WebKitLegacy/mac: * Configurations/WebKitLegacy.xcconfig: Tools: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * Scripts/build-webkit: * Scripts/webkitdirs.pm: (canUseXCBuild): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Canonical link: https://commits.webkit.org/225210@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-26 16:17:44 +00:00
2020-05-26 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Reviewed by Darin Adler.
Switch from the "legacy" Xcode build system to the "new" build system
(also known as "XCBuild"). Switching to the new system speeds up
builds by a small percentage, better validates projects for
build-related issues (such as dependency cycles), lets WebKit benefit
from future improvements in XCBuild such as those coming from the
underlying llbuild open source project, and prepares us for any other
tools built for this new ecosystem.
Specific changes:
- Remove Xcode project and workspace settings that selected the Build
system, allowing the default to take hold (which is currently the
New build system).
- Updated webkitdirs.pm with a terser check for Xcode version.
- Update build-webkit and Makefile.shared to be explicit when using
the old build system (no longer treat it as a default or fall-back
configuration).
- Update various xcconfig files similarly to treat the default as
using the new build system.
- Update various post-processing build steps to check for Xcode 11.4
and to no longer treat the default as using the old build system.
* Makefile.shared:
* WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
2020-05-22 Yoshiaki JITSUKAWA <yoshiaki.jitsukawa@sony.com>
[PlayStation] Enable JSC shell to run
https://bugs.webkit.org/show_bug.cgi?id=212294
Reviewed by Ross Kirsling.
* Source/cmake/OptionsPlayStation.cmake:
[PlayStation] Add minimal WKView API to enable TestWebKitAPI https://bugs.webkit.org/show_bug.cgi?id=211868 Reviewed by Alex Christensen. Enable TestWebKitAPI .: * Source/cmake/OptionsPlayStation.cmake: Disable FullScreen API and ContextMenus. Source/WebCore: * PlatformPlayStation.cmake: Add WebKitRequirements library to WebCore_CopySharedLibs. Source/WebKit: * Platform/IPC/Connection.h: * Platform/IPC/unix/ConnectionUnix.cpp: (IPC::Connection::platformInvalidate): (IPC::Connection::open): Add SocketMonitor to monitor received messages. * UIProcess/API/APIProcessPoolConfiguration.cpp: (API::ProcessPoolConfiguration::copy): * UIProcess/API/APIProcessPoolConfiguration.h: Add PlayStation specific members: WebProcess and NetworkProcess paths, and user ID. * UIProcess/Launcher/ProcessLauncher.h: Add PlayStation specific members: Process path and user ID. * NetworkProcess/EntryPoint/playstation/NetworkProcessMain.cpp: Copied from Tools\TestWebKitAPI\playstation\main.cpp. (loadLibraryOrExit): (main): * PlatformPlayStation.cmake: * Shared/API/c/playstation/WKEventPlayStation.cpp: Added. (WKKeyboardEventMake): (WKMouseEventMake): (WKWheelEventMake): * Shared/API/c/playstation/WKEventPlayStation.h: Added. * UIProcess/API/C/playstation/WKAPICastPlayStation.h: (WebKit::toAPI<>): (WebKit::toImpl<>): * UIProcess/API/C/playstation/WKContextConfigurationPlayStation.cpp: Copied from Tools\TestWebKitAPI\playstation\PlatformUtilitiesPlayStation.cpp. (WKContextConfigurationSetWebProcessPath): (WKContextConfigurationCopyWebProcessPath): (WKContextConfigurationSetNetworkProcessPath): (WKContextConfigurationCopyNetworkProcessPath): (WKContextConfigurationSetUserId): (WKContextConfigurationGetUserId): * UIProcess/API/C/playstation/WKContextConfigurationPlayStation.h: Copied from Source\WebKit\UIProcess\API\C\playstation\WKView.h. * UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp: Added. (WKPageHandleKeyboardEvent): (WKPageHandleMouseEvent): (WKPageHandleWheelEvent): * UIProcess/API/C/playstation/WKPagePrivatePlayStation.h: Copied from Source\WebKit\UIProcess\API\C\playstation\WKView.h. * UIProcess/API/C/playstation/WKView.cpp: Copied from Source\WebKit\WebProcess\InjectedBundle\playstation\InjectedBundlePlayStation.cpp. (WKViewCreate): (WKViewGetPage): * UIProcess/API/C/playstation/WKView.h: * UIProcess/Launcher/playstation/ProcessLauncherPlayStation.cpp: (WebKit::defaultProcessPath): (WebKit::ProcessLauncher::launchProcess): (WebKit::ProcessLauncher::terminateProcess): (WebKit::ProcessLauncher::platformInvalidate): * UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::getLaunchOptions): * UIProcess/WebProcessPool.h: * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::getLaunchOptions): * UIProcess/playstation/PageClientImpl.cpp: Added. (WebKit::PageClientImpl::PageClientImpl): (WebKit::PageClientImpl::createDrawingAreaProxy): (WebKit::PageClientImpl::setViewNeedsDisplay): (WebKit::PageClientImpl::requestScroll): (WebKit::PageClientImpl::viewScrollPosition): (WebKit::PageClientImpl::viewSize): (WebKit::PageClientImpl::isViewWindowActive): (WebKit::PageClientImpl::isViewFocused): (WebKit::PageClientImpl::isViewVisible): (WebKit::PageClientImpl::isViewInWindow): (WebKit::PageClientImpl::processDidExit): (WebKit::PageClientImpl::didRelaunchProcess): (WebKit::PageClientImpl::pageClosed): (WebKit::PageClientImpl::preferencesDidChange): (WebKit::PageClientImpl::toolTipChanged): (WebKit::PageClientImpl::didCommitLoadForMainFrame): (WebKit::PageClientImpl::handleDownloadRequest): (WebKit::PageClientImpl::didChangeContentSize): (WebKit::PageClientImpl::setCursor): (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): (WebKit::PageClientImpl::didChangeViewportProperties): (WebKit::PageClientImpl::registerEditCommand): (WebKit::PageClientImpl::clearAllEditCommands): (WebKit::PageClientImpl::canUndoRedo): (WebKit::PageClientImpl::executeUndoRedo): (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore): (WebKit::PageClientImpl::convertToDeviceSpace): (WebKit::PageClientImpl::convertToUserSpace): (WebKit::PageClientImpl::screenToRootView): (WebKit::PageClientImpl::rootViewToScreen): (WebKit::PageClientImpl::accessibilityScreenToRootView): (WebKit::PageClientImpl::rootViewToAccessibilityScreen): (WebKit::PageClientImpl::doneWithKeyEvent): (WebKit::PageClientImpl::createPopupMenuProxy): (WebKit::PageClientImpl::enterAcceleratedCompositingMode): (WebKit::PageClientImpl::exitAcceleratedCompositingMode): (WebKit::PageClientImpl::updateAcceleratedCompositingMode): (WebKit::PageClientImpl::fullScreenManagerProxyClient): (WebKit::PageClientImpl::didFinishLoadingDataForCustomContentProvider): (WebKit::PageClientImpl::navigationGestureDidBegin): (WebKit::PageClientImpl::navigationGestureWillEnd): (WebKit::PageClientImpl::navigationGestureDidEnd): (WebKit::PageClientImpl::willRecordNavigationSnapshot): (WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot): (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame): (WebKit::PageClientImpl::didFinishLoadForMainFrame): (WebKit::PageClientImpl::didFailLoadForMainFrame): (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame): (WebKit::PageClientImpl::didChangeBackgroundColor): (WebKit::PageClientImpl::isPlayingAudioWillChange): (WebKit::PageClientImpl::isPlayingAudioDidChange): (WebKit::PageClientImpl::refView): (WebKit::PageClientImpl::derefView): (WebKit::PageClientImpl::didRestoreScrollPosition): (WebKit::PageClientImpl::userInterfaceLayoutDirection): (WebKit::PageClientImpl::requestDOMPasteAccess): * UIProcess/playstation/PageClientImpl.h: Added. * UIProcess/playstation/WebProcessPoolPlayStation.cpp: (WebKit::WebProcessPool::platformInitialize): * UIProcess/playstation/PlayStationWebView.cpp: Copied from Source\WebKit\UIProcess\playstation\WebProcessPoolPlayStation.cpp. (WebKit::PlayStationWebView::create): (WebKit::PlayStationWebView::PlayStationWebView): (WebKit::PlayStationWebView::~PlayStationWebView): (WebKit::PlayStationWebView::isActive const): (WebKit::PlayStationWebView::isFocused const): (WebKit::PlayStationWebView::isVisible const): * UIProcess/playstation/PlayStationWebView.h: Copied from Source\WebKit\WebProcess\InjectedBundle\playstation\InjectedBundlePlayStation.cpp. (WebKit::PlayStationWebView::page): * WebProcess/EntryPoint/playstation/WebProcessMain.cpp: Copied from Tools\TestWebKitAPI\playstation\main.cpp. (loadLibraryOrExit): (main): * WebProcess/InjectedBundle/playstation/InjectedBundlePlayStation.cpp: (WebKit::InjectedBundle::initialize): (WebKit::InjectedBundle::setBundleParameter): * WebProcess/WebPage/AcceleratedSurface.cpp: (WebKit::AcceleratedSurface::create): Source/WTF: * wtf/PlatformPlayStation.cmake: Link libc as a system library. Tools: * TestWebKitAPI/PlatformPlayStation.cmake: * TestWebKitAPI/PlatformWebView.h: * TestWebKitAPI/playstation/PlatformUtilitiesPlayStation.cpp: (TestWebKitAPI::Util::createInjectedBundlePath): (TestWebKitAPI::Util::createURLForResource): * TestWebKitAPI/playstation/PlatformWebViewPlayStation.cpp: (TestWebKitAPI::PlatformWebView::PlatformWebView): (TestWebKitAPI::PlatformWebView::~PlatformWebView): (TestWebKitAPI::PlatformWebView::initialize): (TestWebKitAPI::PlatformWebView::resizeTo): (TestWebKitAPI::PlatformWebView::page const): (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress): (TestWebKitAPI::PlatformWebView::simulateMouseMove): (TestWebKitAPI::PlatformWebView::simulateRightClick): (TestWebKitAPI::PlatformWebView::simulateButtonClick): * TestWebKitAPI/playstation/main.cpp: (loadLibraryOrExit): (main): Add PlayStation Platform support. * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp: (TestWebKitAPI::TEST): Use the same expected default font preferences as GTK's. Canonical link: https://commits.webkit.org/225090@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-21 19:52:41 +00:00
2020-05-21 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Add minimal WKView API to enable TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=211868
Reviewed by Alex Christensen.
Enable TestWebKitAPI
* Source/cmake/OptionsPlayStation.cmake:
Disable FullScreen API and ContextMenus.
[GTK] Implement connected and disconnected events of GAMEPAD API with libmanette https://bugs.webkit.org/show_bug.cgi?id=133854 Reviewed by Carlos Garcia Campos. This patch brings initial GAMEPAD API support to the gtk port. We use libmanette, a simple GObject game controller library to handle gamepad connection and input. .: * Source/cmake/FindManette.cmake: Added to detect libmanette headers and libs installed in host system. * Source/cmake/OptionsGTK.cmake: Added a private flag, ENABLE_GAMEPAD. Once libmanette is found, we expose another build flag, USE_MANETTE for other ports. Source/WebCore: This change aims to implement two GAMEPAD API events: 'gamepadconnected' and 'gamepaddisconnected' on top of libmanette. Rest of API will be implemented by following patches. No new tests since existing tests can cover this change. * PlatformGTK.cmake: Add header & library paths for libmanette. * SourcesGTK.txt: * platform/gamepad/manette/GUniquePtrManette.h: Added to define a smart pointer for ManetteMonitor. * platform/gamepad/manette/ManetteGamepad.cpp: Added. A wrapper class for ManetteDevice. A ManetteGamepad instance is created per a physically connected gamepad. Currently, it is empty but input handling login will be placed in this class. (WebCore::ManetteGamepad::ManetteGamepad): * platform/gamepad/manette/ManetteGamepad.h: Added. * platform/gamepad/manette/ManetteGamepadProvider.cpp: Added. A manager class for ManetteGamepad instances. This class represents ManetteMonitor that handles connection and disconnection of gamepads. Many parts of this class implementation is brought from HIDGamepad.cpp (WebCore::ManetteGamepadProvider::singleton): (WebCore::onDeviceConnected): (WebCore::onDeviceDisconnected): (WebCore::ManetteGamepadProvider::ManetteGamepadProvider): (WebCore::ManetteGamepadProvider::startMonitoringGamepads): (WebCore::ManetteGamepadProvider::stopMonitoringGamepads): (WebCore::ManetteGamepadProvider::deviceConnected): (WebCore::ManetteGamepadProvider::deviceDisconnected): (WebCore::ManetteGamepadProvider::indexForNewlyConnectedDevice): (WebCore::ManetteGamepadProvider::connectionDelayTimerFired): (WebCore::ManetteGamepadProvider::removeGamepadForDevice): * platform/gamepad/manette/ManetteGamepadProvider.h: Added. Source/WebKit: * SourcesGTK.txt: * UIProcess/Gamepad/UIGamepadProvider.cpp: Add a build flag to void default interface * UIProcess/Gamepad/gtk/UIGamepadProviderGtk.cpp: Added to retrieve WebPageProxy to which a gamepad connects. The returned WebPageProxy handles input events from the gamepad. (WebKit::getWebPageProxy): (WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput): * UIProcess/Gamepad/manette/UIGamepadProviderManette.cpp: Added. (WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider): (WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput): (WebKit::UIGamepadProvider::platformStopMonitoringInput): (WebKit::UIGamepadProvider::platformStartMonitoringInput): Tools: In particular, we use libmanette-0.2.4 which is the latest version and minimum version to build in c++. * gtk/jhbuild.modules: Canonical link: https://commits.webkit.org/225037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-20 22:33:35 +00:00
2020-05-20 ChangSeok Oh <changseok@webkit.org>
[GTK] Implement connected and disconnected events of GAMEPAD API with libmanette
https://bugs.webkit.org/show_bug.cgi?id=133854
Reviewed by Carlos Garcia Campos.
This patch brings initial GAMEPAD API support to the gtk port. We use libmanette,
a simple GObject game controller library to handle gamepad connection and input.
* Source/cmake/FindManette.cmake: Added to detect libmanette headers and libs installed in host system.
* Source/cmake/OptionsGTK.cmake: Added a private flag, ENABLE_GAMEPAD.
Once libmanette is found, we expose another build flag, USE_MANETTE for other ports.
Unreviewed. Fix GTK4 build with GTK 3.98.4 .: * Source/cmake/OptionsGTK.cmake: Source/WebCore: * platform/gtk/GtkUtilities.cpp: (WebCore::convertWidgetPointToScreenPoint): * platform/gtk/GtkVersioning.h: (gtk_widget_destroy): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDPI): Source/WebKit: * PlatformGTK.cmake: * UIProcess/API/gtk/WebKitPrintOperation.cpp: (webkitPrintOperationRunDialog): * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseAddDialog): (webkitWebViewBaseRemoveChild): (webkitWebViewBaseContainerForall): (webkitWebViewBaseAddWebInspector): (webkitWebViewBaseRemoveWebInspector): (webkitWebViewBaseDispose): (webkitWebViewBaseSizeAllocate): (webkitWebViewBaseConstructed): (webkit_web_view_base_class_init): * UIProcess/API/gtk/WebKitWebViewBase.h: Removed. * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp: (WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow): (WebKit::RemoteWebInspectorProxy::platformSave): * UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp: (WebKit::WebInspectorProxy::platformCreateFrontendWindow): (WebKit::WebInspectorProxy::platformAttach): (WebKit::WebInspectorProxy::platformDetach): (WebKit::WebInspectorProxy::platformSave): * UIProcess/gtk/WebContextMenuProxyGtk.cpp: (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Tools: * MiniBrowser/gtk/BrowserTab.c: (loadChanged): (browserTabConstructed): * MiniBrowser/gtk/BrowserWindow.c: (webViewClose): (browserWindowSetupToolbarItem): (browser_window_init): Canonical link: https://commits.webkit.org/224998@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-20 13:04:55 +00:00
2020-05-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build with GTK 3.98.4
* Source/cmake/OptionsGTK.cmake:
2020-05-18 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Allow gtk-doc and introspection in cross builds
https://bugs.webkit.org/show_bug.cgi?id=212026
Reviewed by Adrian Perez de Castro.
Stop disabling these options in cross builds.
* Source/cmake/OptionsGTK.cmake:
2020-05-18 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.29.1 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2020-05-10 Basuke Suzuki <basuke.suzuki@sony.com>
Add ENABLE_PERIODIC_MEMORY_MONITOR flag.
https://bugs.webkit.org/show_bug.cgi?id=211704
Reviewed by Yusuke Suzuki.
Define ENABLE_PERIODIC_MEMORY_MONITOR flags in specific platform's options.
Enable it for PlayStation port.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:
2020-05-09 Don Olmstead <don.olmstead@sony.com>
[CMake] Use WEBKIT_EXECUTABLE in MallocBench
https://bugs.webkit.org/show_bug.cgi?id=211665
Reviewed by Yusuke Suzuki.
Add the PerformanceTest subdirectory for all ports when in DEVELOPER_MODE.
* CMakeLists.txt:
2020-05-07 Philippe Normand <pnormand@igalia.com>
[WPE][Qt] Enable by default
https://bugs.webkit.org/show_bug.cgi?id=211517
Reviewed by Adrian Perez de Castro.
* Source/cmake/OptionsWPE.cmake: Now that the EWS and bots use the
Flatpak SDK, Qt5 libs are available so we can enable the module
and have bots run its tests.
2020-05-05 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Compile GPUProcess in WPE port as experimental feature
https://bugs.webkit.org/show_bug.cgi?id=211442
Reviewed by Don Olmstead.
Enable GPUProcess in WPE.
* Source/cmake/OptionsWPE.cmake: enable GPU Process as
experimental feature
2020-05-05 Rob Buis <rbuis@igalia.com>
[GTK][WPE][Fetch API] Stale-while-revalidate is not enabled
https://bugs.webkit.org/show_bug.cgi?id=206416
Reviewed by Carlos Alberto Lopez Perez.
Enable s-w-r for GTK/WPE.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2020-05-04 Darin Adler <darin@apple.com>
Remove unused HAVE(STRINGS_H)
https://bugs.webkit.org/show_bug.cgi?id=211377
Reviewed by Alex Christensen.
* Source/cmake/OptionsCommon.cmake: Remove code to set HAVE_STRINGS_H.
2020-05-01 Per Arne Vollan <pvollan@apple.com>
[Win] Fix AppleWin build
https://bugs.webkit.org/show_bug.cgi?id=211324
Reviewed by Don Olmstead.
Use correct target namespace.
* Source/cmake/target/WebCore.cmake:
Use export macros on all platforms https://bugs.webkit.org/show_bug.cgi?id=211293 Reviewed by Michael Catanzaro. .: Remove explicit setting of USE_EXPORT_MACROS from all ports. Ports that use declspec require no changes. Ports with visibility attributes need to set that as the default in the CMake. This is already done on the PlayStation port. The export macros can also be overridden for different build variants if required. For example production builds may want to override them. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsPlayStation.cmake: Source/bmalloc: Always use export macros on all platforms. Remove BUSE_EXPORT_MACROS and always define macros based on the platform. Allow overriding of BEXPORT if desired otherwise use the defaults. * bmalloc/BExport.h: * bmalloc/BPlatform.h: Source/JavaScriptCore: Allow overriding of JS_EXPORT_PRIVATE if desired otherwise use the defaults. * runtime/JSExportMacros.h: Source/WebCore: * platform/PlatformExportMacros.h: Source/WebCore/PAL: Allow overriding of PAL_EXPORT if desired otherwise use the defaults. * pal/ExportMacros.h: Source/WTF: Always use export macros on all platforms. Remove USE_EXPORT_MACROS and always define macros based on the platform. Allow overriding of WTF_EXPORT_PRIVATE otherwise use the defaults. Remove definition of WTF_HIDDEN_DECLARATION since its not used anywhere. * wtf/ExportMacros.h: * wtf/PlatformUse.h: Tools: Remove uses of USE_EXPORT_MACROS from the DumpRenderTree xcode project. This is the only xcode project that had any references to this value. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Canonical link: https://commits.webkit.org/224188@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-05-01 17:48:04 +00:00
2020-05-01 Don Olmstead <don.olmstead@sony.com>
Use export macros on all platforms
https://bugs.webkit.org/show_bug.cgi?id=211293
Reviewed by Michael Catanzaro.
Remove explicit setting of USE_EXPORT_MACROS from all ports.
Ports that use declspec require no changes. Ports with visibility attributes
need to set that as the default in the CMake. This is already done on the
PlayStation port.
The export macros can also be overridden for different build variants if
required. For example production builds may want to override them.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsPlayStation.cmake:
[GPUP][GTK] compile GPUProcess in GTK port https://bugs.webkit.org/show_bug.cgi?id=208814 Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-04-29 Reviewed by Don Olmstead. Enable GPUProcess compilation in WebKitGTK as an experimental feature .: * Source/cmake/OptionsGTK.cmake: sort alphabetically WebKit options for GTK port and enable GPU_PROCESS if experimental features option is enabled. Source/WebKit: No new tests required. * GPUProcess/GPUConnectionToWebProcess.cpp: guard UserMediaCaptureManagerProxy for Cocoa platform only. (WebKit::GPUConnectionToWebProcess::dispatchMessage): guard messages from UserMediaCaptureManagerProxy for Cocoa platform, moving up this guard from video track messages. (WebKit::GPUConnectionToWebProcess::mediaKeyStorageDirectory): removed guard for this function of ENCRYPTED_MEDIA leaving only LEGACY_ENCRYPTED_MEDIA, since it's were it is defined. (WebKit::GPUConnectionToWebProcess::setOrientationForMediaCapture): guard the content of this function for Cocoa platform, since it is calling a UserMediaCaptureManagerProxy object. * GPUProcess/GPUProcess.cpp: Replace the included header to match with the used symbols in file. * GPUProcess/gstreamer/GPUProcessGStreamer.cpp: Added. (WebKit::GPUProcess::initializeProcess): Empty function. (WebKit::GPUProcess::initializeProcessName): Empty function. (WebKit::GPUProcess::initializeSandbox): Empty function. * GPUProcess/gstreamer/GPUProcessMainGStreamer.cpp: Added. (WebKit::initializeAuxiliaryProcess<GPUProcess>): New function. (WebKit::GPUProcessMain): New function. * GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp: changed guard for this file from ENCRYPTED_MEDIA to LEGACY_ENCRYPTED_MEDIA to match with its header file. * GPUProcess/media/gstreamer/RemoteMediaPlayerProxyGStreamer.cpp: Added. (WebKit::RemoteMediaPlayerProxy::prepareForPlayback): New function that raises noImplemented() (WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable): New function that raises noImplemented() (WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): New function that raises noImplemented() (WebKit::RemoteMediaPlayerProxy::enterFullscreen): New function that raises noImplemented() (WebKit::RemoteMediaPlayerProxy::exitFullscreen): New function that raises noImplemented() * PlatformGTK.cmake: add Platform/generic header directory. * SourcesGTK.txt: Add the new files and GPUProcess/media/RemoteAudioDestinationManager.cpp * WebProcess/GPU/GPUProcessConnection.cpp: guard UserMediaCaptureManager for Cocoa platform only. (WebKit::GPUProcessConnection::dispatchMessage): guard messages from UserMediaCaptureManager for Cocoa platform, moving up this guard applied also for video track. * WebProcess/GPU/media/RemoteCDM.cpp: include missing header GPUProcessConnection.h * WebProcess/GPU/media/gstreamer/VideoLayerRemoteGStreamer.cpp: Added. (WebKit::createVideoLayerRemote): New function that raises noImplemented() Canonical link: https://commits.webkit.org/224089@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-29 16:09:02 +00:00
2020-04-29 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
[GPUP][GTK] compile GPUProcess in GTK port
https://bugs.webkit.org/show_bug.cgi?id=208814
Reviewed by Don Olmstead.
Enable GPUProcess compilation in WebKitGTK as an experimental
feature
* Source/cmake/OptionsGTK.cmake: sort alphabetically WebKit
options for GTK port and enable GPU_PROCESS if experimental
features option is enabled.
2020-04-29 Sergio Villar Senin <svillar@igalia.com>
Add ccls config file to the list of ignored files
https://bugs.webkit.org/show_bug.cgi?id=210426
Reviewed by Tim Horton.
* .gitignore: ccls can read configuration options from a .ccls file in
the project root directory. Let's just ignore it.
2020-04-28 Christopher Reid <chris.reid@sony.com>
[Win] Bundle Inspector Resources in Release builds
https://bugs.webkit.org/show_bug.cgi?id=210942
Reviewed by Fujii Hironori.
Add ENABLE_WEBINSPECTORUI so the resource copy can be disabled
on platforms without inspector frontends.
* CMakeLists.txt:
* Source/CMakeLists.txt:
* Source/PlatformWin.cmake:
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsPlayStation.cmake:
2020-04-28 Philippe Normand <pnormand@igalia.com>
[GStreamer][MediaStream] Doesn't build with GStreamer 1.10
https://bugs.webkit.org/show_bug.cgi?id=210271
Reviewed by Xabier Rodriguez-Calvar.
* Source/cmake/GStreamerChecks.cmake: Require at least GStreamer
1.12 when building with WebRTC/MediaStream enabled.
2020-04-27 Philippe Normand <pnormand@igalia.com>
[GTK] ENABLE(OPENGL) remmants...
https://bugs.webkit.org/show_bug.cgi?id=211077
Reviewed by Adrian Perez de Castro.
ENABLE(OPENGL) was renamed to ENABLE(GRAPHICS_CONTEXT_GL) in
r254064 but not in all the code base...
* Source/cmake/GStreamerDependencies.cmake:
* Source/cmake/OptionsGTK.cmake:
[GTK4] Make it possible to build with GTK4 without errors https://bugs.webkit.org/show_bug.cgi?id=210967 Reviewed by Adrian Perez de Castro. .: Disable API tests and GObject introspection when building with GTK4. * Source/cmake/OptionsGTK.cmake: Source/WebCore: * platform/PlatformPasteboard.h: * platform/graphics/DisplayRefreshMonitor.cpp: (WebCore::DisplayRefreshMonitor::createDefaultDisplayRefreshMonitor): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: * platform/graphics/gtk/GdkCairoUtilities.cpp: (WebCore::getDefaultCairoFontOptions): * platform/gtk/CursorGtk.cpp: (WebCore::createCustomCursor): * platform/gtk/DragImageGtk.cpp: (WebCore::dissolveDragImageToFraction): * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GUniquePtrGtk.h: * platform/gtk/GtkVersioning.h: (gdk_event_copy): (gtk_widget_size_allocate): (gtk_widget_queue_resize_no_redraw): (gdk_event_get_state): (gdk_event_get_coords): (gdk_event_get_root_coords): (gdk_event_is_scroll_stop_event): (gdk_event_get_scroll_direction): (gdk_event_get_scroll_deltas): (gdk_event_get_button): * platform/gtk/PasteboardHelper.cpp: * platform/gtk/PasteboardHelper.h: * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::PlatformKeyboardEvent::modifiersContainCapsLock): * platform/gtk/PlatformPasteboardGtk.cpp: (WebCore::PlatformPasteboard::PlatformPasteboard): (WebCore::PlatformPasteboard::writeToClipboard): (WebCore::PlatformPasteboard::readFromClipboard): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::getCurrentScreenMonitor): Source/WebKit: Add ifdefs when needed to make it possible to complete a build with GTK4. This way we can continue working on every feature individually and checking it actually works. Move public headers containing API specific to GTK3 and GTK4 into their own gtk3 and gtk4 directory. * PlatformGTK.cmake: * Shared/API/glib/WebKitContextMenuItem.cpp: * Shared/NativeWebKeyboardEvent.h: * Shared/NativeWebMouseEvent.h: * Shared/NativeWebWheelEvent.h: * Shared/glib/WebContextMenuItemGlib.cpp: (WebKit::WebContextMenuItemGlib::WebContextMenuItemGlib): (WebKit::WebContextMenuItemGlib::buildActionName const): (WebKit::WebContextMenuItemGlib::createActionIfNeeded): * Shared/glib/WebContextMenuItemGlib.h: * Shared/gtk/NativeWebKeyboardEventGtk.cpp: * Shared/gtk/NativeWebMouseEventGtk.cpp: (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): * Shared/gtk/NativeWebTouchEventGtk.cpp: (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): * Shared/gtk/NativeWebWheelEventGtk.cpp: * Shared/gtk/WebEventFactory.cpp: (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * Shared/gtk/WebEventFactory.h: * SourcesGTK.txt: * UIProcess/API/C/WKNativeEvent.h: * UIProcess/API/glib/InputMethodFilter.cpp: (WebKit::InputMethodFilter::filterKeyEvent): * UIProcess/API/glib/InputMethodFilter.h: * UIProcess/API/glib/WebKitInstallMissingMediaPluginsPermissionRequest.cpp: (createGstInstallPluginsContext): * UIProcess/API/glib/WebKitPrivate.cpp: * UIProcess/API/glib/WebKitUIClient.cpp: (UIClient::setWindowFrameTimerFired): * UIProcess/API/glib/WebKitWebContext.cpp: (webkitWebContextGetProperty): (webkitWebContextSetProperty): (webkit_web_context_class_init): * UIProcess/API/glib/WebKitWebView.cpp: (webkitWebViewRunAsModal): (webkitWebViewPopulateContextMenu): * UIProcess/API/gtk/InputMethodFilterGtk.cpp: (WebKit::InputMethodFilter::platformEventKeyIsKeyPress const): * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::setViewNeedsDisplay): (WebKit::PageClientImpl::setCursor): (WebKit::PageClientImpl::doneWithKeyEvent): (WebKit::PageClientImpl::createPopupMenuProxy): (WebKit::PageClientImpl::createDataListSuggestionsDropdown): (WebKit::PageClientImpl::startDrag): (WebKit::PageClientImpl::doneWithTouchEvent): (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore): * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp: * UIProcess/API/gtk/WebKitAuthenticationDialog.h: * UIProcess/API/gtk/WebKitEmojiChooser.cpp: * UIProcess/API/gtk/WebKitEmojiChooser.h: * UIProcess/API/gtk/WebKitInputMethodContextGtk.cpp: (webkit_input_method_context_filter_key_event): * UIProcess/API/gtk/WebKitInputMethodContextImplGtk.cpp: (webkitInputMethodContextImplGtkFilterKeyEvent): (webkitInputMethodContextImplGtkSetClientWindow): * UIProcess/API/gtk/WebKitPopupMenu.cpp: (WebKit::WebKitPopupMenu::WebKitPopupMenu): (WebKit::WebKitPopupMenu::showPopupMenu): (WebKit::WebKitPopupMenu::hidePopupMenu): (WebKit::WebKitPopupMenu::cancelTracking): * UIProcess/API/gtk/WebKitPopupMenu.h: * UIProcess/API/gtk/WebKitPrintOperation.cpp: * UIProcess/API/gtk/WebKitScriptDialogGtk.cpp: (webkitScriptDialogAccept): (webkitScriptDialogDismiss): (webkitScriptDialogSetUserInput): * UIProcess/API/gtk/WebKitScriptDialogImpl.cpp: * UIProcess/API/gtk/WebKitScriptDialogImpl.h: * UIProcess/API/gtk/WebKitWebViewBase.cpp: (ClickCounter::currentClickCountForGdkButtonEvent): (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate): (webkitWebViewBaseSetToplevelOnScreenWindow): (webkitWebViewBaseRealize): (webkitWebViewBaseContainerForall): (webkitWebViewBaseDispose): (webkitWebViewBaseConstructed): (webkitWebViewBaseSizeAllocate): (webkitWebViewBaseKeyPressEvent): (webkitWebViewBaseKeyReleaseEvent): (webkitWebViewBaseSetEnableBackForwardNavigationGesture): (webkitWebViewBaseBeginBackSwipeForTesting): (webkitWebViewBaseCompleteBackSwipeForTesting): (webkit_web_view_base_class_init): (webkitWebViewBaseWillSwapWebProcess): (webkitWebViewBaseDidExitWebProcess): (webkitWebViewBaseDidRelaunchWebProcess): (webkitWebViewBaseTakeViewSnapshot): (webkitWebViewBaseDidStartProvisionalLoadForMainFrame): (webkitWebViewBaseDidFirstVisuallyNonEmptyLayoutForMainFrame): (webkitWebViewBaseDidFinishLoadForMainFrame): (webkitWebViewBaseDidFailLoadForMainFrame): (webkitWebViewBaseDidSameDocumentNavigationForMainFrame): (webkitWebViewBaseDidRestoreScrollPosition): (webkitWebViewBaseShowEmojiChooser): (webkitWebViewBaseRequestPointerLock): (webkitWebViewBaseDidLosePointerLock): (webkitWebViewBaseSynthesizeCompositionKeyPress): * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/API/gtk/WebKitWebViewDialog.cpp: * UIProcess/API/gtk/WebKitWebViewDialog.h: * UIProcess/API/gtk/WebKitWebViewGtk.cpp: (webkitWebViewAuthenticate): (webkitWebViewScriptDialog): (webkitWebViewRunFileChooser): (webkitWebViewMaximizeWindow): (webkitWebViewMinimizeWindow): (webkitWebViewRestoreWindow): * UIProcess/API/gtk3/WebKitContextMenuItem.h: Copied from Source/WebKit/UIProcess/API/gtk/WebKitContextMenuItem.h. * UIProcess/API/gtk3/WebKitInputMethodContext.h: Copied from Source/WebKit/UIProcess/API/gtk/WebKitInputMethodContext.h. * UIProcess/API/gtk4/WebKitContextMenuItem.h: Renamed from Source/WebKit/UIProcess/API/gtk/WebKitContextMenuItem.h. * UIProcess/API/gtk4/WebKitInputMethodContext.h: Renamed from Source/WebKit/UIProcess/API/gtk/WebKitInputMethodContext.h. * UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp: (WebKit::WebAutomationSession::platformSimulateMouseInteraction): (WebKit::WebAutomationSession::platformSimulateKeyboardInteraction): (WebKit::WebAutomationSession::platformSimulateKeySequence): * UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp: (WebKit::RemoteWebInspectorProxy::platformSave): * UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp: (WebKit::WebInspectorProxy::platformSave): * UIProcess/Inspector/gtk/WebKitInspectorWindow.cpp: (webkit_inspector_window_init): (webkitInspectorWindowNew): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/cairo/BackingStoreCairo.cpp: (WebKit::BackingStore::createBackend): * UIProcess/glib/WebProcessPoolGLib.cpp: (WebKit::WebProcessPool::platformInitializeWebProcess): * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: (WebKit::AcceleratedBackingStoreWayland::tryEnsureGLContext): (WebKit::AcceleratedBackingStoreWayland::paint): * UIProcess/gtk/AcceleratedBackingStoreX11.cpp: (WebKit::AcceleratedBackingStoreX11::~AcceleratedBackingStoreX11): (WebKit::AcceleratedBackingStoreX11::update): * UIProcess/gtk/DragAndDropHandler.cpp: * UIProcess/gtk/DragAndDropHandler.h: * UIProcess/gtk/GestureController.cpp: * UIProcess/gtk/GestureController.h: * UIProcess/gtk/KeyBindingTranslator.cpp: (WebKit::KeyBindingTranslator::KeyBindingTranslator): (WebKit::KeyBindingTranslator::commandsForKeyEvent): * UIProcess/gtk/KeyBindingTranslator.h: * UIProcess/gtk/PointerLockManager.cpp: (WebKit::PointerLockManager::lock): (WebKit::PointerLockManager::unlock): * UIProcess/gtk/PointerLockManager.h: * UIProcess/gtk/PointerLockManagerWayland.cpp: (WebKit::PointerLockManagerWayland::lock): * UIProcess/gtk/PointerLockManagerX11.cpp: (WebKit::PointerLockManagerX11::didReceiveMotionEvent): * UIProcess/gtk/WebColorPickerGtk.cpp: * UIProcess/gtk/WebContextMenuProxyGtk.cpp: (WebKit::WebContextMenuProxyGtk::show): (WebKit::WebContextMenuProxyGtk::showContextMenuWithItems): (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): * UIProcess/gtk/WebContextMenuProxyGtk.h: * UIProcess/gtk/WebDataListSuggestionsDropdownGtk.cpp: * UIProcess/gtk/WebDataListSuggestionsDropdownGtk.h: * UIProcess/gtk/WebPageProxyGtk.cpp: * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: * UIProcess/gtk/WebPopupMenuProxyGtk.h: * WebProcess/Plugins/PluginController.h: * WebProcess/Plugins/PluginView.cpp: * WebProcess/Plugins/PluginView.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::close): (WebKit::WebPage::mainFrameDidLayout): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp: (WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11): (WebKit::AcceleratedSurfaceX11::createPixmap): * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: (WebKit::WebPrintOperationGtk::print): Tools: * MiniBrowser/gtk/BrowserCellRendererVariant.c: * MiniBrowser/gtk/BrowserCellRendererVariant.h: * MiniBrowser/gtk/BrowserDownloadsBar.c: * MiniBrowser/gtk/BrowserDownloadsBar.h: * MiniBrowser/gtk/BrowserMain.c: Added. (browser_main): (browser_main_quit): * MiniBrowser/gtk/BrowserMain.h: Added. * MiniBrowser/gtk/BrowserSearchBar.c: * MiniBrowser/gtk/BrowserSearchBar.h: * MiniBrowser/gtk/BrowserSettingsDialog.c: * MiniBrowser/gtk/BrowserSettingsDialog.h: * MiniBrowser/gtk/BrowserTab.c: (browserTabConstructed): (browser_tab_start_search): (browser_tab_stop_search): (browser_tab_enter_fullscreen): (browser_tab_leave_fullscreen): * MiniBrowser/gtk/BrowserTab.h: * MiniBrowser/gtk/BrowserWindow.c: (webViewURIChanged): (resetEntryProgress): (webViewLoadProgressChanged): (downloadStarted): (browserWindowUpdateNavigationActions): (webViewReadyToShow): (browserWindowUpdateZoomActions): (webViewZoomLevelChanged): (updateUriEntryIcon): (webViewIsLoadingChanged): (browserWindowFinalize): (browserWindowSetupEditorToolbar): (browserWindowSwitchTab): (browser_window_init): (browser_window_class_init): (browser_window_new): (browser_window_append_view): (browser_window_set_background_color): (browser_window_get_or_create_web_view_for_automation): * MiniBrowser/gtk/CMakeLists.txt: * MiniBrowser/gtk/main.c: (main): * PlatformGTK.cmake: * Scripts/webkitpy/style/checker.py: * TestWebKitAPI/glib/PlatformGTK.cmake: Canonical link: https://commits.webkit.org/223953@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-27 13:10:10 +00:00
2020-04-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Make it possible to build with GTK4 without errors
https://bugs.webkit.org/show_bug.cgi?id=210967
Reviewed by Adrian Perez de Castro.
Disable API tests and GObject introspection when building with GTK4.
* Source/cmake/OptionsGTK.cmake:
2020-04-27 Diego Pino Garcia <dpino@igalia.com>
Unreviewed, reverting r260672.
[GTK] WebInspector tests are timing out after r260672
Reverted changeset:
"[Win] Bundle Inspector Resources in Release builds"
https://bugs.webkit.org/show_bug.cgi?id=210942
https://trac.webkit.org/changeset/260672
2020-04-26 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Enable TestWTF and TestWebCore
https://bugs.webkit.org/show_bug.cgi?id=208849
Reviewed by Don Olmstead.
* Source/cmake/OptionsPlayStation.cmake:
- Add PLAYSTATION_COPY_SHARED_LIBRARIES() to install dependencies.
- Add -g option for "Release" configuration.
- Drop "RelWithDebInfo" and "MinSizeRel" configuration.
2020-04-24 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK][WPE][JSCOnly] compile error when -DWTF_CPU_ARM64_CORTEXA53=ON set for arm64
https://bugs.webkit.org/show_bug.cgi?id=197192
Reviewed by Yusuke Suzuki.
* Source/cmake/OptionsCommon.cmake:
2020-04-24 Christopher Reid <chris.reid@sony.com>
[Win] Bundle Inspector Resources in Release builds
https://bugs.webkit.org/show_bug.cgi?id=210942
Reviewed by Fujii Hironori.
Add ENABLE_WEBINSPECTORUI so the resource copy can be disabled
on platforms without inspector frontends.
* CMakeLists.txt:
* Source/CMakeLists.txt:
* Source/PlatformWin.cmake:
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsPlayStation.cmake:
2020-04-24 Per Arne Vollan <pvollan@apple.com>
[Win] Fix AppleWin build
https://bugs.webkit.org/show_bug.cgi?id=210971
Reviewed by Brent Fulgham.
PAL is built as a static library.
* Source/cmake/target/PAL.cmake:
2020-04-23 Yusuke Suzuki <ysuzuki@apple.com>
Make JSCOnly work on macOS
https://bugs.webkit.org/show_bug.cgi?id=210953
Reviewed by Ross Kirsling.
In JSCOnly port on macOS, we should disable ICU API renaming because OS shipped ICU does not have version suffix.
* Source/cmake/OptionsJSCOnly.cmake:
[Cocoa] Build with UChar as char16_t even in builds that use Apple's internal SDK https://bugs.webkit.org/show_bug.cgi?id=210845 Reviewed by Anders Carlsson. .: * Source/cmake/OptionsCommon.cmake: Move ICU-configuring macros to Platform.h. * Source/cmake/OptionsJSCOnly.cmake: Ditto. * Source/cmake/OptionsMac.cmake: Ditto. Source/JavaScriptCore: * Configurations/Base.xcconfig: Move ICU-configuring macros to Platform.h. Source/WebCore: * Configurations/WebCore.xcconfig: Move ICU-configuring macros to Platform.h. * Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Get rid of an obsolete cast to unsigned to work around uint16_t not being treated as a number by makeString. * rendering/svg/SVGTextLayoutEngineBaseline.cpp: (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle const): Remove deprecated U_EA_COUNT. Source/WebKit: * Configurations/BaseTarget.xcconfig: Move ICU-configuring macros to Platform.h. * Platform/unix/EnvironmentUtilities.h: Removed unneeded includes. This sidesteps a problem with Apple's internal InstallAPI tool that happens if StringView.h is included and Platform.h is not included first. * UIProcess/API/cpp/WKRetainPtr.h: Removed unneeded includes, and used #pragma once. * UIProcess/Cocoa/PreferenceObserver.h: Moved most things out of the header, since they don't need to be there. * UIProcess/Cocoa/PreferenceObserver.mm: Moved them here including using a class extension for the data member of WKPreferenceObserver. * UIProcess/ios/fullscreen/FullscreenTouchSecheuristicParameters.h: Removed unneeded WTF prefix. Source/WebKitLegacy/mac: * Configurations/WebKitLegacy.xcconfig: Move ICU-configuring macros to Platform.h. Source/WTF: * Configurations/Base.xcconfig: Move ICU-configuring macros to Platform.h. * wtf/Platform.h: Set macros here. The file says not to put things like this in it, but in practice this is the right place to put something that we need set consistently for all the WebKit projects. - U_HIDE_DEPRECATED_API, to make sure we don't use it by accident. - U_SHOW_CPLUSPLUS_API=0, to make sure we don't use it by accident. - UCHAR_TYPE=char16_t when compiling C++, which is the default on most platforms, but not the default in Apple's internal SDK. - U_DISABLE_RENAMING when building on Apple platforms, important so we can link to an older version of ICU and still load with a newer version. * wtf/URL.cpp: (WTF::URL::hostAndPort const): Get rid of an obsolete cast to unsigned to work around uint16_t not being treated as a number by makeString. * wtf/URLHelpers.cpp: Rework to not use deprecated USCRIPT_CODE_LIMIT. (WTF::URLHelpers::whiteListIDNScript): Added overloads. (WTF::URLHelpers::initializeDefaultIDNScriptWhiteList): Use an array of UScriptCode instead of an array of strings. (WTF::URLHelpers::allCharactersInIDNScriptWhiteList): Updated for the above. * wtf/cocoa/NSURLExtras.mm: (WTF::decodePercentEscapes): Use createCFString instead of converting to NString and then typecasting. (WTF::URLByTruncatingOneCharacterBeforeComponent): Updated to use a constexpr instead of a macro. (WTF::dataForURLComponentType): Ditto. (WTF::URLByRemovingComponentAndSubsequentCharacter): Ditto. (WTF::originalURLData): Ditto. Tools: * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: (TestWebKitAPI::TEST): Get rid of an obsolete cast to unsigned to work around uint16_t not being treated as a number by makeString. * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST): Ditto. * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: (TestWebKitAPI::TEST): Ditto. * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST): Ditto. * TestWebKitAPI/Tests/WebKit/EnvironmentUtilitiesTest.cpp: Add an include needed since EvironmentUtilities.h now includes less. Canonical link: https://commits.webkit.org/223781@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260554 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-23 04:34:31 +00:00
2020-04-22 Darin Adler <darin@apple.com>
[Cocoa] Build with UChar as char16_t even in builds that use Apple's internal SDK
https://bugs.webkit.org/show_bug.cgi?id=210845
Reviewed by Anders Carlsson.
* Source/cmake/OptionsCommon.cmake: Move ICU-configuring macros to Platform.h.
* Source/cmake/OptionsJSCOnly.cmake: Ditto.
* Source/cmake/OptionsMac.cmake: Ditto.
2020-04-22 Don Olmstead <don.olmstead@sony.com>
[CMake] Use WEBKIT_EXECUTABLE in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=210132
Reviewed by Adrian Perez de Castro.
Add a WebKitTestRunner derived sources directory.
* Source/cmake/WebKitFS.cmake:
2020-04-21 Adrian Perez de Castro <aperez@igalia.com>
[GTK][CMake] Make gtk-unix-print a component of FindGTK.cmake
https://bugs.webkit.org/show_bug.cgi?id=210792
Reviewed by Carlos Garcia Campos.
* Source/cmake/FindGTK.cmake: Support an "unix-print" component.
* Source/cmake/FindGTKUnixPrint.cmake: Removed.
* Source/cmake/OptionsGTK.cmake: Use the "unix-print" component of the GTK find module.
[GTK][WPE] Enable resource load statistics https://bugs.webkit.org/show_bug.cgi?id=210184 Reviewed by Žan Doberšek. .: Enable resource load statistics. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: * platform/network/soup/NetworkStorageSessionSoup.cpp: (WebCore::NetworkStorageSession::setCookiesFromDOM const): Return early if cookies are blocked and update the persistent cookies expiration if needed. (WebCore::NetworkStorageSession::deleteCookiesForHostnames): Implement this when receiving IncludeHttpOnlyCookies parameter. (WebCore::NetworkStorageSession::hasCookies const): Implement this. (WebCore::NetworkStorageSession::getRawCookies const): Honor shouldAskITP parameter. (WebCore::cookiesForSession): Ditto. (WebCore::NetworkStorageSession::cookiesForDOM const): Ditto. (WebCore::NetworkStorageSession::cookieRequestHeaderFieldValue const): Ditto. Source/WebKit: * NetworkProcess/NetworkDataTask.cpp: (WebKit::NetworkDataTask::create): Pass page and frame identifiers to the constructor. (WebKit::NetworkDataTask::isThirdPartyRequest const): Moved from NetworkDataTaskCocoa.mm. (WebKit::NetworkDataTask::restrictRequestReferrerToOriginIfNeeded): Ditto. * NetworkProcess/NetworkDataTask.h: * NetworkProcess/cocoa/NetworkDataTaskCocoa.h: * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: * NetworkProcess/soup/NetworkDataTaskSoup.cpp: (WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup): Initialize m_frameID and m_pageID. (WebKit::NetworkDataTaskSoup::createRequest): Add WasBlockingCookies parameter. Call restrictRequestReferrerToOriginIfNeeded() and disable cookies in the soup message if cookies should be blocked. (WebKit::NetworkDataTaskSoup::clearRequest): Reset m_isBlockingCookies. (WebKit::NetworkDataTaskSoup::continueHTTPRedirection): Pass WasBlockingCookies to createRequest(). * NetworkProcess/soup/NetworkDataTaskSoup.h: * UIProcess/API/C/WKPage.cpp: (WKPageLoadedThirdPartyDomains): Added for tests. (WKPageClearLoadedThirdPartyDomains): Ditto. * UIProcess/API/C/WKPagePrivate.h: * UIProcess/glib/WebsiteDataStoreGLib.cpp: (WebKit::WebsiteDataStore::defaultResourceLoadStatisticsDirectory): Use lowercase for consistency with other default directories. Tools: Implement TestController::loadedThirdPartyDomains() and TestController::clearLoadedThirdPartyDomains() for non-cocoa ports. * WebKitTestRunner/TestController.cpp: (WTR::LoadedThirdPartyDomainsCallbackContext::LoadedThirdPartyDomainsCallbackContext): (WTR::loadedThirdPartyDomainsCallback): (WTR::TestController::loadedThirdPartyDomains): (WTR::TestController::clearLoadedThirdPartyDomains): LayoutTests: Unskip tests that are now passing and add expectations for the two reminaing failures. * http/tests/resourceLoadStatistics/loaded-registrable-domains-get-reported.html: Use setTimeout in onload handler to avoid a deadlock due to sync injected bundle messages. * platform/gtk/TestExpectations: * platform/wpe/TestExpectations: Canonical link: https://commits.webkit.org/223616@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-20 08:33:58 +00:00
2020-04-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Enable resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=210184
Reviewed by Žan Doberšek.
Enable resource load statistics.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2020-04-17 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WebKit::WebCore target
https://bugs.webkit.org/show_bug.cgi?id=210445
Reviewed by Michael Catanzaro.
Add a target file for internal Apple Windows builds.
* Source/cmake/target/WebCore.cmake: Added.
2020-04-16 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Disable netscape plugins API
https://bugs.webkit.org/show_bug.cgi?id=210552
Reviewed by Adrian Perez de Castro.
Because GTK4 is the future and NPAPI plugins the past.
* Source/cmake/OptionsGTK.cmake:
2020-04-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Do not run gtk-doc when building with GTK4
It's not supported yet.
* Source/PlatformGTK.cmake:
2020-04-13 Adrian Perez de Castro <aperez@igalia.com>
[GTK][CMake] Introduce an USE_GTK4 build option
https://bugs.webkit.org/show_bug.cgi?id=210154
Reviewed by Carlos Garcia Campos.
Do the bare minimum changes to build against GTK4 and produce a WebKit port library with a
different name than GTK3 builds. Note that this does not attempt to make the built artifacts
parallel-installable yet, though at least the main library, headers, and the pkg-config .pc
file should be safe to install. The final names for built artifacts for GTK4 builds may
still change.
* Source/cmake/OptionsGTK.cmake: Add a new USE_GTK4 public build option, which defaults
to FALSE for now, and depending on its value choose the required version of GTK and set
a different API version versions. This is enough to build a library with a different
name (libwebkit2gtk-5.0 vs. libwebkit2gtk-4.0) when GTK4 is in use.
2020-04-10 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Improved sccache support
https://bugs.webkit.org/show_bug.cgi?id=210027
Reviewed by Žan Doberšek.
* Source/cmake/WebKitCCache.cmake: Check for sccache if one of its
environment variables has been set as well, otherwise the local
disk cache would be used, if WEBKIT_USE_SCCACHE is set to 1.
Remove ENABLE_INTL define https://bugs.webkit.org/show_bug.cgi?id=210164 Reviewed by Darin Adler. .: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: * Scripts/generateIntlCanonicalizeLanguage.py: * builtins/DatePrototype.js: * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncToLocaleString): * runtime/DatePrototype.cpp: (JSC::DatePrototype::finishCreation): * runtime/IntlCollator.cpp: * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: * runtime/IntlCollatorConstructor.h: * runtime/IntlCollatorPrototype.cpp: * runtime/IntlCollatorPrototype.h: * runtime/IntlDateTimeFormat.cpp: * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: * runtime/IntlDateTimeFormatConstructor.h: * runtime/IntlDateTimeFormatPrototype.cpp: * runtime/IntlDateTimeFormatPrototype.h: * runtime/IntlNumberFormat.cpp: * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: * runtime/IntlNumberFormatConstructor.h: * runtime/IntlNumberFormatPrototype.cpp: * runtime/IntlNumberFormatPrototype.h: * runtime/IntlObject.cpp: * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: * runtime/IntlPluralRules.cpp: * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: * runtime/IntlPluralRulesConstructor.h: * runtime/IntlPluralRulesPrototype.cpp: * runtime/IntlPluralRulesPrototype.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::defaultCollator const): (JSC::JSGlobalObject::pluralRulesStructure): * runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncDateTimeFormat): * runtime/NumberPrototype.cpp: (JSC::numberProtoFuncToLocaleString): * runtime/StringPrototype.cpp: (JSC::StringPrototype::finishCreation): (JSC::stringProtoFuncLocaleCompare): (JSC::stringProtoFuncToLocaleUpperCase): * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Source/WTF: AppleWin (and, following suit, FTW) was the only upstream platform turning ENABLE_INTL off; now that their headers have been upgraded to ICU 62, this define can be removed entirely. Going forward, we thus assume JSC has an Intl object and can simply runtime-guard any new features added to it. * wtf/PlatformEnable.h: * wtf/PlatformEnableCocoa.h: Tools: * Scripts/webkitperl/FeatureList.pm: Canonical link: https://commits.webkit.org/223128@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-09 00:06:00 +00:00
2020-04-08 Ross Kirsling <ross.kirsling@sony.com>
Remove ENABLE_INTL define
https://bugs.webkit.org/show_bug.cgi?id=210164
Reviewed by Darin Adler.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2020-04-08 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Update import of libdl stubs for new Angle dladdr use
https://bugs.webkit.org/show_bug.cgi?id=210200
Reviewed by Don Olmstead.
* Source/cmake/OptionsPlayStation.cmake:
Use find_package to get libdl wrappers on playstation, include
them in both executables and shared libraries.
2020-04-08 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r259708.
Broke the iOS device Build
Reverted changeset:
"Enable the use of XCBuild by default in Apple builds"
https://bugs.webkit.org/show_bug.cgi?id=209890
https://trac.webkit.org/changeset/259708
Enable the use of XCBuild by default in Apple builds https://bugs.webkit.org/show_bug.cgi?id=209890 <rdar://problem/44182078> Reviewed by Darin Adler. Switch from the "legacy" Xcode build system to the "new" build system (also known as "XCBuild"). Switching to the new system speeds up builds by a small percentage, better validates projects for build-related issues (such as dependency cycles), lets WebKit benefit from future improvements in XCBuild such as those coming from the underlying llbuild open source project, and prepares us for any other tools built for this new ecosystem. Specific changes: - Remove Xcode project and workspace settings that selected the Build system, allowing the default to take hold (which is currently the New build system). - Updated webkitdirs.pm with a terser check for Xcode version. - Update build-webkit and Makefile.shared to be explicit when using the old build system (no longer treat it as a default or fall-back configuration). - Update various xcconfig files similarly to treat the default as using the new build system. - Update various post-processing build steps to check for Xcode 11.4 and to no longer treat the default as using the old build system. .: * Makefile.shared: * WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: Source/JavaScriptCore: * Configurations/JavaScriptCore.xcconfig: * JavaScriptCore.xcodeproj/project.pbxproj: Source/ThirdParty/ANGLE: * ANGLE.xcodeproj/project.pbxproj: * Configurations/ANGLE.xcconfig: Source/ThirdParty/libwebrtc: * libwebrtc.xcodeproj/project.pbxproj: Source/WebCore: No new tests -- no changed functionality. * WebCore.xcodeproj/project.pbxproj: Source/WebKit: * Configurations/WebKit.xcconfig: * WebKit.xcodeproj/project.pbxproj: Source/WebKitLegacy: * WebKitLegacy.xcodeproj/project.pbxproj: Source/WebKitLegacy/mac: * Configurations/WebKitLegacy.xcconfig: Tools: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * Scripts/build-webkit: * Scripts/webkitdirs.pm: (canUseXCBuild): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Canonical link: https://commits.webkit.org/223071@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259708 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-08 09:12:07 +00:00
2020-04-08 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Reviewed by Darin Adler.
Switch from the "legacy" Xcode build system to the "new" build system
(also known as "XCBuild"). Switching to the new system speeds up
builds by a small percentage, better validates projects for
build-related issues (such as dependency cycles), lets WebKit benefit
from future improvements in XCBuild such as those coming from the
underlying llbuild open source project, and prepares us for any other
tools built for this new ecosystem.
Specific changes:
- Remove Xcode project and workspace settings that selected the Build
system, allowing the default to take hold (which is currently the
New build system).
- Updated webkitdirs.pm with a terser check for Xcode version.
- Update build-webkit and Makefile.shared to be explicit when using
the old build system (no longer treat it as a default or fall-back
configuration).
- Update various xcconfig files similarly to treat the default as
using the new build system.
- Update various post-processing build steps to check for Xcode 11.4
and to no longer treat the default as using the old build system.
* Makefile.shared:
* WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
2020-04-08 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Release logs are unconditionally filling the journal
https://bugs.webkit.org/show_bug.cgi?id=209421
Reviewed by Carlos Alberto Lopez Perez.
Re-enable Systemd logging and make it opt-in via the WEBKIT_DEBUG environment variable.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[GTK] CMake find module for GTK4 https://bugs.webkit.org/show_bug.cgi?id=210110 Reviewed by Don Olmstead. .: Rename FindGTK3.cmake as FindGTK.cmake, make it provide a GTK::GTK imported target, and rewrite the logic to detect which targets (backends) have been built into GTK to use the "targets" pkg-config variable instead of checking for multiple pkg-config modules. * Source/cmake/FindGDK3.cmake: Removed. * Source/cmake/FindGTK.cmake: Added. * Source/cmake/FindGTK3.cmake: Removed. This is now unused because the GTK::GTK target will transitively depend on GDK3 when using GTK3 and bring in the compiler and linker options automatically without needing to use a separate find module for GDK. * Source/cmake/OptionsGTK.cmake: Use the GTK::GTK imported target, change variables prefixed with GTK3_ to use the GTK_ prefix, and remove variables which are not needed anymore when using the target (GTK_LIBRARIES, GTK_INCLUDE_DIRS, GDK_LIBRARIES and GDK_INCLUDE_DIRS). Source/WebCore: No new tests needed. * PlatformGTK.cmake: Use the GTK::GTK imported target. Source/WebCore/PAL: * pal/PlatformGTK.cmake: Use the GTK::GTK imported target. Tools: * MiniBrowser/gtk/CMakeLists.txt: Use the GTK::GTK imported target. * TestWebKitAPI/PlatformGTK.cmake: Ditto. * TestWebKitAPI/glib/PlatformGTK.cmake: Ditto. * WebKitTestRunner/PlatformGTK.cmake: Ditto. Canonical link: https://commits.webkit.org/223019@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-07 16:25:17 +00:00
2020-04-07 Adrian Perez de Castro <aperez@igalia.com>
[GTK] CMake find module for GTK4
https://bugs.webkit.org/show_bug.cgi?id=210110
Reviewed by Don Olmstead.
Rename FindGTK3.cmake as FindGTK.cmake, make it provide a GTK::GTK imported target,
and rewrite the logic to detect which targets (backends) have been built into GTK
to use the "targets" pkg-config variable instead of checking for multiple pkg-config
modules.
* Source/cmake/FindGDK3.cmake: Removed.
* Source/cmake/FindGTK.cmake: Added.
* Source/cmake/FindGTK3.cmake: Removed. This is now unused because the GTK::GTK target
will transitively depend on GDK3 when using GTK3 and bring in the compiler and linker
options automatically without needing to use a separate find module for GDK.
* Source/cmake/OptionsGTK.cmake: Use the GTK::GTK imported target, change variables
prefixed with GTK3_ to use the GTK_ prefix, and remove variables which are not needed
anymore when using the target (GTK_LIBRARIES, GTK_INCLUDE_DIRS, GDK_LIBRARIES and
GDK_INCLUDE_DIRS).
2020-04-06 Don Olmstead <don.olmstead@sony.com>
[CMake] Use WEBKIT_EXECUTABLE in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=210059
Reviewed by Fujii Hironori.
Add a DumpRenderTree derived sources directory.
* Source/cmake/WebKitFS.cmake:
Update minimum ICU version to 60.2 https://bugs.webkit.org/show_bug.cgi?id=209694 Reviewed by Darin Adler. .: * Source/cmake/OptionsAppleWin.cmake: * Source/cmake/OptionsCommon.cmake: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsJSCOnly.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWinCairo.cmake: Indicate 60.2 as minimum version (as required by GTK for supporting Ubuntu 18.04 LTS). Also ensure that the C++ API is hidden for all platforms. Source/JavaScriptCore: * icu/LICENSE: Deleted. * icu/README: Deleted. Remove leftover files following r219155. * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDateTimeFormat::UFieldPositionIteratorDeleter::operator() const): (JSC::IntlDateTimeFormat::partTypeString): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatPrototype::finishCreation): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::partTypeString): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatPrototype::finishCreation): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/JSGlobalObjectFunctions.cpp: (JSC::decode): Remove obsoleted compile-time version checks. Source/WebCore: * PlatformMac.cmake: * WebCore.xcodeproj/project.pbxproj: * icu/LICENSE: Deleted. * icu/README: Deleted. Remove leftover files following r219155 as well as a corresponding Xcode step. * editing/cocoa/DataDetection.mm: (WebCore::buildQuery): * page/ios/FrameIOS.mm: (WebCore::Frame::interpretationsForCurrentRoot const): * platform/cocoa/KeyEventCocoa.mm: (WebCore::keyForCharCode): * platform/cocoa/TelephoneNumberDetectorCocoa.cpp: (WebCore::TelephoneNumberDetector::find): * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::createFontForCharacters): (WebCore::FontCache::prewarm): * platform/graphics/mac/ComplexTextControllerCoreText.mm: (WebCore::provideStringAndAttributes): * platform/graphics/mac/GlyphPageMac.cpp: (WebCore::GlyphPage::fill): Manually convert between UChar and UniChar/unichar where needed. * platform/text/CharacterProperties.h: (WebCore::isEmojiGroupCandidate): (WebCore::isEmojiWithPresentationByDefault): (WebCore::isEmojiModifierBase): (WebCore::icuLibraryUnderstandsSupplementalSymbolsAndPictographs): Deleted. Remove obsoleted compile-time and runtime version checks. Source/WebKit: * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm: (-[WKDOMTextIterator currentTextPointer]): Manually convert between UChar and UniChar/unichar where needed. Source/WebKitLegacy/mac: * Misc/WebKitNSStringExtras.mm: (-[NSString _web_drawAtPoint:font:textColor:]): (-[NSString _web_widthWithFont:]): * WebCoreSupport/WebVisitedLinkStore.mm: (WebVisitedLinkStore::addVisitedLink): * WebView/WebTextIterator.mm: (-[WebTextIterator currentTextPointer]): Manually convert between UChar and UniChar/unichar where needed. Source/WTF: This patch has two immediate motivations: 1. To properly introduce a minimum ICU version for WebKit as a whole (responding to a pain point identified in bug 209579) 2. To support the development of ECMA-402 Intl API features, which JSC is quite behind on (and which often boil down to exposing ICU functionality to JavaScript) * icu/LICENSE: * icu/README: * icu/unicode/: Update ICU headers to major version 62, the version included in macOS Mojave. * wtf/text/AtomString.h: * wtf/text/WTFString.h: Remove obsoleted compile-time version checks. * wtf/text/cocoa/StringCocoa.mm: (WTF::String::String): * wtf/text/cocoa/StringViewCocoa.mm: (WTF::StringView::createNSString const): (WTF::StringView::createNSStringWithoutCopying const): Manually convert between UChar and UniChar/unichar where needed. Tools: * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: Remove obsoleted compile-time version checks. * DumpRenderTree/TestRunner.cpp: (TestRunner::runUIScript): * TestWebKitAPI/Tests/WebCore/LineBreaking.mm: (breakingLocationsFromICU): Manually convert between UChar and UniChar/unichar where needed. Canonical link: https://commits.webkit.org/222989@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-06 23:15:45 +00:00
2020-04-06 Ross Kirsling <ross.kirsling@sony.com>
Update minimum ICU version to 60.2
https://bugs.webkit.org/show_bug.cgi?id=209694
Reviewed by Darin Adler.
* Source/cmake/OptionsAppleWin.cmake:
* Source/cmake/OptionsCommon.cmake:
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWinCairo.cmake:
Indicate 60.2 as minimum version (as required by GTK for supporting Ubuntu 18.04 LTS).
Also ensure that the C++ API is hidden for all platforms.
2020-04-05 Don Olmstead <don.olmstead@sony.com>
[CMake] Use WEBKIT_EXECUTABLE in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=206894
Reviewed by Adrian Perez de Castro.
Add a MiniBrowser derived sources directory.
* Source/cmake/WebKitFS.cmake:
[CMake] Add WebKit::WebKit target https://bugs.webkit.org/show_bug.cgi?id=210033 Reviewed by Fujii Hironori. .: Use SET_AND_EXPOSE_TO_BUILD for the Plugin process since ENABLE(PLUGIN_PROCESS) is used in the source code. * Source/cmake/OptionsGTK.cmake: Source/WebKit: Use WEBKIT_EXECUTABLE macros for the Process executables. Rename the output file names to fit with the macro's expectations. Add Headers.cmake which lists out all the public headers that are currently shared by the PlayStation and Windows ports. This is then included on each platform that is using it. Additionally use WEBKIT_COPY_FILES to create a target which copies headers. Finally use WEBKIT_FRAMEWORK_TARGET to create a WebKit target. Its dependent on the WebKit library itself, the processes being built, and any headers that are copied. This ensures that everything is built for dependent targets. * CMakeLists.txt: * Headers.cmake: Copied from Source/WebKit/PlatformPlayStation.cmake. * PlatformFTW.cmake: * PlatformGTK.cmake: * PlatformMac.cmake: * PlatformPlayStation.cmake: * PlatformWPE.cmake: * PlatformWin.cmake: Tools: Use the WebKit::WebKit target for MiniBrowser and TestWebKit. This removes the need to have WebProcess and NetworkProcess as dependencies since they are attached to the WebKit::WebKit target. Remove references to WebKitFrameworkHeaders as it is now WebKit_CopyHeaders. It is also a dependency of WebKit::WebKit so it does not need to be listed as a dependency. * MiniBrowser/win/CMakeLists.txt: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformPlayStation.cmake: * TestWebKitAPI/PlatformWin.cmake: * WebKitTestRunner/CMakeLists.txt: Canonical link: https://commits.webkit.org/222951@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-06 03:02:54 +00:00
2020-04-05 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WebKit::WebKit target
https://bugs.webkit.org/show_bug.cgi?id=210033
Reviewed by Fujii Hironori.
Use SET_AND_EXPOSE_TO_BUILD for the Plugin process since ENABLE(PLUGIN_PROCESS)
is used in the source code.
* Source/cmake/OptionsGTK.cmake:
2020-04-02 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r259390.
https://bugs.webkit.org/show_bug.cgi?id=209944
It broke WinCairo builds (Requested by fujihiro on #webkit).
Reverted changeset:
"Enable offlineasm debug annotations for GCC"
https://bugs.webkit.org/show_bug.cgi?id=207119
https://trac.webkit.org/changeset/259390
[GPUP][PlayStation] Enable GPU Process https://bugs.webkit.org/show_bug.cgi?id=209865 Reviewed by Eric Carlson. .: Enable GPU Process for development builds as an experimental feature. * Source/cmake/OptionsPlayStation.cmake: Source/WebKit: A generic LayerHostingContext is provided in this patch. It may make sense for this to be platform specific but it may also be possible to have some shared implementation with Cocoa ports. Once there are more implementations that can be decided. Add stubs for building out the GPU Process on the PlayStation port. No implementation is provided at this time but the GPU Process will compile and link with these changes. * GPUProcess/media/playstation/RemoteMediaPlayerProxyPlayStation.cpp: Added. (WebKit::RemoteMediaPlayerProxy::prepareForPlayback): (WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable): (WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): (WebKit::RemoteMediaPlayerProxy::enterFullscreen): (WebKit::RemoteMediaPlayerProxy::exitFullscreen): * GPUProcess/playstation/GPUProcessMainPlayStation.cpp: Added. (WebKit::initializeAuxiliaryProcess<GPUProcess>): (WebKit::GPUProcessMain): * GPUProcess/playstation/GPUProcessPlayStation.cpp: Added. (WebKit::GPUProcess::initializeProcess): (WebKit::GPUProcess::initializeProcessName): (WebKit::GPUProcess::initializeSandbox): * Platform/generic/LayerHostingContext.h: Added. * PlatformPlayStation.cmake: * WebProcess/GPU/media/playstation/VideoLayerRemotePlayStation.cpp: Added. (WebKit::createVideoLayerRemote): Canonical link: https://commits.webkit.org/222790@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-01 20:40:39 +00:00
2020-04-01 Don Olmstead <don.olmstead@sony.com>
[GPUP][PlayStation] Enable GPU Process
https://bugs.webkit.org/show_bug.cgi?id=209865
Reviewed by Eric Carlson.
Enable GPU Process for development builds as an experimental feature.
* Source/cmake/OptionsPlayStation.cmake:
2020-04-01 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Use OBJECT libraries for WebCore and PAL
https://bugs.webkit.org/show_bug.cgi?id=209835
Reviewed by Ross Kirsling.
When compiling WebCore in debug mode ranlib was having issues with the size of
libWebCore.a. This is similar to what happened with Visual Studio and WinCairo.
Additionally hidden visibility defaults are added for the port.
* Source/cmake/OptionsPlayStation.cmake:
2020-03-30 Zan Dobersek <zdobersek@igalia.com>
[WPE] Can't create WebGL context after r259139
https://bugs.webkit.org/show_bug.cgi?id=209722
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsWPE.cmake: Disable WebGL2 for WPE until
the ANGLE-backed implementation can be used for it.
2020-03-26 Don Olmstead <don.olmstead@sony.com>
[MSVC] Remove experimental lambda processor usage
https://bugs.webkit.org/show_bug.cgi?id=209358
Reviewed by Fujii Hironori.
Remove /experimental:newLambdaProcessor since WebKit is no longer able to build
with this setting as of Visual Studio 16.5.0.
* Source/cmake/OptionsMSVC.cmake:
2020-03-26 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] lld-link: error: /manifestdependency: is not allowed in .drectve
https://bugs.webkit.org/show_bug.cgi?id=204831
Reviewed by Ross Kirsling.
* Source/cmake/WebKitMacros.cmake (WEBKIT_EXECUTABLE): Added /manifestdependency linkder option if WIN32.
2020-03-26 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r259035.
https://bugs.webkit.org/show_bug.cgi?id=209597
broke windows layout-tests (Requested by aakashjain on
#webkit).
Reverted changeset:
"[Win] lld-link: error: /manifestdependency: is not allowed in
.drectve"
https://bugs.webkit.org/show_bug.cgi?id=204831
https://trac.webkit.org/changeset/259035
2020-03-25 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] lld-link: error: /manifestdependency: is not allowed in .drectve
https://bugs.webkit.org/show_bug.cgi?id=204831
Reviewed by Ross Kirsling.
clang-cl doesn't support #pragma comment(linker, "/manifestdependency ..").
Use an linker option instead.
* Source/cmake/WebKitMacros.cmake (WEBKIT_EXECUTABLE): Added -manifestdependency linkder option if WIN32.
2020-03-23 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Allow distributors to brand user agent
https://bugs.webkit.org/show_bug.cgi?id=162611
Reviewed by Adrian Perez de Castro.
Add build option for inserting distributor branding into the user agent string.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2020-03-23 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Disable systemd logging by default
Rubber-stamped by Žan Doberšek.
The logAlways logs are filling the journal way too fast currently,
specially on EWS running tests and buildbots. For the time being
disable logging until we figure out a better way to handle this.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2020-03-21 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Use ${PYTHON_EXECUTABLE} to run generate-gtkdoc
https://bugs.webkit.org/show_bug.cgi?id=208970
Reviewed by Konstantin Tokarev.
There's no need to rely on shebangs when executing python scripts from CMake. This should
ensure the script always works even if the shebang does not.
* Source/cmake/GtkDoc.cmake:
2020-03-20 Justin Michaud <justin@justinmichaud.com>
Fix JSCOnly build without unified sources
https://bugs.webkit.org/show_bug.cgi?id=209343
Reviewed by Keith Miller.
* .gitignore:
RELEASE_LOG should not be Cocoa specific https://bugs.webkit.org/show_bug.cgi?id=195182 Reviewed by Konstantin Tokarev. .: Add a Systemd Journald Logger implementation, enabled by default in the GTK and WPE ports. When this is enabled, release logs will be sent to the Systemd Journal. To retrieve media logs for instance, this command can be used: $ journalctl WEBKIT_SUBSYSTEM=WebKitGTK WEBKIT_CHANNEL=Media * Source/cmake/FindSystemd.cmake: Added. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: WPE/GTK build fixes related with Release logging support. * bridge/npruntime_internal.h: * dom/ScriptedAnimationController.cpp: (WebCore::throttlingReasonToString): * page/PerformanceLogging.cpp: (WebCore::toString): * page/PerformanceMonitor.cpp: (WebCore::stringForCPUSamplingActivityState): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): (WebCore::MediaPlayerPrivateGStreamer::logChannel const): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: (WebCore::MediaPlayerPrivateGStreamer::mediaPlayerLogIdentifier): (WebCore::MediaPlayerPrivateGStreamer::mediaPlayerLogger): * platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp: (WebCore::CDMProxyClearKey::cencDecryptSubsampled): (WebCore::CDMProxyClearKey::initializeGcrypt): * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h: * platform/graphics/gstreamer/mse/MediaSourceGStreamer.cpp: (WebCore::MediaSourceGStreamer::MediaSourceGStreamer): (WebCore::MediaSourceGStreamer::~MediaSourceGStreamer): (WebCore::MediaSourceGStreamer::addSourceBuffer): (WebCore::MediaSourceGStreamer::logChannel const): * platform/graphics/gstreamer/mse/MediaSourceGStreamer.h: * platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp: (WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer): (WebCore::SourceBufferPrivateGStreamer::logChannel const): * platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h: * platform/mediastream/AudioMediaStreamTrackRenderer.cpp: * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: (WebCore::computeLogLevel): * platform/network/soup/NetworkStorageSessionSoup.cpp: (WebCore::NetworkStorageSession::getRawCookies const): Source/WTF: Add sd-journal logging support and wrap the os_log calls with the USE(OS_LOG) guard. * wtf/Assertions.cpp: * wtf/Assertions.h: * wtf/Logger.h: (WTF::Logger::log): * wtf/MemoryPressureHandler.cpp: (WTF::toString): * wtf/PlatformGTK.cmake: * wtf/PlatformWPE.cmake: * wtf/RefCountedLeakCounter.cpp: Canonical link: https://commits.webkit.org/222085@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-17 14:56:07 +00:00
2020-03-17 Philippe Normand <pnormand@igalia.com>
RELEASE_LOG should not be Cocoa specific
https://bugs.webkit.org/show_bug.cgi?id=195182
Reviewed by Konstantin Tokarev.
Add a Systemd Journald Logger implementation, enabled by default
in the GTK and WPE ports. When this is enabled, release logs will
be sent to the Systemd Journal. To retrieve media logs for
instance, this command can be used:
$ journalctl WEBKIT_SUBSYSTEM=WebKitGTK WEBKIT_CHANNEL=Media
* Source/cmake/FindSystemd.cmake: Added.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2020-03-16 Keith Rollin <krollin@apple.com>
Remove support for WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=208894
<rdar://problem/60297590>
Reviewed by Brent Fulgham.
This project provided support for facilities that are now handled
elsewhere and is no longer needed.
* .gitignore:
* Source/PlatformWin.cmake:
* Source/cmake/OptionsAppleWin.cmake:
[WebXR] IDLs, stubs and build configuration for WPE https://bugs.webkit.org/show_bug.cgi?id=208702 Reviewed by Dean Jackson. .: Added a new compile flag for WEBXR which depends on WEBGL. For the WPE port, added OpenXR detection and USE_OPENXR define to be used in the sources. It also adds a dependency between USE_OPENXR and ENABLE_WEBXR. Largely based on previous work by Žan Doberšek. * Source/cmake/FindOpenXR.cmake: Added. * Source/cmake/OptionsWPE.cmake: Added mandatory OpenXR dependency if WEBXR is enabled exposing USE_OPENXR to the build. * Source/cmake/WebKitFeatures.cmake: Added ENABLE_WEBXR. * Source/cmake/tools/vsprops/FeatureDefines.props: Ditto. * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Ditto. Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Added ENABLE_WEBXR, off by default. Source/WebCore: Added the IDLs defined by the spec with very basic empty implementations to get them built. Apart from that a very basic implementation of the required platform code using OpenXR API was also added. No new tests as no new functionality was really added (empty implementations). However follow up patches will import the already available WPT tests for WebXR. Largely based on previous work by Žan Doberšek. * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: Added ENABLE_WEBXR off by default. * DerivedSources.make: * Modules/webxr/NavigatorWebXR.cpp: Added. (WebCore::NavigatorWebXR::xr): (WebCore::NavigatorWebXR::from): * Modules/webxr/NavigatorWebXR.h: Added. * Modules/webxr/NavigatorWebXR.idl: Added. * Modules/webxr/WebXRBoundedReferenceSpace.cpp: Added. (WebCore::WebXRBoundedReferenceSpace::boundsGeometry const): * Modules/webxr/WebXRBoundedReferenceSpace.h: Added. * Modules/webxr/WebXRBoundedReferenceSpace.idl: Added. * Modules/webxr/WebXRFrame.cpp: Added. (WebCore::WebXRFrame::create): (WebCore::WebXRFrame::WebXRFrame): (WebCore::WebXRFrame::session const): (WebCore::WebXRFrame::getViewerPose): (WebCore::WebXRFrame::getPose): * Modules/webxr/WebXRFrame.h: Added. * Modules/webxr/WebXRFrame.idl: Added. * Modules/webxr/WebXRInputSource.cpp: Added. (WebCore::WebXRInputSource::create): (WebCore::WebXRInputSource::WebXRInputSource): (WebCore::WebXRInputSource::handedness const): (WebCore::WebXRInputSource::targetRayMode const): (WebCore::WebXRInputSource::targetRaySpace const): (WebCore::WebXRInputSource::gripSpace const): (WebCore::WebXRInputSource::profiles const): * Modules/webxr/WebXRInputSource.h: Added. * Modules/webxr/WebXRInputSource.idl: Added. * Modules/webxr/WebXRInputSourceArray.cpp: Added. (WebCore::WebXRInputSourceArray::length const): (WebCore::WebXRInputSourceArray::item const): * Modules/webxr/WebXRInputSourceArray.h: Added. * Modules/webxr/WebXRInputSourceArray.idl: Added. * Modules/webxr/WebXRPose.cpp: Added. (WebCore::WebXRPose::create): (WebCore::WebXRPose::WebXRPose): (WebCore::WebXRPose::transform const): (WebCore::WebXRPose::emulatedPosition const): * Modules/webxr/WebXRPose.h: Added. * Modules/webxr/WebXRPose.idl: Added. * Modules/webxr/WebXRReferenceSpace.cpp: Added. (WebCore::WebXRReferenceSpace::WebXRReferenceSpace): (WebCore::WebXRReferenceSpace::getOffsetReferenceSpace): * Modules/webxr/WebXRReferenceSpace.h: Added. * Modules/webxr/WebXRReferenceSpace.idl: Added. * Modules/webxr/WebXRRenderState.cpp: Added. (WebCore::WebXRRenderState::create): (WebCore::WebXRRenderState::WebXRRenderState): (WebCore::WebXRRenderState::depthNear const): (WebCore::WebXRRenderState::depthFar const): (WebCore::WebXRRenderState::inlineVerticalFieldOfView const): (WebCore::WebXRRenderState::baseLayer const): * Modules/webxr/WebXRRenderState.h: Added. * Modules/webxr/WebXRRenderState.idl: Added. * Modules/webxr/WebXRRigidTransform.cpp: Added. (WebCore::WebXRRigidTransform::create): (WebCore::WebXRRigidTransform::WebXRRigidTransform): (WebCore::WebXRRigidTransform::position const): (WebCore::WebXRRigidTransform::orientation const): (WebCore::WebXRRigidTransform::matrix const): (WebCore::WebXRRigidTransform::inverse const): * Modules/webxr/WebXRRigidTransform.h: Added. * Modules/webxr/WebXRRigidTransform.idl: Added. * Modules/webxr/WebXRSession.cpp: Added. (WebCore::WebXRSession::environmentBlendMode const): (WebCore::WebXRSession::visibilityState const): (WebCore::WebXRSession::renderState const): (WebCore::WebXRSession::inputSources const): (WebCore::WebXRSession::updateRenderState): (WebCore::WebXRSession::requestReferenceSpace): (WebCore::WebXRSession::requestAnimationFrame): (WebCore::WebXRSession::cancelAnimationFrame): (WebCore::WebXRSession::end): (WebCore::WebXRSession::activeDOMObjectName const): (WebCore::WebXRSession::stop): * Modules/webxr/WebXRSession.h: Added. * Modules/webxr/WebXRSession.idl: Added. * Modules/webxr/WebXRSpace.cpp: Added. (WebCore::WebXRSpace::WebXRSpace): * Modules/webxr/WebXRSpace.h: Added. * Modules/webxr/WebXRSpace.idl: Added. * Modules/webxr/WebXRSystem.cpp: Added. (WebCore::WebXRSystem::create): (WebCore::WebXRSystem::WebXRSystem): (WebCore::WebXRSystem::isSessionSupported): (WebCore::WebXRSystem::requestSession): (WebCore::WebXRSystem::activeDOMObjectName const): (WebCore::WebXRSystem::stop): * Modules/webxr/WebXRSystem.h: Added. * Modules/webxr/WebXRSystem.idl: Added. * Modules/webxr/WebXRView.cpp: Added. (WebCore::WebXRView::create): (WebCore::WebXRView::WebXRView): (WebCore::WebXRView::eye const): (WebCore::WebXRView::projectionMatrix const): (WebCore::WebXRView::transform const): * Modules/webxr/WebXRView.h: Added. * Modules/webxr/WebXRView.idl: Added. * Modules/webxr/WebXRViewerPose.cpp: Added. (WebCore::WebXRViewerPose::create): (WebCore::WebXRViewerPose::views const): * Modules/webxr/WebXRViewerPose.h: Added. * Modules/webxr/WebXRViewerPose.idl: Added. * Modules/webxr/WebXRViewport.cpp: Added. (WebCore::WebXRViewport::create): (WebCore::WebXRViewport::x const): (WebCore::WebXRViewport::y const): (WebCore::WebXRViewport::width const): (WebCore::WebXRViewport::height const): * Modules/webxr/WebXRViewport.h: Added. * Modules/webxr/WebXRViewport.idl: Added. * Modules/webxr/WebXRWebGLLayer.cpp: Added. (WebCore::WebXRWebGLLayer::create): (WebCore::WebXRWebGLLayer::WebXRWebGLLayer): (WebCore::WebXRWebGLLayer::antialias const): (WebCore::WebXRWebGLLayer::ignoreDepthValues const): (WebCore::WebXRWebGLLayer::framebuffer const): (WebCore::WebXRWebGLLayer::framebufferWidth const): (WebCore::WebXRWebGLLayer::framebufferHeight const): (WebCore::WebXRWebGLLayer::getViewport): (WebCore::WebXRWebGLLayer::getNativeFramebufferScaleFactor): * Modules/webxr/WebXRWebGLLayer.h: Added. * Modules/webxr/WebXRWebGLLayer.idl: Added. * Modules/webxr/XREnvironmentBlendMode.h: Added. * Modules/webxr/XREnvironmentBlendMode.idl: Added. * Modules/webxr/XREye.h: Added. * Modules/webxr/XREye.idl: Added. * Modules/webxr/XRFrameRequestCallback.h: Added. * Modules/webxr/XRFrameRequestCallback.idl: Added. * Modules/webxr/XRHandedness.h: Added. * Modules/webxr/XRHandedness.idl: Added. * Modules/webxr/XRInputSourceEvent.cpp: Added. (WebCore::XRInputSourceEvent::create): (WebCore::XRInputSourceEvent::XRInputSourceEvent): (WebCore::XRInputSourceEvent::frame const): (WebCore::XRInputSourceEvent::inputSource const): (WebCore::XRInputSourceEvent::buttonIndex const): * Modules/webxr/XRInputSourceEvent.h: Added. * Modules/webxr/XRInputSourceEvent.idl: Added. * Modules/webxr/XRInputSourcesChangeEvent.cpp: Added. (WebCore::XRInputSourcesChangeEvent::create): (WebCore::XRInputSourcesChangeEvent::XRInputSourcesChangeEvent): (WebCore::XRInputSourcesChangeEvent::session const): (WebCore::XRInputSourcesChangeEvent::added const): (WebCore::XRInputSourcesChangeEvent::removed const): * Modules/webxr/XRInputSourcesChangeEvent.h: Added. * Modules/webxr/XRInputSourcesChangeEvent.idl: Added. * Modules/webxr/XRReferenceSpaceEvent.cpp: Added. (WebCore::XRReferenceSpaceEvent::create): (WebCore::XRReferenceSpaceEvent::XRReferenceSpaceEvent): (WebCore::XRReferenceSpaceEvent::referenceSpace const): (WebCore::XRReferenceSpaceEvent::transform const): * Modules/webxr/XRReferenceSpaceEvent.h: Added. * Modules/webxr/XRReferenceSpaceEvent.idl: Added. * Modules/webxr/XRReferenceSpaceType.h: Added. * Modules/webxr/XRReferenceSpaceType.idl: Added. * Modules/webxr/XRRenderStateInit.h: Added. * Modules/webxr/XRRenderStateInit.idl: Added. * Modules/webxr/XRSessionEvent.cpp: Added. (WebCore::XRSessionEvent::create): (WebCore::XRSessionEvent::XRSessionEvent): (WebCore::XRSessionEvent::session const): * Modules/webxr/XRSessionEvent.h: Added. * Modules/webxr/XRSessionEvent.idl: Added. * Modules/webxr/XRSessionInit.h: Added. * Modules/webxr/XRSessionInit.idl: Added. * Modules/webxr/XRSessionMode.h: Added. * Modules/webxr/XRSessionMode.idl: Added. * Modules/webxr/XRTargetRayMode.h: Added. * Modules/webxr/XRTargetRayMode.idl: Added. * Modules/webxr/XRVisibilityState.h: Added. * Modules/webxr/XRVisibilityState.idl: Added. * Modules/webxr/XRWebGLLayerInit.h: Added. * Modules/webxr/XRWebGLLayerInit.idl: Added. * PlatformWPE.cmake: Added OpenXR libraries and include paths. * Sources.txt: Added new cpp files. * WebCore.xcodeproj/project.pbxproj: Added new files. * bindings/IDLTypes.h: Added SequenceStorageType. * bindings/js/JSDOMConvertSequences.h: * bindings/js/WebCoreBuiltinNames.h: * dom/EventNames.h: * dom/EventNames.in: Added WebXR events. * dom/EventTargetFactory.in: Added WebXR event targets. * page/RuntimeEnabledFeatures.h: Added new runtime feature for WebXR. (WebCore::RuntimeEnabledFeatures::setWebXREnabled): (WebCore::RuntimeEnabledFeatures::webXREnabled const): * platform/xr/PlatformXR.cpp: Added. * platform/xr/PlatformXR.h: Added. * platform/xr/openxr/PlatformXR.cpp: Added. (PlatformXR::createStructure): Utility function to create OpenXR structs. (PlatformXR::resultToString): Translates OpenXR error codes to strings. (PlatformXR::Instance::Impl::Impl): (PlatformXR::Instance::Impl::~Impl): (PlatformXR::Instance::singleton): Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Added ENABLE_WEBXR off by default. Source/WebKit: Added WebXR to the list of experimental features. * Configurations/FeatureDefines.xcconfig: Added ENABLE_WEBXR off by default. * Shared/WebPreferences.yaml: Added WebXR feature. * Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultWebXREnabled): Set WebXR to off by default unless HAVE_SYSTEM_FEATURE_FLAGS. * Shared/WebPreferencesDefaultValues.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Added ENABLE_WEBXR, off by default. Tools: * Scripts/webkitperl/FeatureList.pm: Added WebXR. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Added ENABLE_WEBXR, off by default. Canonical link: https://commits.webkit.org/222040@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-16 15:49:47 +00:00
2020-03-13 Sergio Villar Senin <svillar@igalia.com>
[WebXR] IDLs, stubs and build configuration for WPE
https://bugs.webkit.org/show_bug.cgi?id=208702
Reviewed by Dean Jackson.
Added a new compile flag for WEBXR which depends on WEBGL.
For the WPE port, added OpenXR detection and USE_OPENXR define to be
used in the sources. It also adds a dependency between USE_OPENXR and
ENABLE_WEBXR.
Largely based on previous work by Žan Doberšek.
* Source/cmake/FindOpenXR.cmake: Added.
* Source/cmake/OptionsWPE.cmake: Added mandatory OpenXR dependency if
WEBXR is enabled exposing USE_OPENXR to the build.
* Source/cmake/WebKitFeatures.cmake: Added ENABLE_WEBXR.
* Source/cmake/tools/vsprops/FeatureDefines.props: Ditto.
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Ditto.
2020-03-14 Michael Catanzaro <mcatanzaro@gnome.org>
[CMake] Warning when ccache is not installed
https://bugs.webkit.org/show_bug.cgi?id=208952
Reviewed by Daniel Bates.
Change the warning when ccache is not installed to a status message. We shouldn't be
printing warnings except when there is an actual problem.
* Source/cmake/WebKitCCache.cmake:
2020-03-13 Konstantin Tokarev <annulen@yandex.ru>
[CMake] Eleminate mismatches between Find* module names and variables they set
https://bugs.webkit.org/show_bug.cgi?id=208948
Reviewed by Michael Catanzaro.
* Source/cmake/FindLibseccomp.cmake:
* Source/cmake/FindWPEBackend_fdo.cmake: Renamed from Source/cmake/FindWPEBackend-fdo.cmake.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[CMake] Find modules should find pkg-config with find_package(PkgConfig QUIET) https://bugs.webkit.org/show_bug.cgi?id=208948 Reviewed by Michael Catanzaro. * Source/cmake/FindATK.cmake: * Source/cmake/FindATKBridge.cmake: * Source/cmake/FindATSPI.cmake: * Source/cmake/FindCairo.cmake: * Source/cmake/FindCairoGL.cmake: * Source/cmake/FindEGL.cmake: * Source/cmake/FindEnchant.cmake: * Source/cmake/FindFontconfig.cmake: * Source/cmake/FindGDK3.cmake: * Source/cmake/FindGLIB.cmake: * Source/cmake/FindGObjectIntrospection.cmake: * Source/cmake/FindGStreamer.cmake: * Source/cmake/FindGTK3.cmake: * Source/cmake/FindGTKUnixPrint.cmake: * Source/cmake/FindHarfBuzz.cmake: * Source/cmake/FindLibEpoxy.cmake: * Source/cmake/FindLibNotify.cmake: * Source/cmake/FindLibPSL.cmake: * Source/cmake/FindLibSoup.cmake: * Source/cmake/FindLibseccomp.cmake: * Source/cmake/FindLibsecret.cmake: * Source/cmake/FindLibtasn1.cmake: * Source/cmake/FindLibxkbcommon.cmake: * Source/cmake/FindNghttp2.cmake: * Source/cmake/FindOpenGL.cmake: * Source/cmake/FindOpenGLES2.cmake: * Source/cmake/FindOpenJPEG.cmake: * Source/cmake/FindSQLite3.cmake: * Source/cmake/FindWOFF2Dec.cmake: * Source/cmake/FindWPE.cmake: * Source/cmake/FindWPEBackend-fdo.cmake: * Source/cmake/FindWayland.cmake: * Source/cmake/FindWaylandProtocols.cmake: * Source/cmake/FindWebP.cmake: Canonical link: https://commits.webkit.org/221925@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-12 21:42:19 +00:00
2020-03-12 Konstantin Tokarev <annulen@yandex.ru>
[CMake] Find modules should find pkg-config with find_package(PkgConfig QUIET)
https://bugs.webkit.org/show_bug.cgi?id=208948
Reviewed by Michael Catanzaro.
* Source/cmake/FindATK.cmake:
* Source/cmake/FindATKBridge.cmake:
* Source/cmake/FindATSPI.cmake:
* Source/cmake/FindCairo.cmake:
* Source/cmake/FindCairoGL.cmake:
* Source/cmake/FindEGL.cmake:
* Source/cmake/FindEnchant.cmake:
* Source/cmake/FindFontconfig.cmake:
* Source/cmake/FindGDK3.cmake:
* Source/cmake/FindGLIB.cmake:
* Source/cmake/FindGObjectIntrospection.cmake:
* Source/cmake/FindGStreamer.cmake:
* Source/cmake/FindGTK3.cmake:
* Source/cmake/FindGTKUnixPrint.cmake:
* Source/cmake/FindHarfBuzz.cmake:
* Source/cmake/FindLibEpoxy.cmake:
* Source/cmake/FindLibNotify.cmake:
* Source/cmake/FindLibPSL.cmake:
* Source/cmake/FindLibSoup.cmake:
* Source/cmake/FindLibseccomp.cmake:
* Source/cmake/FindLibsecret.cmake:
* Source/cmake/FindLibtasn1.cmake:
* Source/cmake/FindLibxkbcommon.cmake:
* Source/cmake/FindNghttp2.cmake:
* Source/cmake/FindOpenGL.cmake:
* Source/cmake/FindOpenGLES2.cmake:
* Source/cmake/FindOpenJPEG.cmake:
* Source/cmake/FindSQLite3.cmake:
* Source/cmake/FindWOFF2Dec.cmake:
* Source/cmake/FindWPE.cmake:
* Source/cmake/FindWPEBackend-fdo.cmake:
* Source/cmake/FindWayland.cmake:
* Source/cmake/FindWaylandProtocols.cmake:
* Source/cmake/FindWebP.cmake:
2020-03-12 Konstantin Tokarev <annulen@yandex.ru>
[CMake] Avoid calling FPHSA multiple time in FindPerlModules.cmake
https://bugs.webkit.org/show_bug.cgi?id=208948
Reviewed by Michael Catanzaro.
* Source/cmake/FindPerlModules.cmake:
2020-03-09 Don Olmstead <don.olmstead@sony.com>
Add script to search for feature defines
https://bugs.webkit.org/show_bug.cgi?id=208726
Reviewed by Konstantin Tokarev.
Sync feature defines with the FeatureDefines.xcconfig files present in the
repository.
* Source/cmake/WebKitFeatures.cmake:
Remove obsolete feature flags https://bugs.webkit.org/show_bug.cgi?id=208830 Reviewed by Alex Christensen. .: Remove ENABLE_CSS_IMAGE_ORIENTATION, ENABLE_CUSTOM_SCHEME_HANDLER, ENABLE_FETCH_API, and ENABLE_WEB_PROCESS_SANDBOX from list of feature definitions since they're unused. Rename ENABLE_ACCESSIBILITY_STATIC_TREE to ENABLE_ACCESSIBILITY_ISOLATED_TREE. Sort the declarations within the block and always use Toggle instead of Enable within the descriptions. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they are no longer used. * Configurations/FeatureDefines.xcconfig: Source/WebCore: Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they are no longer used. * Configurations/FeatureDefines.xcconfig: * editing/cocoa/AlternativeTextUIController.h: USE(DICTION_ALTERNATIVES) -> USE(DICTION_ALTERNATIVES) * html/TextFieldInputType.cpp: ENABLE(DATALIST) -> ENABLE(DATALIST_ELEMENT) (WebCore::TextFieldInputType::destroyShadowSubtree): * platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm: ENABLE(WEBBPU) typo Source/WebCore/PAL: Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they are no longer used. * Configurations/FeatureDefines.xcconfig: Source/WebKit: Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they are no longer used. * Configurations/FeatureDefines.xcconfig: * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: ENABLE(WIRELESS_TARGET_PLAYBACK) -> ENABLE(WIRELESS_PLAYBACK_TARGET). (-[WKWebViewConfiguration copyWithZone:]): Source/WebKitLegacy/mac: Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they are no longer used. * Configurations/FeatureDefines.xcconfig: * WebView/WebPreferences.mm: ENABLE(WIRELESS_TARGET_PLAYBACK) -> ENABLE(WIRELESS_PLAYBACK_TARGET) (+[WebPreferences initialize]): (-[WebPreferences allowsAirPlayForMediaPlayback]): (-[WebPreferences setAllowsAirPlayForMediaPlayback:]): Source/WebKitLegacy/win: Remove ENABLE(FETCH_API) since its always enabled. * WebView.cpp: (WebView::notifyPreferencesChanged): Source/WTF: Remove ENABLE_CUSTOM_SCHEME_HANDLER as it is unused in source. * wtf/PlatformEnable.h: Tools: Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they are no longer used. Also remove ENABLE_POINTER_EVENTS since the FeaturesDefines.xcconfig was not modified when the compilation flag was removed in r258148. Remove ENABLE_ACCELERATED_OVERFLOW_SCROLLING, ENABLE_CSS_IMAGE_ORIENTATION, ENABLE_CUSTOM_SCHEME_HANDLER, and ENABLE_FETCH_API from FeatureList.pm. * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/221772@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-10 02:10:50 +00:00
2020-03-09 Don Olmstead <don.olmstead@sony.com>
Remove obsolete feature flags
https://bugs.webkit.org/show_bug.cgi?id=208830
Reviewed by Alex Christensen.
Remove ENABLE_CSS_IMAGE_ORIENTATION, ENABLE_CUSTOM_SCHEME_HANDLER, ENABLE_FETCH_API,
and ENABLE_WEB_PROCESS_SANDBOX from list of feature definitions since they're unused.
Rename ENABLE_ACCESSIBILITY_STATIC_TREE to ENABLE_ACCESSIBILITY_ISOLATED_TREE.
Sort the declarations within the block and always use Toggle instead of Enable within
the descriptions.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
Remove the compile-time flag for Pointer Events https://bugs.webkit.org/show_bug.cgi?id=208821 <rdar://problem/60223471> Reviewed by Dean Jackson. .: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * css/CSSComputedStyleDeclaration.cpp: (WebCore::touchActionFlagsToCSSValue): (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::operator OptionSet<TouchAction> const): * css/CSSProperties.json: * css/CSSValueKeywords.in: * css/parser/CSSPropertyParser.cpp: (WebCore::consumeTouchAction): (WebCore::CSSPropertyParser::parseSingleValue): * dom/Document.cpp: (WebCore::Document::prepareMouseEvent): (WebCore::Document::invalidateRenderingDependentRegions): * dom/Document.h: * dom/Element.cpp: (WebCore::dispatchPointerEventIfNeeded): (WebCore::Element::allowsDoubleTapGesture const): (WebCore::Element::removedFromAncestor): * dom/Element.h: * dom/Element.idl: * dom/EventNames.in: * dom/NavigatorMaxTouchPoints.idl: * dom/PointerEvent.cpp: * dom/PointerEvent.h: * dom/PointerEvent.idl: * dom/ios/PointerEventIOS.cpp: * page/EventHandler.cpp: (WebCore::EventHandler::pointerCaptureElementDidChange): (WebCore::EventHandler::prepareMouseEvent): * page/EventHandler.h: * page/Navigator.h: * page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::didChangeMainDocument): * page/Page.h: (WebCore::Page::inspectorController const): (WebCore::Page::pointerCaptureController const): * page/PointerCaptureController.cpp: * page/PointerCaptureController.h: * page/PointerLockController.cpp: (WebCore::PointerLockController::requestPointerLock): * platform/TouchAction.h: * rendering/EventRegion.cpp: (WebCore::EventRegion::operator== const): (WebCore::EventRegion::unite): (WebCore::EventRegion::translate): (WebCore::operator<<): * rendering/EventRegion.h: (WebCore::EventRegion::encode const): (WebCore::EventRegion::decode): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintObject): * rendering/RenderElement.cpp: (WebCore::RenderElement::styleWillChange): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects const): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateEventRegion): (WebCore::patternForTouchAction): (WebCore::RenderLayerBacking::paintDebugOverlays): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::effectiveTouchActions const): (WebCore::RenderStyle::setEffectiveTouchActions): (WebCore::RenderStyle::initialTouchActions): * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * rendering/style/StyleRareInheritedData.h: * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator== const): * rendering/style/StyleRareNonInheritedData.h: * style/StyleAdjuster.cpp: (WebCore::Style::isScrollableOverflow): (WebCore::Style::computeEffectiveTouchActions): (WebCore::Style::Adjuster::adjust const): * style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertTouchAction): * style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::resolveElement): Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * Shared/WebCoreArgumentCoders.h: * Shared/WebPreferencesDefaultValues.h: * UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView scrollViewWillBeginZooming:withView:]): (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): (-[WKWebView _scrollView:adjustedOffsetForOffset:translation:startPoint:locationInView:horizontalVelocity:verticalVelocity:]): * UIProcess/PageClient.h: * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h: * UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm: (WebKit::touchActionsForPoint): * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h: * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): (-[WKScrollingNodeScrollViewDelegate cancelPointersForGestureRecognizer:]): (WebKit::ScrollingTreeScrollingNodeDelegateIOS::cancelPointersForGestureRecognizer): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::touchWithIdentifierWasRemoved): * UIProcess/WebPageProxy.h: * UIProcess/ios/PageClientImplIOS.h: * UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::activeTouchIdentifierForGestureRecognizer): * UIProcess/ios/WKContentViewInteraction.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView preventsPanningInYAxis]): (-[WKContentView setupInteraction]): (-[WKContentView cleanupInteraction]): (-[WKContentView _removeDefaultGestureRecognizers]): (-[WKContentView _addDefaultGestureRecognizers]): (-[WKContentView activeTouchIdentifierForGestureRecognizer:]): (-[WKContentView _webTouchEventsRecognized:]): (-[WKContentView _resetPanningPreventionFlags]): (-[WKContentView _singleTapDidReset:]): (-[WKContentView _commitPotentialTapFailed]): (-[WKContentView _didCompleteSyntheticClick]): (-[WKContentView _singleTapRecognized:]): (-[WKContentView _didEndScrollingOrZooming]): * UIProcess/ios/WKSyntheticTapGestureRecognizer.h: * UIProcess/ios/WKSyntheticTapGestureRecognizer.mm: (-[WKSyntheticTapGestureRecognizer reset]): (-[WKSyntheticTapGestureRecognizer touchesEnded:withEvent:]): * UIProcess/ios/WKTouchActionGestureRecognizer.h: * UIProcess/ios/WKTouchActionGestureRecognizer.mm: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::touchWithIdentifierWasRemoved): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/221751@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-09 19:35:03 +00:00
2020-03-09 Antoine Quint <graouts@apple.com>
Remove the compile-time flag for Pointer Events
https://bugs.webkit.org/show_bug.cgi?id=208821
<rdar://problem/60223471>
Reviewed by Dean Jackson.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:
2020-03-03 Fujii Hironori <fujii.hironori@gmail.com>
[Curl] Add TLS debugging feature to log encryption keys
https://bugs.webkit.org/show_bug.cgi?id=208192
<rdar://problem/59900616>
Reviewed by Don Olmstead.
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWin.cmake:
Changed the default ENABLE_TLS_DEBUG to OFF.
2020-02-28 Fujii Hironori <Hironori.Fujii@sony.com>
Unreviewed, rolling out r257565.
It broke WinCairo MiniBrowser
Reverted changeset:
"[CMake] Use WEBKIT_EXECUTABLE in MiniBrowser"
https://bugs.webkit.org/show_bug.cgi?id=206894
https://trac.webkit.org/changeset/257565
2020-02-28 Takashi Komori <Takashi.Komori@sony.com>
[Curl] Add TLS debugging feature to log encryption keys
https://bugs.webkit.org/show_bug.cgi?id=208192
Reviewed by Fujii Hironori.
This patch enables recording encryption keys on curl port.
When you set key log file path to environment variable SSLKEYLOGFILE on curl port, network process writes encryption keys into the path.
The key log file follows the NSS key log format and this feature is as same as Chrome and Firefox have.
See also: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format
Test: No tests for this debugging feature. We have to check manually if the log file is generate.
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWin.cmake:
2020-02-28 Keith Miller <keith_miller@apple.com>
Fix issue in cmake build for checking ccache
https://bugs.webkit.org/show_bug.cgi?id=208377
Reviewed by Carlos Alberto Lopez Perez.
If either of the "readlink" or "which" commands fail when looking for the ccache prefix
the output variables will be empty and an invalid expression will be provided to CMake.
e.g. we will get something like:
if ("0" "EQUAL" "0" "AND" "1" "EQUAL" "0" "AND" "STREQUAL" "/usr/local/bin/ccache")
The fix is to wrap the output variables in the quotes when unboxing them in the if.
* Source/cmake/WebKitCCache.cmake:
2020-02-27 Per Arne Vollan <pvollan@apple.com>
[Win] Fix AppleWin build
https://bugs.webkit.org/show_bug.cgi?id=208330
Reviewed by Don Olmstead.
Set framework headers directory for AppleWin build.
* Source/cmake/target/TargetJavaScriptCore.cmake:
* Source/cmake/target/TargetWTF.cmake:
2020-02-27 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WebKit::PAL target
https://bugs.webkit.org/show_bug.cgi?id=198493
Reviewed by Michael Catanzaro.
Define WebKit::PAL target for Apple internal Windows builds.
* Source/cmake/target/PAL.cmake: Added.
2020-02-27 Don Olmstead <don.olmstead@sony.com>
[CMake] Use WEBKIT_EXECUTABLE in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=206894
Reviewed by Adrian Perez de Castro.
Add a MiniBrowser derived sources directory.
* Source/cmake/WebKitFS.cmake:
2020-02-27 Adrian Perez de Castro <aperez@igalia.com>
[LFC][Integration] Build and enable for the WPE and GTK ports
https://bugs.webkit.org/show_bug.cgi?id=208289
Reviewed by Carlos Garcia Campos.
Enable LFC for the WPE and GTK ports.
* Source/cmake/OptionsGTK.cmake: LFC enabled as experimental feature.
* Source/cmake/OptionsWPE.cmake: Ditto.
2020-02-26 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Bump GTK version numbers
* Source/cmake/OptionsGTK.cmake:
2020-02-25 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add support for rendering slider ticks
https://bugs.webkit.org/show_bug.cgi?id=208132
Reviewed by Adrian Perez de Castro.
Add a test case for sliders with ticks.
* ManualTests/gtk/theme.html:
[GTK] Stop using gtk foreign drawing API to style form controls https://bugs.webkit.org/show_bug.cgi?id=208129 Reviewed by Adrian Perez de Castro. .: Add a test case for datalist element. * ManualTests/gtk/theme.html: Source/WebCore: It causes layout issues in some websites, it doesn't really work with all GTK themes and it won't be possible with GTK4 because foreign drawing APIs have been removed. Instead, we can use the new custom style used by WPE port, which is based on adwaita, but simplified to avoid the huge minimum control sizes, the usage of gradients and transparencies, etc. We can still use the GTK API to get the selection colors, to keep some consistency with the actual GTK theme, but that won't be possible with GTK4 either. This also means we won't be rendering directly to the cairo context anymore (which was required by GTK foreign drawing), so we can use things like threaded rendering in the GTK port now. This patch renames ScrollbarThemeWPE, RenderThemeWPE and ThemeWPE as ScrollbarThemeAdwaita, RenderThemeAdwaita and ThemeAdwaita and adds ThemeGtk. GTK media controls CSS and JavaScript files have been removed in favor of using the adwaita ones. * Modules/mediacontrols/mediaControlsGtk.js: Removed. * PlatformGTK.cmake: * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * css/mediaControlsGtk.css: Removed. * platform/adwaita/ScrollbarThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.cpp. (WebCore::ScrollbarThemeAdwaita::usesOverlayScrollbars const): (WebCore::ScrollbarThemeAdwaita::scrollbarThickness): (WebCore::ScrollbarThemeAdwaita::minimumThumbLength): (WebCore::ScrollbarThemeAdwaita::hasButtons): (WebCore::ScrollbarThemeAdwaita::hasThumb): (WebCore::ScrollbarThemeAdwaita::backButtonRect): (WebCore::ScrollbarThemeAdwaita::forwardButtonRect): (WebCore::ScrollbarThemeAdwaita::trackRect): (WebCore::ScrollbarThemeAdwaita::paint): (WebCore::ScrollbarThemeAdwaita::handleMousePressEvent): (WebCore::ScrollbarTheme::nativeTheme): * platform/adwaita/ScrollbarThemeAdwaita.h: Copied from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h. * platform/adwaita/ThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/ThemeWPE.cpp. (WebCore::Theme::singleton): (WebCore::ThemeAdwaita::activeSelectionForegroundColor const): (WebCore::ThemeAdwaita::activeSelectionBackgroundColor const): (WebCore::ThemeAdwaita::inactiveSelectionForegroundColor const): (WebCore::ThemeAdwaita::inactiveSelectionBackgroundColor const): (WebCore::ThemeAdwaita::focusColor): (WebCore::ThemeAdwaita::paintFocus): (WebCore::ThemeAdwaita::paintArrow): (WebCore::ThemeAdwaita::controlSize const): (WebCore::ThemeAdwaita::paint): (WebCore::ThemeAdwaita::paintCheckbox): (WebCore::ThemeAdwaita::paintRadio): (WebCore::ThemeAdwaita::paintButton): (WebCore::ThemeAdwaita::paintSpinButton): * platform/adwaita/ThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/ThemeWPE.h. (WebCore::ThemeAdwaita::platformColorsDidChange): * platform/graphics/cairo/CairoOperations.cpp: (WebCore::Cairo::drawFocusRing): * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawFocusRing): * platform/gtk/RenderThemeGadget.cpp: Removed. * platform/gtk/RenderThemeGadget.h: Removed. * platform/gtk/RenderThemeWidget.cpp: Removed. * platform/gtk/RenderThemeWidget.h: Removed. * platform/gtk/ScrollbarThemeGtk.cpp: Removed. * platform/gtk/ScrollbarThemeGtk.h: Removed. * platform/gtk/ThemeGtk.cpp: Added. (WebCore::Theme::singleton): (WebCore::ThemeGtk::ensurePlatformColors const): (WebCore::ThemeGtk::platformColorsDidChange): (WebCore::ThemeGtk::activeSelectionForegroundColor const): (WebCore::ThemeGtk::activeSelectionBackgroundColor const): (WebCore::ThemeGtk::inactiveSelectionForegroundColor const): (WebCore::ThemeGtk::inactiveSelectionBackgroundColor const): * platform/gtk/ThemeGtk.h: Renamed from Source/WebCore/platform/wpe/ScrollbarThemeWPE.h. * rendering/RenderThemeAdwaita.cpp: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.cpp. (WebCore::RenderTheme::singleton): (WebCore::RenderThemeAdwaita::supportsFocusRing const): (WebCore::RenderThemeAdwaita::shouldHaveCapsLockIndicator const): (WebCore::RenderThemeAdwaita::platformActiveSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformActiveSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionBackgroundColor const): (WebCore::RenderThemeAdwaita::platformActiveListBoxSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformInactiveListBoxSelectionForegroundColor const): (WebCore::RenderThemeAdwaita::platformFocusRingColor const): (WebCore::RenderThemeAdwaita::platformColorsDidChange): (WebCore::RenderThemeAdwaita::extraDefaultStyleSheet): (WebCore::RenderThemeAdwaita::extraMediaControlsStyleSheet): (WebCore::RenderThemeAdwaita::mediaControlsScript): (WebCore::RenderThemeAdwaita::paintTextField): (WebCore::RenderThemeAdwaita::paintTextArea): (WebCore::RenderThemeAdwaita::paintSearchField): (WebCore::RenderThemeAdwaita::popupInternalPaddingBox const): (WebCore::RenderThemeAdwaita::paintMenuList): (WebCore::RenderThemeAdwaita::paintMenuListButtonDecorations): (WebCore::RenderThemeAdwaita::animationRepeatIntervalForProgressBar const): (WebCore::RenderThemeAdwaita::animationDurationForProgressBar const): (WebCore::RenderThemeAdwaita::progressBarRectForBounds const): (WebCore::RenderThemeAdwaita::paintProgressBar): (WebCore::RenderThemeAdwaita::paintSliderTrack): (WebCore::RenderThemeAdwaita::adjustSliderThumbSize const): (WebCore::RenderThemeAdwaita::paintSliderThumb): (WebCore::RenderThemeAdwaita::paintMediaSliderTrack): (WebCore::RenderThemeAdwaita::paintMediaVolumeSliderTrack): (WebCore::RenderThemeAdwaita::sliderTickSize const): (WebCore::RenderThemeAdwaita::sliderTickOffsetFromTrackCenter const): (WebCore::RenderThemeAdwaita::adjustListButtonStyle const): * rendering/RenderThemeAdwaita.h: Renamed from Source/WebCore/platform/wpe/RenderThemeWPE.h. * rendering/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::updateCachedSystemFontDescription const): (WebCore::RenderThemeGtk::caretBlinkInterval const): * rendering/RenderThemeGtk.h: Source/WebKit: * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::themeDidChange): Notify RenderTheme about the theme change to clear the colors cache. Source/WTF: Enable USE_NEW_THEME for the GTK port. * wtf/PlatformUse.h: Canonical link: https://commits.webkit.org/221120@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-02-25 09:55:52 +00:00
2020-02-25 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Stop using gtk foreign drawing API to style form controls
https://bugs.webkit.org/show_bug.cgi?id=208129
Reviewed by Adrian Perez de Castro.
Add a test case for datalist element.
* ManualTests/gtk/theme.html:
2020-02-24 Yusuke Suzuki <ysuzuki@apple.com>
Do not use target/icu.cmake
https://bugs.webkit.org/show_bug.cgi?id=208173
Reviewed by Don Olmstead.
icu.cmake is removed in r256731. Use find_package + ICU since WebKit offers find_package implementation
which can find appropriate system-installed ICU.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsMac.cmake:
2020-02-24 Per Arne Vollan <pvollan@apple.com>
[Win] Fix AppleWin build.
https://bugs.webkit.org/show_bug.cgi?id=208164
Unreviewed build fix.
Allow a warning which happens when building with older SDKs.
* Source/cmake/OptionsMSVC.cmake:
2020-02-20 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Not set ccache compiler prefix if ccache its already the compiler binary in path.
https://bugs.webkit.org/show_bug.cgi?id=208007
Reviewed by Tim Horton.
Detect if the compiler binary already points to the ccache binary and in that case don't
set the ccache compiler prefix. Also export CCACHE_SLOPPINESS=time_macros if its not
defined to other thing on the environment and add a some logging of related messages.
* Source/cmake/WebKitCCache.cmake:
2020-02-20 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WebP targets
https://bugs.webkit.org/show_bug.cgi?id=207982
Reviewed by Adrian Perez de Castro.
Modernize the FindWebP.cmake module so it creates targets that can be
referenced rather than using WEBP_LIBRARIES and WEBP_INCLUDE_DIRS.
Also making demux a component within the module, and allowing alternate names
for the library to be set by the platform.
* Source/cmake/FindWebP.cmake:
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWinCairo.cmake:
2020-02-20 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WPE::libwpe target
https://bugs.webkit.org/show_bug.cgi?id=207970
Reviewed by Adrian Perez de Castro.
Redo the WPE find module to export a target.
* Source/cmake/FindWPE.cmake:
2020-02-19 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Set ccache as compiler launcher, add opt-in sccache support
https://bugs.webkit.org/show_bug.cgi?id=207838
Reviewed by Carlos Alberto Lopez Perez.
This change allows for more granular control over the compiler
launcher configuration. The build host should no longer need to
set ccache symbolic links. Additionally optional support for
sccache is added, enabled when the WEBKIT_USE_SCCACHE environment
variable is set to YES.
* Source/cmake/WebKitCCache.cmake:
[CMake] Use builtin targets https://bugs.webkit.org/show_bug.cgi?id=205166 Reviewed by Darin Adler. .: Add WebKitFindPackage.cmake which wraps CMake's find_package to provide targets for common libraries. Rationale: 1. There are a number of libraries which are found using CMake's internal Find modules that contain targets but not all of them are available in the minimum version of CMake we support, 3.10. 2. Updating to CMake 3.12 or higher is not possible due to the WebKit GTK's support policy. It looks like the next time we can bump the version is spring 2021. 3. Apple builds, both Mac and Windows, have libraries that won't be found using the stock CMake modules. AppleWin also has internal builds where all libraries have a DEBUG_SUFFIX of _debug that would not be picked up. In the implementation of find_package any Apple specific requirements are dealt with and the expected CMake values are populated. For all other cases CMake's original find_package is called so there's no behavior change. Afterwards if there is a library that has a target but the target was not created it is created from the definitions that are present from the find module at CMake 3.10. This makes it so all ports consistently have targets across all versions of CMake above the current minimum. * Source/cmake/OptionsAppleWin.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/WebKitCommon.cmake: * Source/cmake/WebKitFindPackage.cmake: Added. * Source/cmake/target/icu.cmake: Removed. PerformanceTests: * MallocBench/MallocBench/CMakeLists.txt: Source/WebCore: * CMakeLists.txt: * PlatformGTK.cmake: * PlatformMac.cmake: * platform/Curl.cmake: * platform/FreeType.cmake: * platform/ImageDecoders.cmake: Source/WebCore/PAL: * pal/PlatformPlayStation.cmake: Source/WebKit: * PlatformFTW.cmake: * PlatformWPE.cmake: * PlatformWin.cmake: Source/WebKitLegacy: * PlatformFTW.cmake: * PlatformWin.cmake: Source/WTF: * wtf/PlatformGTK.cmake: * wtf/PlatformJSCOnly.cmake: * wtf/PlatformPlayStation.cmake: * wtf/PlatformWPE.cmake: Tools: * TestWebKitAPI/PlatformWin.cmake: Canonical link: https://commits.webkit.org/220799@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-02-17 15:37:39 +00:00
2020-02-17 Don Olmstead <don.olmstead@sony.com>
[CMake] Use builtin targets
https://bugs.webkit.org/show_bug.cgi?id=205166
Reviewed by Darin Adler.
Add WebKitFindPackage.cmake which wraps CMake's find_package to provide targets
for common libraries.
Rationale:
1. There are a number of libraries which are found using CMake's internal Find modules
that contain targets but not all of them are available in the minimum version of
CMake we support, 3.10.
2. Updating to CMake 3.12 or higher is not possible due to the WebKit GTK's support
policy. It looks like the next time we can bump the version is spring 2021.
3. Apple builds, both Mac and Windows, have libraries that won't be found using the
stock CMake modules. AppleWin also has internal builds where all libraries have
a DEBUG_SUFFIX of _debug that would not be picked up.
In the implementation of find_package any Apple specific requirements are dealt with
and the expected CMake values are populated. For all other cases CMake's original
find_package is called so there's no behavior change. Afterwards if there is a library
that has a target but the target was not created it is created from the definitions
that are present from the find module at CMake 3.10.
This makes it so all ports consistently have targets across all versions of CMake
above the current minimum.
* Source/cmake/OptionsAppleWin.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/WebKitCommon.cmake:
* Source/cmake/WebKitFindPackage.cmake: Added.
* Source/cmake/target/icu.cmake: Removed.
2020-02-14 Don Olmstead <don.olmstead@sony.com>
[CMake] Add Fontconfig::Fontconfig target
https://bugs.webkit.org/show_bug.cgi?id=207730
Reviewed by Adrian Perez de Castro.
Redo the Fontconfig find module to export a target.
* Source/cmake/FindFontconfig.cmake:
2020-02-10 Michael Catanzaro <mcatanzaro@gnome.org>
[CMake] Prepend -Wno-noexcept-type only to global CXX flags
https://bugs.webkit.org/show_bug.cgi?id=207468
Reviewed by Adrian Perez de Castro.
-Wno-noexcept-type is a C++-specific flag that should not be passed to the C compiler. This
causes a warning spam in GCC 10.
* Source/cmake/WebKitCompilerFlags.cmake:
2020-02-10 Enrique Ocaña González <eocanha@igalia.com>
[GTK] Mouse pointer no longer hidden during fullscreen video playback
https://bugs.webkit.org/show_bug.cgi?id=197346
Reviewed by Adrian Perez de Castro.
Enabled the CURSOR_VISIBILITY feature on the GTK port.
* Source/cmake/OptionsGTK.cmake:
2020-02-06 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. [GTK] Use radio buttons instead of a combo for text direction in theme test
* ManualTests/gtk/theme.html:
2020-02-05 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Build a shared JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=198446
Reviewed by Fujii Hironori.
Compile bmalloc and WTF as OBJECT libraries that are then linked into a shared
JavaScriptCore. Using OBJECT libraries is a modern CMake way to have the behavior
of --whole-archive.
* Source/cmake/OptionsPlayStation.cmake:
2020-02-04 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Enable TestWebKit
https://bugs.webkit.org/show_bug.cgi?id=207211
Reviewed by Ross Kirsling.
Turn back on API tests.
* Source/cmake/OptionsPlayStation.cmake:
2020-02-04 Ross Kirsling <ross.kirsling@sony.com>
[CMake] Add Cairo::Cairo target
https://bugs.webkit.org/show_bug.cgi?id=207159
Reviewed by Konstantin Tokarev.
* Source/cmake/FindCairo.cmake:
* Source/cmake/OptionsPlayStation.cmake:
2020-02-02 Ting-Wei Lan <lantw44@gmail.com>
[CMake] Use opj_config.h to find OpenJPEG include directory
https://bugs.webkit.org/show_bug.cgi?id=207100
Reviewed by Konstantin Tokarev.
WebKit needs OpenJPEG 2.2.0 or later versions, but it is possible for a
system to have both OpenJPEG 1 and OpenJPEG 2 installed. However, some
distributions do not put OpenJPEG 1 under a versioned directory and
put its header file directly under /usr/include or /usr/local/include.
Since CMake prefers its prefixes to paths given in HINTS, it is possible
that openjpeg.h from OpenJPEG 1 is found before the one from OpenJPEG 2,
causing WebKit to fail to build because of using the wrong header file.
Resolve the problem by checking opj_config.h instead of openjpeg.h.
OpenJPEG 1.5 does not have opj_config.h, so only OpenJPEG 2 can be
found. This also makes it consistent with the code below which already
uses opj_config.h.
* Source/cmake/FindOpenJPEG.cmake:
2020-01-31 Don Olmstead <don.olmstead@sony.com>
[CMake] Add _PRIVATE_LIBRARIES to framework
https://bugs.webkit.org/show_bug.cgi?id=207004
Reviewed by Konstantin Tokarev.
Use _PRIVATE_LIBRARIES to when creating a WebKit target to specify privately linked
libraries. This fits with the current conventions in WebKit for CMake libraries and
prevents appending to _LIBRARIES with a visibility modifier which likely has
unintended consequences.
* Source/cmake/WebKitMacros.cmake:
2020-01-30 Ross Kirsling <ross.kirsling@sony.com>
[CMake] Add SQLite::SQLite3 target
https://bugs.webkit.org/show_bug.cgi?id=207005
Reviewed by Don Olmstead.
* Source/cmake/FindSQLite3.cmake: Added.
* Source/cmake/FindSqlite.cmake: Removed.
* Source/cmake/OptionsAppleWin.cmake: Actually use find_package.
* Source/cmake/OptionsFTW.cmake: Sqlite -> SQLite3
* Source/cmake/OptionsGTK.cmake: Sqlite -> SQLite3
* Source/cmake/OptionsPlayStation.cmake: Sqlite -> SQLite3
* Source/cmake/OptionsWPE.cmake: Sqlite -> SQLite3
* Source/cmake/OptionsWinCairo.cmake: Sqlite -> SQLite3
2020-01-29 Fujii Hironori <Hironori.Fujii@sony.com>
[MSVC] Add /experimental:newLambdaProcessor switch for better C++ conformance
https://bugs.webkit.org/show_bug.cgi?id=204443
Reviewed by Alex Christensen.
MSVC has a bug of 'this' in lambda captures. It has caused
compilation errors repeatedly.
* Source/cmake/OptionsMSVC.cmake: Added /experimental:newLambdaProcessor switch.
2020-01-29 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Allow setting CMAKE_IGNORE_PATH from environment for bots
https://bugs.webkit.org/show_bug.cgi?id=206964
Reviewed by Don Olmstead.
* Source/cmake/OptionsPlayStation.cmake:
[GTK] Should use light theme unless website declares support for dark themes in color-schemes property https://bugs.webkit.org/show_bug.cgi?id=197947 Reviewed by Michael Catanzaro. .: Do not define HAVE_OS_DARK_MODE_SUPPORT. * Source/cmake/OptionsGTK.cmake: Source/WebCore: * dom/Document.cpp: (WebCore::Document::useDarkAppearance const): Remove HAVE(OS_DARK_MODE_SUPPORT) because ENABLE(DARK_MODE_CSS) guards should be enough. * page/FrameView.cpp: (WebCore::FrameView::updateBackgroundRecursively): Revert changes made in r244635. * page/Page.cpp: (WebCore::Page::effectiveAppearanceDidChange): Use ENABLE(DARK_MODE_CSS) instead of HAVE(OS_DARK_MODE_SUPPORT). (WebCore::Page::useDarkAppearance const): Ditto. * rendering/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::systemColor const): Revert changes made in r244635. * rendering/RenderThemeGtk.h: * testing/InternalSettings.cpp: (WebCore::InternalSettings::setUseDarkAppearanceInternal): Revert changes made in r244635. Source/WebKit: Handle the theme changes in the UI process, converting dark variant to the light one before sending the theme name to the web process. The web process is still notified when a dark theme is in use, so that if website prefers a dark color scheme it will be used, but the gtk theme that will be used for controls styling will always be light. * Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): Encode themeName. (WebKit::WebPageCreationParameters::decode): Decode themeName. * Shared/WebPageCreationParameters.h: * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::themeName const): Get the theme name that should be used by the web process. * UIProcess/API/gtk/PageClientImpl.h: * UIProcess/API/gtk/WebKitWebViewBase.cpp: (themeChanged): Call WebPageProxy::themeDidChange(). (applicationPreferDarkThemeChanged): (webkitWebViewBaseSetToplevelOnScreenWindow): Use a different callback for the theme name change. * UIProcess/PageClient.h: * UIProcess/WebPageProxy.cpp: * UIProcess/WebPageProxy.h: * UIProcess/gtk/WebPageProxyGtk.cpp: (WebKit::WebPageProxy::themeDidChange): Send ThemeDidChange message to the web process with the theme name to use. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage): Initialize the theme name. (WebKit::WebPage::effectiveAppearanceDidChange): Use this now for GTK port too. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Add ThemeDidChange message. * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::themeDidChange): Set the theme given name in gtk settings. * WebProcess/gtk/WebProcessMainGtk.cpp: Source/WTF: Do not define HAVE_OS_DARK_MODE_SUPPORT for the GTK port. * wtf/PlatformHave.h: LayoutTests: Rebaseline several tests for the new behavior. * platform/gtk/css-dark-mode/color-scheme-priority-expected.txt: Added. * platform/gtk/css-dark-mode/default-colors-expected.txt: * platform/gtk/css-dark-mode/prefers-color-scheme-expected.txt: Canonical link: https://commits.webkit.org/219940@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-29 09:49:33 +00:00
2020-01-28 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Should use light theme unless website declares support for dark themes in color-schemes property
https://bugs.webkit.org/show_bug.cgi?id=197947
Reviewed by Michael Catanzaro.
Do not define HAVE_OS_DARK_MODE_SUPPORT.
* Source/cmake/OptionsGTK.cmake:
2020-01-28 Don Olmstead <don.olmstead@sony.com>
[LFC][Integration] Build and enable on Windows
https://bugs.webkit.org/show_bug.cgi?id=206165
Reviewed by Darin Adler.
Enable LFC for Windows.
* Source/cmake/OptionsWin.cmake:
Remove WebVR from the tree https://bugs.webkit.org/show_bug.cgi?id=206739 Reviewed by Darin Adler. .: Removed WebVR and OpenVR build options for GTK and WPE ports. * Source/CMakeLists.txt: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/ThirdParty: Removed as WebVR is gone and this is no longer needed. * openvr/CMakeLists.txt: Removed. * openvr/LICENSE: Removed. * openvr/README.md: Removed. * openvr/README.webkit: Removed. * openvr/Toolchain-clang.cmake: Removed. * openvr/headers/openvr.h: Removed. * openvr/headers/openvr_api.cs: Removed. * openvr/headers/openvr_api.json: Removed. * openvr/headers/openvr_capi.h: Removed. * openvr/headers/openvr_driver.h: Removed. * openvr/patches/Path_WriteBinaryFile-fix-return-condition.patch: Removed. * openvr/patches/cmake-build.patch: Removed. * openvr/src/CMakeLists.txt: Removed. * openvr/src/Info.plist: Removed. * openvr/src/README: Removed. * openvr/src/ivrclientcore.h: Removed. * openvr/src/json/json-forwards.h: Removed. * openvr/src/json/json.h: Removed. * openvr/src/jsoncpp.cpp: Removed. * openvr/src/openvr_api_public.cpp: Removed. * openvr/src/vrcommon/dirtools_public.cpp: Removed. * openvr/src/vrcommon/dirtools_public.h: Removed. * openvr/src/vrcommon/envvartools_public.cpp: Removed. * openvr/src/vrcommon/envvartools_public.h: Removed. * openvr/src/vrcommon/hmderrors_public.cpp: Removed. * openvr/src/vrcommon/hmderrors_public.h: Removed. * openvr/src/vrcommon/pathtools_public.cpp: Removed. * openvr/src/vrcommon/pathtools_public.h: Removed. * openvr/src/vrcommon/sharedlibtools_public.cpp: Removed. * openvr/src/vrcommon/sharedlibtools_public.h: Removed. * openvr/src/vrcommon/strtools_public.cpp: Removed. * openvr/src/vrcommon/strtools_public.h: Removed. * openvr/src/vrcommon/vrpathregistry_public.cpp: Removed. * openvr/src/vrcommon/vrpathregistry_public.h: Removed. Source/WebCore: WebVR 1.1 was never completely implemented, it was just included as build option of WebKitGTK and WPE, and it was never released by any WebKit port either. There are no plans to work on it as it has been replaced by the WebXR specification. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/webvr/DOMWindowWebVR.idl: Removed. * Modules/webvr/GamepadWebVR.cpp: Removed. * Modules/webvr/GamepadWebVR.h: Removed. * Modules/webvr/GamepadWebVR.idl: Removed. * Modules/webvr/NavigatorWebVR.cpp: Removed. * Modules/webvr/NavigatorWebVR.h: Removed. * Modules/webvr/NavigatorWebVR.idl: Removed. * Modules/webvr/VRDisplay.cpp: Removed. * Modules/webvr/VRDisplay.h: Removed. * Modules/webvr/VRDisplay.idl: Removed. * Modules/webvr/VRDisplayCapabilities.h: Removed. * Modules/webvr/VRDisplayCapabilities.idl: Removed. * Modules/webvr/VRDisplayEvent.cpp: Removed. * Modules/webvr/VRDisplayEvent.h: Removed. * Modules/webvr/VRDisplayEvent.idl: Removed. * Modules/webvr/VRDisplayEventReason.h: Removed. * Modules/webvr/VRDisplayEventReason.idl: Removed. * Modules/webvr/VREye.h: Removed. * Modules/webvr/VREye.idl: Removed. * Modules/webvr/VREyeParameters.cpp: Removed. * Modules/webvr/VREyeParameters.h: Removed. * Modules/webvr/VREyeParameters.idl: Removed. * Modules/webvr/VRFieldOfView.h: Removed. * Modules/webvr/VRFieldOfView.idl: Removed. * Modules/webvr/VRFrameData.cpp: Removed. * Modules/webvr/VRFrameData.h: Removed. * Modules/webvr/VRFrameData.idl: Removed. * Modules/webvr/VRLayerInit.h: Removed. * Modules/webvr/VRLayerInit.idl: Removed. * Modules/webvr/VRPose.cpp: Removed. * Modules/webvr/VRPose.h: Removed. * Modules/webvr/VRPose.idl: Removed. * Modules/webvr/VRStageParameters.cpp: Removed. * Modules/webvr/VRStageParameters.h: Removed. * Modules/webvr/VRStageParameters.idl: Removed. * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: * dom/EventNames.in: * dom/EventTargetFactory.in: * features.json: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setWebVREnabled): Deleted. (WebCore::RuntimeEnabledFeatures::webVREnabled const): Deleted. * platform/vr/VRManager.cpp: Removed. * platform/vr/VRManager.h: Removed. * platform/vr/VRPlatformDisplay.cpp: Removed. * platform/vr/VRPlatformDisplay.h: Removed. * platform/vr/VRPlatformDisplayClient.h: Removed. * platform/vr/VRPlatformManager.h: Removed. * platform/vr/openvr/VRPlatformDisplayOpenVR.cpp: Removed. * platform/vr/openvr/VRPlatformDisplayOpenVR.h: Removed. * platform/vr/openvr/VRPlatformManagerOpenVR.cpp: Removed. * platform/vr/openvr/VRPlatformManagerOpenVR.h: Removed. * testing/InternalSettings.cpp: (WebCore::InternalSettings::Backup::Backup): (WebCore::InternalSettings::Backup::restoreTo): (WebCore::InternalSettings::setWebVREnabled): Deleted. * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebKit: * Shared/WebPreferences.yaml: removed WebVR preference. LayoutTests: * webvr/webvr-disabled-expected.txt: Removed. * webvr/webvr-disabled.html: Removed. * webvr/webvr-enabled-expected.txt: Removed. * webvr/webvr-enabled.html: Removed. Canonical link: https://commits.webkit.org/219888@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-28 16:52:06 +00:00
2020-01-24 Sergio Villar Senin <svillar@igalia.com>
Remove WebVR from the tree
https://bugs.webkit.org/show_bug.cgi?id=206739
Reviewed by Darin Adler.
Removed WebVR and OpenVR build options for GTK and WPE ports.
* Source/CMakeLists.txt:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[OpenSSL] Add stubs and build for Web Crypto https://bugs.webkit.org/show_bug.cgi?id=206449 Reviewed by Jiewen Tan. .: Enable Web Crypto as an experiment for WinCairo and PlayStation. Add the USE_OPENSSL definition to platforms using OpenSSL. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/OptionsWinCairo.cmake: Source/WebCore: Add stubs for an OpenSSL implementation of Web Crypto. Add the associated CMake files for OpenSSL platforms and reference them on the platforms using OpenSSL. Tests will be enabled as functionality lands. * PlatformFTW.cmake: * PlatformPlayStation.cmake: * PlatformWinCairo.cmake: * crypto/keys/CryptoKeyEC.h: * crypto/keys/CryptoKeyRSA.h: * crypto/openssl/CryptoAlgorithmAES_CBCOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt): (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt): * crypto/openssl/CryptoAlgorithmAES_CFBOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmAES_CFB::platformEncrypt): (WebCore::CryptoAlgorithmAES_CFB::platformDecrypt): * crypto/openssl/CryptoAlgorithmAES_CTROpenSSL.cpp: Added. (WebCore::CryptoAlgorithmAES_CTR::platformEncrypt): (WebCore::CryptoAlgorithmAES_CTR::platformDecrypt): * crypto/openssl/CryptoAlgorithmAES_GCMOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmAES_GCM::platformEncrypt): (WebCore::CryptoAlgorithmAES_GCM::platformDecrypt): * crypto/openssl/CryptoAlgorithmAES_KWOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmAES_KW::platformWrapKey): (WebCore::CryptoAlgorithmAES_KW::platformUnwrapKey): * crypto/openssl/CryptoAlgorithmECDHOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmECDH::platformDeriveBits): * crypto/openssl/CryptoAlgorithmECDSAOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmECDSA::platformSign): (WebCore::CryptoAlgorithmECDSA::platformVerify): * crypto/openssl/CryptoAlgorithmHKDFOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmHKDF::platformDeriveBits): * crypto/openssl/CryptoAlgorithmHMACOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmHMAC::platformSign): (WebCore::CryptoAlgorithmHMAC::platformVerify): * crypto/openssl/CryptoAlgorithmPBKDF2OpenSSL.cpp: Added. (WebCore::CryptoAlgorithmPBKDF2::platformDeriveBits): * crypto/openssl/CryptoAlgorithmRSAES_PKCS1_v1_5OpenSSL.cpp: Added. (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt): (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt): * crypto/openssl/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp: Added. (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): * crypto/openssl/CryptoAlgorithmRSA_OAEPOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt): (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt): * crypto/openssl/CryptoAlgorithmRSA_PSSOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmRSA_PSS::platformSign): (WebCore::CryptoAlgorithmRSA_PSS::platformVerify): * crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp: Added. (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): * crypto/openssl/CryptoKeyECOpenSSL.cpp: Added. (WebCore::CryptoKeyEC::keySizeInBits const): (WebCore::CryptoKeyEC::platformSupportedCurve): (WebCore::CryptoKeyEC::platformGeneratePair): (WebCore::CryptoKeyEC::platformImportRaw): (WebCore::CryptoKeyEC::platformImportJWKPublic): (WebCore::CryptoKeyEC::platformImportJWKPrivate): (WebCore::CryptoKeyEC::platformImportSpki): (WebCore::CryptoKeyEC::platformImportPkcs8): (WebCore::CryptoKeyEC::platformExportRaw const): (WebCore::CryptoKeyEC::platformAddFieldElements const): (WebCore::CryptoKeyEC::platformExportSpki const): (WebCore::CryptoKeyEC::platformExportPkcs8 const): * crypto/openssl/CryptoKeyRSAOpenSSL.cpp: Added. (WebCore::CryptoKeyRSA::create): (WebCore::CryptoKeyRSA::isRestrictedToHash const): (WebCore::CryptoKeyRSA::keySizeInBits const): (WebCore::CryptoKeyRSA::generatePair): (WebCore::CryptoKeyRSA::importSpki): (WebCore::CryptoKeyRSA::importPkcs8): (WebCore::CryptoKeyRSA::exportSpki const): (WebCore::CryptoKeyRSA::exportPkcs8 const): (WebCore::CryptoKeyRSA::exportData const): * crypto/openssl/SerializedCryptoKeyWrapOpenSSL.cpp: Added. (WebCore::getDefaultWebCryptoMasterKey): (WebCore::wrapSerializedCryptoKey): (WebCore::unwrapSerializedCryptoKey): * platform/OpenSSL.cmake: Added. Canonical link: https://commits.webkit.org/219674@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-23 02:45:17 +00:00
2020-01-22 Don Olmstead <don.olmstead@sony.com>
[OpenSSL] Add stubs and build for Web Crypto
https://bugs.webkit.org/show_bug.cgi?id=206449
Reviewed by Jiewen Tan.
Enable Web Crypto as an experiment for WinCairo and PlayStation. Add the USE_OPENSSL
definition to platforms using OpenSSL.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/OptionsWinCairo.cmake:
2020-01-21 Rob Buis <rbuis@igalia.com>
Add build flag for stale-while-revalidate
https://bugs.webkit.org/show_bug.cgi?id=204169
Reviewed by Youenn Fablet.
Add build flag for stale-while-revalidate to make it
independent from the NETWORK_CACHE_SPECULATIVE_REVALIDATION build flag.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
2020-01-20 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.27.4 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
[PlayStation] Enable WebKit https://bugs.webkit.org/show_bug.cgi?id=205965 Reviewed by Ross Kirsling. .: Turn on build WebKit for the PlayStation port. Temporarily turn off API tests until the WebKit tests are added. * Source/cmake/OptionsPlayStation.cmake: Source/WebKit: Add the CMake platform for PlayStation. Add stubs for platform specific bits. This gets us to linking through WebKit. * Platform/unix/ModuleUnix.cpp: Added. (WebKit::Module::load): (WebKit::Module::unload): (WebKit::Module::platformFunctionPointer const): * PlatformPlayStation.cmake: Added. * UIProcess/Launcher/playstation/ProcessLauncherPlayStation.cpp: Added. (WebKit::ProcessLauncher::launchProcess): (WebKit::ProcessLauncher::terminateProcess): (WebKit::ProcessLauncher::platformInvalidate): * UIProcess/WebPageProxy.h: * UIProcess/WebsiteData/playstation/WebsiteDataStorePlayStation.cpp: Added. (WebKit::WebsiteDataStore::platformInitialize): (WebKit::WebsiteDataStore::platformDestroy): (WebKit::WebsiteDataStore::platformRemoveRecentSearches): (WebKit::WebsiteDataStore::defaultApplicationCacheDirectory): (WebKit::WebsiteDataStore::defaultCacheStorageDirectory): (WebKit::WebsiteDataStore::defaultNetworkCacheDirectory): (WebKit::WebsiteDataStore::defaultIndexedDBDatabaseDirectory): (WebKit::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory): (WebKit::WebsiteDataStore::defaultLocalStorageDirectory): (WebKit::WebsiteDataStore::defaultMediaKeysStorageDirectory): (WebKit::WebsiteDataStore::defaultWebSQLDatabaseDirectory): (WebKit::WebsiteDataStore::defaultResourceLoadStatisticsDirectory): (WebKit::WebsiteDataStore::cacheDirectoryFileSystemRepresentation): (WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation): * UIProcess/playstation/WebPageProxyPlayStation.cpp: Added. (WebKit::WebPageProxy::platformInitialize): (WebKit::WebPageProxy::viewBackend): (WebKit::WebPageProxy::standardUserAgent): (WebKit::WebPageProxy::saveRecentSearches): (WebKit::WebPageProxy::loadRecentSearches): (WebKit::WebPageProxy::updateEditorState): * UIProcess/playstation/WebProcessPoolPlayStation.cpp: Added. (WebKit::WebProcessPool::platformInitialize): (WebKit::WebProcessPool::platformInitializeNetworkProcess): (WebKit::WebProcessPool::platformInitializeWebProcess): (WebKit::WebProcessPool::platformInvalidateContext): (WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions): * WebProcess/InjectedBundle/playstation/InjectedBundlePlayStation.cpp: Added. (WebKit::InjectedBundle::initialize): (WebKit::InjectedBundle::setBundleParameter): (WebKit::InjectedBundle::setBundleParameters): * WebProcess/WebPage/playstation/WebPagePlayStation.cpp: Added. (WebKit::WebPage::platformInitialize): (WebKit::WebPage::platformReinitialize): (WebKit::WebPage::platformDetach): (WebKit::WebPage::performDefaultBehaviorForKeyEvent): (WebKit::WebPage::platformCanHandleRequest): (WebKit::WebPage::platformUserAgent const): (WebKit::WebPage::handleEditingKeyboardEvent): (WebKit::WebPage::platformEditorState const): * WebProcess/playstation/WebProcessPlayStation.cpp: Added. (WebKit::WebProcess::platformInitializeWebProcess): (WebKit::WebProcess::platformSetWebsiteDataStoreParameters): (WebKit::WebProcess::platformTerminate): (WebKit::WebProcess::platformSetCacheModel): Canonical link: https://commits.webkit.org/219460@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-16 23:14:59 +00:00
2020-01-16 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Enable WebKit
https://bugs.webkit.org/show_bug.cgi?id=205965
Reviewed by Ross Kirsling.
Turn on build WebKit for the PlayStation port. Temporarily turn off API tests
until the WebKit tests are added.
* Source/cmake/OptionsPlayStation.cmake:
[GStreamer][WPE] Client-side video rendering support https://bugs.webkit.org/show_bug.cgi?id=206289 Patch by Philippe Normand <philn@igalia.com> on 2020-01-16 Reviewed by Xabier Rodriguez-Calvar. .: Add a new compile-time option to enable client-side video rendering support. With this feature enabled the UIProcess will be in charge of positioning and rendering video surfaces, thanks to the WPEBackend-FDO video-plane-display-dmabuf protocol. * Source/cmake/GStreamerDefinitions.cmake: Add USE_WPE_VIDEO_PLANE_DISPLAY_DMABUF CMake option, disabled by default. * Source/cmake/GStreamerDependencies.cmake: This new option depends on GStreamer-GL. * Source/cmake/OptionsWPE.cmake: It depends also on the presence of the WPEBackend-FDO library. Source/WebCore: With the WPE_VIDEO_PLANE_DISPLAY_DMABUF option enabled the player will render a transparent placeholder for videos, using the HolePunch code path. Then it is up to the UIProcess to listen to the incoming video dmabufs and render them. This allows the browser to use Wayland protocols related with Protection (HDCP, for instance). * PlatformWPE.cmake: * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: (WTF::adoptGRef): (WTF::refGPtr<GstEGLImage>): (WTF::derefGPtr<GstEGLImage>): * platform/graphics/gstreamer/GRefPtrGStreamer.h: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::GstVideoFrameHolder::GstVideoFrameHolder): (WebCore::GstVideoFrameHolder::handoffVideoDmaBuf): (WebCore::GstVideoFrameHolder::waitForCPUSync): (WebCore::GstVideoFrameHolder::updateTexture): (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): (WebCore::MediaPlayerPrivateGStreamer::didEnd): (WebCore::GStreamerDMABufHolePunchClient::GStreamerDMABufHolePunchClient): (WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Tools: * wpe/jhbuild.modules: Bump to libwpe and wpebackend-fdo git snapshots, until 1.5.x releases are published. Canonical link: https://commits.webkit.org/219432@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-16 15:57:34 +00:00
2020-01-16 Philippe Normand <philn@igalia.com>
[GStreamer][WPE] Client-side video rendering support
https://bugs.webkit.org/show_bug.cgi?id=206289
Reviewed by Xabier Rodriguez-Calvar.
Add a new compile-time option to enable client-side video
rendering support. With this feature enabled the UIProcess will be
in charge of positioning and rendering video surfaces, thanks to
the WPEBackend-FDO video-plane-display-dmabuf protocol.
* Source/cmake/GStreamerDefinitions.cmake: Add
USE_WPE_VIDEO_PLANE_DISPLAY_DMABUF CMake option, disabled by
default.
* Source/cmake/GStreamerDependencies.cmake: This new option
depends on GStreamer-GL.
* Source/cmake/OptionsWPE.cmake: It depends also on the presence
of the WPEBackend-FDO library.
2020-01-16 Per Arne Vollan <pvollan@apple.com>
[Win] Fix AppleWin build
https://bugs.webkit.org/show_bug.cgi?id=206299
Reviewed by Brent Fulgham.
This patch has been created by don.olmstead@sony.com and pvollan@apple.com. Add target files for WTF and
JavaScriptCore. Also, to make sure headers are copied to the forwarding headers directory, add the CMake
keywork ALL when adding custom target for copying files.
* Source/cmake/TargetJavaScriptCore.cmake: Added.
* Source/cmake/TargetWTF.cmake: Added.
* Source/cmake/WebKitMacros.cmake:
2020-01-10 Dean Jackson <dino@apple.com>
[WebGL] Clarify USE_OPENGL_ES_3
https://bugs.webkit.org/show_bug.cgi?id=206081
<rdar://problem/58486798>
Reviewed by Simon Fraser.
Make it clear that USE_ANGLE | USE_OPENGL | USE_OPENGL_ES are exclusive,
and that the availability of OpenGL ES 3 is a separate query.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWinCairo.cmake:
2020-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.27.4 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2020-01-09 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r254234.
https://bugs.webkit.org/show_bug.cgi?id=206011
Broke production builds (Requested by ap on #webkit).
Reverted changeset:
"build-jsc should invoke make instead of calling xcodebuild
directly"
https://bugs.webkit.org/show_bug.cgi?id=205960
https://trac.webkit.org/changeset/254234
2020-01-08 Saam Barati <sbarati@apple.com>
build-jsc should invoke make instead of calling xcodebuild directly
https://bugs.webkit.org/show_bug.cgi?id=205960
Reviewed by Keith Miller.
* Makefile.shared:
2020-01-08 Saam Barati <sbarati@apple.com>
build-jsc should invoke make instead of calling xcodebuild directly
https://bugs.webkit.org/show_bug.cgi?id=205960
Reviewed by Keith Miller.
* Makefile.shared:
2020-01-08 Mark Lam <mark.lam@apple.com>
Rename testing build configuration to release+assert, and add new testing build configuration.
https://bugs.webkit.org/show_bug.cgi?id=205954
Reviewed by Yusuke Suzuki.
"make release-assert" builds a release build with ASSERT_ENABLED=1.
"make testing" builds a debug build with clang optimization level forced to -O3.
* Makefile:
* Makefile.shared:
* Source/Makefile:
2020-01-08 Keith Miller <keith_miller@apple.com>
Fix testing Makefile to inherit preprocessor definitions
https://bugs.webkit.org/show_bug.cgi?id=205940
Reviewed by Mark Lam.
* Makefile.shared:
2020-01-07 Keith Miller <keith_miller@apple.com>
Add a testing target to make that is release + assertions
https://bugs.webkit.org/show_bug.cgi?id=205895
Reviewed by Mark Lam.
* Makefile:
* Makefile.shared:
* Source/Makefile:
[GTK][WPE] Add API to set purpose and hints of active editable element to input methods https://bugs.webkit.org/show_bug.cgi?id=205605 Reviewed by Žan Doberšek. .: Add ENABLE_AUTOCAPITALIZE build flag. It's private and disabled by default, enabled in GTK and WPE ports. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/WebKitFeatures.cmake: PerformanceTests: Split ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE and remove the IOS prefix. * StitchMarker/wtf/FeatureDefines.h: Source/WebCore: Use ENABLE(AUTOCAPITALIZE) and ENABLE(AUTOCORRECT) instead of ENABLE(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE). * Sources.txt: Add Autocapitalize.cpp to the build. * html/Autocapitalize.cpp: Add ENABLE(AUTOCAPITALIZE) guards. * html/Autocapitalize.h: Ditto. * html/HTMLElement.cpp: * html/HTMLElement.h: * html/HTMLElement.idl: * html/HTMLFormControlElement.cpp: * html/HTMLFormControlElement.h: * html/HTMLFormElement.cpp: * html/HTMLFormElement.h: * loader/EmptyClients.cpp: Update to new API of EditorClient::setInputMethodState * page/EditorClient.h: The focused element or nullptr is now received by setInputMethodState() instead of enabled/disabled boolean. * page/FocusController.cpp: (WebCore::FocusController::setFocusedElement): Pass the focused element or nullptr to setInputMethodState(). Source/WebKit: Add input-purpose and input-hints properties to WebKitInputMethodContext. The message SetInputMethodState now receives an optional InputMethodState struct with information about the purpose and hints of the active editable element. * Scripts/webkit/messages.py: Only include InputMethodState.h for GTK and WPE. * Shared/glib/InputMethodState.cpp: Added. (WebKit::InputMethodState::setPurposeOrHintForInputMode): (WebKit::inputElementHasDigitsPattern): (WebKit::InputMethodState::setPurposeForInputElement): (WebKit::InputMethodState::addHintsForAutocapitalizeType): (WebKit::InputMethodState::encode const): (WebKit::InputMethodState::decode): * Shared/glib/InputMethodState.h: Added. (WebKit::operator==): * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/InputMethodFilter.cpp: (WebKit::InputMethodFilter::setContext): Use isEnabled() instead of m_enabled. (WebKit::InputMethodFilter::setState): Now receives an optional InputMethodState struct. (WebKit::InputMethodFilter::filterKeyEvent): Use isEnabled() instead of m_enabled. (WebKit::InputMethodFilter::isViewFocused const): Ditto. (WebKit::toWebKitPurpose): Helper to convert InputMethodState::Purpose to WebKitInputPurpose. (WebKit::toWebKitHints): Helper to convert InputMethodState::Hint to WebKitInputHints. (WebKit::InputMethodFilter::notifyFocusedIn): Set the purpose and hints to the context. (WebKit::InputMethodFilter::notifyFocusedOut): Use isEnabled() instead of m_enabled. (WebKit::InputMethodFilter::notifyCursorRect): Ditto. (WebKit::InputMethodFilter::preeditStarted): Ditto. (WebKit::InputMethodFilter::preeditChanged): Ditto. (WebKit::InputMethodFilter::preeditFinished): Ditto. (WebKit::InputMethodFilter::committed): Ditto. * UIProcess/API/glib/InputMethodFilter.h: (WebKit::InputMethodFilter::isEnabled const): Return true if we have a state. * UIProcess/API/glib/WebKitInputMethodContext.cpp: (webkitInputMethodContextSetProperty): Properties setter. (webkitInputMethodContextGetProperty): Properties getter. (webkit_input_method_context_class_init): Add implementation for properties getter and setter. (webkit_input_method_context_get_input_purpose): (webkit_input_method_context_set_input_purpose): (webkit_input_method_context_get_input_hints): (webkit_input_method_context_set_input_hints): * UIProcess/API/gtk/WebKitInputMethodContext.h: * UIProcess/API/gtk/WebKitInputMethodContextImplGtk.cpp: (toGtkInputPurpose): Helper to convert WebKitInputPurpose to GtkInputPurpose. (toGtkInputHints): Helper to convert WebKitInputHints to GtkInputHints. (inputPurposeChangedCallback): Set the purpose on GtkIMContext. (inputHintsChangedCallback): Set the hints on GtkIMContext. (webkitInputMethodContextImplGtkConstructed): Connect to notify signal for input-purpose and input-hints properties of the context. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseSetInputMethodState): * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: * UIProcess/API/wpe/PageClientImpl.cpp: (WebKit::PageClientImpl::setInputMethodState): * UIProcess/API/wpe/PageClientImpl.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::View::setInputMethodState): * UIProcess/API/wpe/WPEView.h: * UIProcess/API/wpe/WebKitInputMethodContext.h: * UIProcess/API/wpe/docs/wpe-1.0-sections.txt: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/gtk/WebPageProxyGtk.cpp: (WebKit::WebPageProxy::setInputMethodState): * UIProcess/wpe/WebPageProxyWPE.cpp: (WebKit::WebPageProxy::setInputMethodState): * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::setInputMethodState): * WebProcess/WebCoreSupport/WebEditorClient.h: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/glib/WebPageGLib.cpp: (WebKit::inputMethodSateForElement): Build an InputMethodState for the given element. (WebKit::WebPage::setInputMethodState): Source/WebKitLegacy/mac: * DOM/DOMHTMLElement.mm: Use ENABLE(AUTOCORRECT) and ENABLE(AUTOCAPITALIZE). * WebCoreSupport/WebEditorClient.h: Update tom the new API to WebEditorClient::setInputMethodState. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::setInputMethodState): Ditto. Source/WebKitLegacy/win: Update to the new API of WebEditorClient::setInputMethodState. * WebCoreSupport/WebEditorClient.cpp: (WebEditorClient::setInputMethodState): * WebCoreSupport/WebEditorClient.h: Source/WTF: Split ENABLE_IOS_AUTOCORRECT_AND_AUTOCAPITALIZE and remove the IOS prefix. * wtf/FeatureDefines.h: Tools: Add new test case to check the purpose and hints API. * TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp: (testWebKitInputMethodContextContentType): (beforeAll): Canonical link: https://commits.webkit.org/218989@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-07 10:48:45 +00:00
2020-01-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to set purpose and hints of active editable element to input methods
https://bugs.webkit.org/show_bug.cgi?id=205605
Reviewed by Žan Doberšek.
Add ENABLE_AUTOCAPITALIZE build flag. It's private and disabled by default, enabled in GTK and WPE ports.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:
2020-01-06 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Update port cmake
https://bugs.webkit.org/show_bug.cgi?id=205846
Reviewed by Don Olmstead.
Define C/CXX macro BPLATFORM_PLAYSTATION.
Find HarfBuzz::ICU component to fix cmake errors.
Make the WebCore and WebKit builds optional.
* Source/cmake/OptionsPlayStation.cmake:
Rename GraphicsContext3D to GraphicsContextGL https://bugs.webkit.org/show_bug.cgi?id=205778 <rdar://problem/58327597> Reviewed by Ross Kirsling. .: Fix the build after r254064 on Windows and PlayStation. Add USE_OPENGL_ES_3 to Windows and WPE builds to simplify the Platform checks for GL functions available in OpenGL ES 3.0+. Expose additional USE macros for Windows builds to remove Platform.h entries around ENABLE(WEBGL). * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWinCairo.cmake: Source/WebCore: Use ENABLE(GRAPHICS_CONTEXT_GL) instead of ENABLE(WEBGL) for relevant files. This was causing the build breakage. Move methods wrapping OpenGL[ES] 3.0+ functions into GraphicsContextGLOpenGLCommon.cpp and remove them from GraphicsContextGLTextureMapper.cpp. Add a check for OpenGL[ES] versions rather than depending on a particular platform. * platform/graphics/ANGLEWebKitBridge.h: * platform/graphics/GraphicsContextGL.cpp: * platform/graphics/GraphicsContextGL.h: * platform/graphics/GraphicsContextGLAttributes.h: * platform/graphics/angle/GraphicsContextGLANGLE.cpp: * platform/graphics/opengl/GraphicsContextGLOpenGL.h: * platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp: (WebCore::GraphicsContextGLOpenGL::mapBufferRange): (WebCore::GraphicsContextGLOpenGL::unmapBuffer): (WebCore::GraphicsContextGLOpenGL::copyBufferSubData): (WebCore::GraphicsContextGLOpenGL::getInternalformativ): (WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample): (WebCore::GraphicsContextGLOpenGL::texStorage2D): (WebCore::GraphicsContextGLOpenGL::texStorage3D): (WebCore::GraphicsContextGLOpenGL::getActiveUniforms): * platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp: (WebCore::GraphicsContextGLOpenGL::mapBufferRange): Deleted. (WebCore::GraphicsContextGLOpenGL::unmapBuffer): Deleted. (WebCore::GraphicsContextGLOpenGL::copyBufferSubData): Deleted. (WebCore::GraphicsContextGLOpenGL::getInternalformativ): Deleted. (WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample): Deleted. (WebCore::GraphicsContextGLOpenGL::texStorage2D): Deleted. (WebCore::GraphicsContextGLOpenGL::texStorage3D): Deleted. (WebCore::GraphicsContextGLOpenGL::getActiveUniforms): Deleted. Source/WTF: Define USE_OPENGL_3 for Mac and USE_OPENGL_ES_3 for iOS. Use CMake config for Windows and WebGL. * wtf/Platform.h: Canonical link: https://commits.webkit.org/218971@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-07 02:52:26 +00:00
2020-01-06 Don Olmstead <don.olmstead@sony.com>
Rename GraphicsContext3D to GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=205778
<rdar://problem/58327597>
Reviewed by Ross Kirsling.
Fix the build after r254064 on Windows and PlayStation.
Add USE_OPENGL_ES_3 to Windows and WPE builds to simplify the Platform checks
for GL functions available in OpenGL ES 3.0+. Expose additional USE macros for
Windows builds to remove Platform.h entries around ENABLE(WEBGL).
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWinCairo.cmake:
Rename GraphicsContext3D to GraphicsContextGL https://bugs.webkit.org/show_bug.cgi?id=205778 <rdar://problem/58327597> Reviewed by Sam Weinig. Rename all the GraphicsContext3D things to GraphicsContextGL (includes Extensions3D and GRAPHICS_CONTEXT_3D). GraphicsContext3DBase now becomes GraphicsContextGL. GraphicsContext3D is now GraphicsContextGLOpenGL (since it represents the OpenGL implementation of the API). .: * Source/CMakeLists.txt: * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWinCairo.cmake: PerformanceTests: * StitchMarker/wtf/FeatureDefines.h: * StitchMarker/wtf/Platform.h: Source/WebCore: * CMakeLists.txt: * Headers.cmake: * PlatformAppleWin.cmake: * PlatformFTW.cmake: * PlatformGTK.cmake: * PlatformMac.cmake: * PlatformPlayStation.cmake: * PlatformWin.cmake: * Sources.txt: * SourcesCocoa.txt: * SourcesGTK.txt: * SourcesWPE.txt: * WebCore.xcodeproj/project.pbxproj: * html/HTMLVideoElement.cpp: * html/HTMLVideoElement.h: * html/OffscreenCanvas.cpp: * html/canvas/ANGLEInstancedArrays.cpp: * html/canvas/OESVertexArrayObject.cpp: * html/canvas/WebGL2RenderingContext.cpp: * html/canvas/WebGL2RenderingContext.h: * html/canvas/WebGLActiveInfo.h: * html/canvas/WebGLBuffer.cpp: * html/canvas/WebGLBuffer.h: * html/canvas/WebGLCompressedTextureASTC.cpp: * html/canvas/WebGLCompressedTextureATC.cpp: * html/canvas/WebGLCompressedTextureETC.cpp: * html/canvas/WebGLCompressedTextureETC1.cpp: * html/canvas/WebGLCompressedTexturePVRTC.cpp: * html/canvas/WebGLCompressedTextureS3TC.cpp: * html/canvas/WebGLContextAttributes.h: * html/canvas/WebGLContextGroup.cpp: * html/canvas/WebGLContextGroup.h: * html/canvas/WebGLContextObject.cpp: * html/canvas/WebGLContextObject.h: * html/canvas/WebGLDebugShaders.cpp: * html/canvas/WebGLDepthTexture.cpp: * html/canvas/WebGLDepthTexture.h: * html/canvas/WebGLDrawBuffers.cpp: * html/canvas/WebGLFramebuffer.cpp: * html/canvas/WebGLFramebuffer.h: * html/canvas/WebGLObject.cpp: * html/canvas/WebGLObject.h: * html/canvas/WebGLProgram.cpp: * html/canvas/WebGLProgram.h: * html/canvas/WebGLQuery.cpp: * html/canvas/WebGLQuery.h: * html/canvas/WebGLRenderbuffer.cpp: * html/canvas/WebGLRenderbuffer.h: * html/canvas/WebGLRenderingContext.cpp: * html/canvas/WebGLRenderingContext.h: * html/canvas/WebGLRenderingContextBase.cpp: * html/canvas/WebGLRenderingContextBase.h: * html/canvas/WebGLSampler.cpp: * html/canvas/WebGLSampler.h: * html/canvas/WebGLShader.cpp: * html/canvas/WebGLShader.h: * html/canvas/WebGLShaderPrecisionFormat.h: * html/canvas/WebGLSharedObject.cpp: * html/canvas/WebGLSharedObject.h: * html/canvas/WebGLSync.cpp: * html/canvas/WebGLSync.h: * html/canvas/WebGLTexture.cpp: * html/canvas/WebGLTexture.h: * html/canvas/WebGLTransformFeedback.cpp: * html/canvas/WebGLTransformFeedback.h: * html/canvas/WebGLVertexArrayObject.cpp: * html/canvas/WebGLVertexArrayObject.h: * html/canvas/WebGLVertexArrayObjectBase.cpp: * html/canvas/WebGLVertexArrayObjectBase.h: * html/canvas/WebGLVertexArrayObjectOES.cpp: * html/canvas/WebGLVertexArrayObjectOES.h: * inspector/InspectorShaderProgram.cpp: * loader/FrameLoaderClient.h: * page/Chrome.cpp: * platform/SourcesCairo.txt: * platform/TextureMapper.cmake: * platform/WebGLStateTracker.cpp: * platform/WebGLStateTracker.h: * platform/graphics/ANGLEWebKitBridge.cpp: * platform/graphics/ExtensionsGL.h: Renamed from Source/WebCore/platform/graphics/Extensions3D.h. * platform/graphics/FormatConverter.cpp: * platform/graphics/FormatConverter.h: * platform/graphics/GLContext.cpp: * platform/graphics/GLContext.h: * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContext3D.cpp: Removed. * platform/graphics/GraphicsContext3DBase.cpp: Removed. * platform/graphics/GraphicsContextGL.cpp: Added. * platform/graphics/GraphicsContextGL.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DBase.h. * platform/graphics/GraphicsContextGLAttributes.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DAttributes.h. * platform/graphics/ImageBuffer.cpp: * platform/graphics/ImageBuffer.h: * platform/graphics/MediaPlayer.cpp: * platform/graphics/MediaPlayer.h: * platform/graphics/MediaPlayerPrivate.h: * platform/graphics/OpenGLShims.cpp: * platform/graphics/angle/ExtensionsGLANGLE.cpp: Renamed from Source/WebCore/platform/graphics/angle/Extensions3DANGLE.cpp. * platform/graphics/angle/ExtensionsGLANGLE.h: Renamed from Source/WebCore/platform/graphics/angle/Extensions3DANGLE.h. * platform/graphics/angle/GraphicsContextGLANGLE.cpp: Renamed from Source/WebCore/platform/graphics/angle/GraphicsContext3DANGLE.cpp. * platform/graphics/angle/TemporaryANGLESetting.cpp: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: * platform/graphics/cairo/GraphicsContextGLCairo.cpp: Renamed from Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp. * platform/graphics/cairo/ImageBufferCairo.cpp: * platform/graphics/cg/GraphicsContextGLCG.cpp: Renamed from Source/WebCore/platform/graphics/cg/GraphicsContext3DCG.cpp. * platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: Renamed from Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm. * platform/graphics/cocoa/IOSurface.mm: * platform/graphics/cocoa/WebGLLayer.h: * platform/graphics/cocoa/WebGLLayer.mm: * platform/graphics/cpu/arm/GraphicsContextGLNEON.h: Renamed from Source/WebCore/platform/graphics/cpu/arm/GraphicsContext3DNEON.h. * platform/graphics/cv/TextureCacheCV.h: * platform/graphics/cv/TextureCacheCV.mm: * platform/graphics/cv/VideoTextureCopierCV.cpp: * platform/graphics/cv/VideoTextureCopierCV.h: * platform/graphics/egl/GLContextEGL.cpp: * platform/graphics/egl/GLContextEGL.h: * platform/graphics/glx/GLContextGLX.cpp: * platform/graphics/glx/GLContextGLX.h: * platform/graphics/gpu/Texture.cpp: * platform/graphics/gpu/Texture.h: * platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: * platform/graphics/ios/GraphicsContextGLOpenGLESIOS.h: Renamed from Source/WebCore/platform/graphics/ios/GraphicsContext3DIOS.h. * platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.cpp: * platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.h: * platform/graphics/nicosia/texmap/NicosiaGC3DLayer.cpp: * platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h: * platform/graphics/opengl/ExtensionsGLOpenGL.cpp: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp. * platform/graphics/opengl/ExtensionsGLOpenGL.h: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h. * platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp. * platform/graphics/opengl/ExtensionsGLOpenGLCommon.h: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.h. * platform/graphics/opengl/ExtensionsGLOpenGLES.cpp: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.cpp. * platform/graphics/opengl/ExtensionsGLOpenGLES.h: Renamed from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.h. * platform/graphics/opengl/GraphicsContextGLOpenGL.cpp: Added. * platform/graphics/opengl/GraphicsContextGLOpenGL.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3D.h. * platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp: Renamed from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp. * platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp: Renamed from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp. * platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp: Renamed from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp. * platform/graphics/opengl/GraphicsContextGLOpenGLManager.cpp: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp. * platform/graphics/opengl/GraphicsContextGLOpenGLManager.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DManager.h. * platform/graphics/opengl/GraphicsContextGLOpenGLPrivate.cpp: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp. * platform/graphics/opengl/GraphicsContextGLOpenGLPrivate.h: Renamed from Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h. * platform/graphics/opengl/TemporaryOpenGLSetting.cpp: * platform/graphics/opengl/TemporaryOpenGLSetting.h: * platform/graphics/texmap/BitmapTextureGL.cpp: * platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp: Renamed from Source/WebCore/platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp. * platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp: * platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h: * platform/graphics/texmap/TextureMapperGL.cpp: * platform/graphics/win/GraphicsContextGLDirect2D.cpp: Renamed from Source/WebCore/platform/graphics/win/GraphicsContext3DDirect2D.cpp. * testing/Internals.cpp: Source/WebKit: * CMakeLists.txt: * UIProcess/gtk/WaylandCompositor.cpp: (WebKit::WaylandCompositor::initializeEGL): * UIProcess/mac/HighPerformanceGPUManager.cpp: * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::copyVideoTextureToPlatformTexture): * WebProcess/GPU/media/MediaPlayerPrivateRemote.h: * WebProcess/WebPage/WebPage.cpp: * WebProcess/WebPage/mac/WebPageMac.mm: * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::displayConfigurationChanged): Source/WTF: * wtf/FeatureDefines.h: * wtf/Platform.h: Tools: * Scripts/webkitpy/common/config/watchlist: Canonical link: https://commits.webkit.org/218939@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-06 18:52:42 +00:00
2020-01-05 Dean Jackson <dino@apple.com>
Rename GraphicsContext3D to GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=205778
<rdar://problem/58327597>
Reviewed by Sam Weinig.
Rename all the GraphicsContext3D things to GraphicsContextGL
(includes Extensions3D and GRAPHICS_CONTEXT_3D).
GraphicsContext3DBase now becomes GraphicsContextGL.
GraphicsContext3D is now GraphicsContextGLOpenGL (since it represents
the OpenGL implementation of the API).
* Source/CMakeLists.txt:
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWinCairo.cmake:
Add some shared schemes to the WebKit.xcworkspace https://bugs.webkit.org/show_bug.cgi?id=205698 Reviewed by Tim Horton. .: Make WebKit.xcworkspace show the following schemes by default: All Source All Tools WTF JavaScriptCore WebCore WebKit WebKitLegacy DumpRenderTree WebKitTestRunner TestWebKitAPI MiniBrowser MobileMiniBrowser. Also remove the MobileMiniBrowserUITests scheme. * WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme: Source/JavaScriptCore: Make WebKit.xcworkspace show the following schemes by default: All Source All Tools WTF JavaScriptCore WebCore WebKit WebKitLegacy DumpRenderTree WebKitTestRunner TestWebKitAPI MiniBrowser MobileMiniBrowser. Also remove the MobileMiniBrowserUITests scheme. * JavaScriptCore.xcodeproj/xcshareddata/xcschemes/JavaScriptCore.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. Source/WebCore: Make WebKit.xcworkspace show the following schemes by default: All Source All Tools WTF JavaScriptCore WebCore WebKit WebKitLegacy DumpRenderTree WebKitTestRunner TestWebKitAPI MiniBrowser MobileMiniBrowser. Also remove the MobileMiniBrowserUITests scheme. * WebCore.xcodeproj/xcshareddata/xcschemes/WebCore.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. Source/WebKit: Make WebKit.xcworkspace show the following schemes by default: All Source All Tools WTF JavaScriptCore WebCore WebKit WebKitLegacy DumpRenderTree WebKitTestRunner TestWebKitAPI MiniBrowser MobileMiniBrowser. Also remove the MobileMiniBrowserUITests scheme. * WebKit.xcodeproj/xcshareddata/xcschemes/WebKit.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. Source/WebKitLegacy: Make WebKit.xcworkspace show the following schemes by default: All Source All Tools WTF JavaScriptCore WebCore WebKit WebKitLegacy DumpRenderTree WebKitTestRunner TestWebKitAPI MiniBrowser MobileMiniBrowser. Also remove the MobileMiniBrowserUITests scheme. * WebKitLegacy.xcodeproj/xcshareddata/xcschemes/WebKitLegacy.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. Source/WTF: Make WebKit.xcworkspace show the following schemes by default: All Source All Tools WTF JavaScriptCore WebCore WebKit WebKitLegacy DumpRenderTree WebKitTestRunner TestWebKitAPI MiniBrowser MobileMiniBrowser. Also remove the MobileMiniBrowserUITests scheme. * WTF.xcodeproj/xcshareddata/xcschemes/WTF.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. Tools: Make WebKit.xcworkspace show the following schemes by default: All Source All Tools WTF JavaScriptCore WebCore WebKit WebKitLegacy DumpRenderTree WebKitTestRunner TestWebKitAPI MiniBrowser MobileMiniBrowser. Also remove the MobileMiniBrowserUITests scheme. * DumpRenderTree/DumpRenderTree.xcodeproj/xcshareddata/xcschemes/DumpRenderTree.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. * MiniBrowser/MiniBrowser.xcodeproj/xcshareddata/xcschemes/MiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. * TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. * WebKitTestRunner/WebKitTestRunner.xcodeproj/xcshareddata/xcschemes/WebKitTestRunner.xcscheme: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme. Canonical link: https://commits.webkit.org/218885@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-03 19:04:10 +00:00
2020-01-03 Simon Fraser <simon.fraser@apple.com>
Add some shared schemes to the WebKit.xcworkspace
https://bugs.webkit.org/show_bug.cgi?id=205698
Reviewed by Tim Horton.
Make WebKit.xcworkspace show the following schemes by default:
All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.
Also remove the MobileMiniBrowserUITests scheme.
* WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
2019-12-22 Jeff Miller <jeffm@apple.com>
Update user-visible copyright strings to include 2020
https://bugs.webkit.org/show_bug.cgi?id=205552
Reviewed by Darin Adler.
* Source/cmake/tools/scripts/COPYRIGHT-END-YEAR:
2019-12-18 Diego Pino Garcia <dpino@igalia.com>
[GTK][WPE] Renderization of Conic gradients
https://bugs.webkit.org/show_bug.cgi?id=202739
Reviewed by Carlos Alberto Lopez Perez.
* Source/cmake/OptionsGTK.cmake: Enable CSS Conic Gradients.
2019-12-17 ChangSeok Oh <changseok@webkit.org>
[GTK] Suppress undefined USE_OPENGL warnings when USE_ANGLE_WEBGL and USE_OPENGL_ES are enabled.
https://bugs.webkit.org/show_bug.cgi?id=204634
Reviewed by Žan Doberšek.
When USE_ANGLE_WEBGL and USE_OPENGL_ES are enabled, many compiler warnings occur.
This is because USE_OPENGL is defined nowhere if they are enabled.
To fix this, USE_OPENGL is explicitly defined when USE_OPENGL_ES is enabled.
* Source/cmake/OptionsGTK.cmake:
Let the DrawingArea decide whether scrolling is delegated https://bugs.webkit.org/show_bug.cgi?id=205258 Reviewed by Anders Carlsson. .: Let Xcode have its way with the workspace file, after the libANGLE rename. * WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme: Source/WebKit: Delegated scrolling was hardcoded on for iOS WK2 (as it is for iOS WK1) and off for macOS, but if macOS is using RemoteLayerTreeDrawingArea that should also use delegated scrolling. Also make some DrawingArea functions const, and put m_frame->coreFrame()->view() into a local RefPtr in WebFrameLoaderClient::transitionToCommittedForNewPage(). * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): * WebProcess/WebPage/DrawingArea.h: (WebKit::DrawingArea::supportsAsyncScrolling const): (WebKit::DrawingArea::usesDelegatedScrolling const): (WebKit::DrawingArea::shouldUseTiledBackingForFrameView const): (WebKit::DrawingArea::supportsAsyncScrolling): Deleted. (WebKit::DrawingArea::shouldUseTiledBackingForFrameView): Deleted. * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: (WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView const): (WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView): Deleted. * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView const): (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView): Deleted. Canonical link: https://commits.webkit.org/218475@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-12-16 17:42:08 +00:00
2019-12-16 Simon Fraser <simon.fraser@apple.com>
Let the DrawingArea decide whether scrolling is delegated
https://bugs.webkit.org/show_bug.cgi?id=205258
Reviewed by Anders Carlsson.
Let Xcode have its way with the workspace file, after the libANGLE rename.
* WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
2019-12-12 Don Olmstead <don.olmstead@sony.com>
[CMake] Add LibPSL::LibPSL target
https://bugs.webkit.org/show_bug.cgi?id=205149
Reviewed by Michael Catanzaro.
Add a LibPSL target into the FindLibPSL module.
* Source/cmake/FindLibPSL.cmake:
2019-12-11 Don Olmstead <don.olmstead@sony.com>
[CMake] Add OpenJPEG find module
https://bugs.webkit.org/show_bug.cgi?id=204657
Reviewed by Michael Catanzaro.
Add a FindOpenJPEG CMake module. Update GTK and WPE ports to use this and
require v2.2.0 or later. Add support for OpenJPEG in WinCairo port.
* Source/cmake/FindOpenJPEG.cmake: Added.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWinCairo.cmake:
2019-12-11 Don Olmstead <don.olmstead@sony.com>
[CMake] Add HarfBuzz targets
https://bugs.webkit.org/show_bug.cgi?id=205042
Reviewed by Konstantin Tokarev.
Modernize the FindHarfBuzz.cmake module so it creates targets that can be
referenced rather than using HARFBUZZ_LIBRARIES and HARFBUZZ_INCLUDE_DIRS.
Also making ICU a component within the module, and allowing alternate names
for the library to be set by the platform.
* Source/cmake/FindHarfBuzz.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2019-12-03 Fujii Hironori <Hironori.Fujii@sony.com>
Unreviewed, rolling out r253020.
It breaks WinCairo bots.
Reverted changeset:
"[MSVC] Add /experimental:newLambdaProcessor switch for better
C++ conformance"
https://bugs.webkit.org/show_bug.cgi?id=204443
https://trac.webkit.org/changeset/253020
2019-12-02 Fujii Hironori <Hironori.Fujii@sony.com>
[MSVC] Add /experimental:newLambdaProcessor switch for better C++ conformance
https://bugs.webkit.org/show_bug.cgi?id=204443
Reviewed by Alex Christensen.
MSVC has a bug of lambda capture of 'this'. It has caused
compilation errors repeatedly.
* Source/cmake/OptionsMSVC.cmake: Added /experimental:newLambdaProcessor switch.
Remove ENABLE_KEYBOARD_CODE_ATTRIBUTE and ENABLE_KEYBOARD_KEY_ATTRIBUTE macros https://bugs.webkit.org/show_bug.cgi?id=204666 .: Reviewed by Ross Kirsling and Don Olmstead. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: Reviewed by Ross Kirsling and Don Olmstead. * Configurations/FeatureDefines.xcconfig: Source/WebCore: Reviewed by Ross Kirsling and Don Olmstead. No behavior change. * Configurations/FeatureDefines.xcconfig: * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::KeyboardEvent): (WebCore::KeyboardEvent::initKeyboardEvent): * dom/KeyboardEvent.h: * dom/KeyboardEvent.idl: * platform/PlatformKeyboardEvent.h: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): (WebCore::PlatformKeyboardEvent::keyIdentifier const): (WebCore::PlatformKeyboardEvent::key const): (WebCore::PlatformKeyboardEvent::code const): Source/WebCore/PAL: Reviewed by Ross Kirsling and Don Olmstead. * Configurations/FeatureDefines.xcconfig: Source/WebKit: No behavior change. * Configurations/FeatureDefines.xcconfig: * Shared/WebEvent.h: (WebKit::WebKeyboardEvent::unmodifiedText const): (WebKit::WebKeyboardEvent::key const): (WebKit::WebKeyboardEvent::code const): * Shared/WebEventConversion.cpp: (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent): * Shared/WebKeyboardEvent.cpp: (WebKit::WebKeyboardEvent::WebKeyboardEvent): (WebKit::WebKeyboardEvent::encode const): (WebKit::WebKeyboardEvent::decode): * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::generateSyntheticEditingCommand): Source/WebKitLegacy/mac: Reviewed by Ross Kirsling and Don Olmstead. * Configurations/FeatureDefines.xcconfig: Source/WTF: Reviewed by Ross Kirsling and Don Olmstead. * wtf/FeatureDefines.h: Tools: Reviewed by Ross Kirsling and Don Olmstead. * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/217909@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-29 06:53:21 +00:00
2019-11-28 Fujii Hironori <Hironori.Fujii@sony.com>
Remove ENABLE_KEYBOARD_CODE_ATTRIBUTE and ENABLE_KEYBOARD_KEY_ATTRIBUTE macros
https://bugs.webkit.org/show_bug.cgi?id=204666
Reviewed by Ross Kirsling and Don Olmstead.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
2019-11-27 Alejandro G. Castro <alex@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.27.3 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2019-11-26 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.27.3 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
[GTK] Add ANGLE backend to GTK port https://bugs.webkit.org/show_bug.cgi?id=199060 Reviewed by Žan Doberšek. .: This change brings ANGLE support for WebGL to GTK port. USE_ANGLE_WEBGL is newly defined in OptionGTK.cmake, and turns on the USE_ANGLE_EGL flag. * Source/cmake/OptionsGTK.cmake: USE_ANGLE_WEBGL added. Source/ThirdParty/ANGLE: * CMakeLists.txt: When USE_ANGLE_WEBGL is enabled, necessary glesv2 entry points headers are installed in the derived source directory. And then adjust-angle-include-path.sh is applied to change include paths in the entry points header files. * GLESv2.cmake: libglesv2_entry_points_headers is newly defined, which is a gathering of entry point headers of libGLESv2. * PlatformGTK.cmake: In this file, we append gl and glx related angle code as a build target. Since we want gl context and gles context simultaneously, we remove gl prototype calls from the generated libGLESv2 library. Instead, we invoke egl and gl calls of ANGLE via their non-prototype function names. * adjust-angle-include-paths.sh: sed is slightly different in unix and linux systems. In particular, its inplace option needs to be changed for better compatibility on linux. * include/CMakeLists.txt: ANGLE_WEBGL_HEADERS is newly defined. It gathers header files of ANGLE for WebGL support. Source/WebCore: This change aims to bring ANGLE support for WebGL to GTK port. The port wants to have a gl context for texture mapper and a gles/egl context for webgl simultaneously, we adopt the readPixel-copyToTexture approach for now because sharing textures between the two different contextes is not a feasible direction. Also, to avoid conflicts between gl and gles calls, we use non-prototype functions of ANGLE for WebGL context (i.e., GraphicsContext3D). Although many combinations of graphic configurations exist, only default configuration (Nicosia layers running on ANGLE + GLX is supported. Other combinations like ANGLE + GLES or WPE will be covered by following patches. No new tests since no functionality changed. * Headers.cmake: * PlatformGTK.cmake: * SourcesGTK.txt: * platform/TextureMapper.cmake: * platform/graphics/ANGLEWebKitBridge.h: * platform/graphics/GLContext.cpp: * platform/graphics/GLContext.h: * platform/graphics/GraphicsContext3D.h: * platform/graphics/OpenGLShims.cpp: (WebCore::initializeOpenGLShims): * platform/graphics/OpenGLShims.h: * platform/graphics/PlatformDisplay.cpp: * platform/graphics/angle/GraphicsContext3DANGLE.cpp: (WebCore::GraphicsContext3D::reshapeFBOs): (WebCore::GraphicsContext3D::prepareTexture): * platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.cpp: Added. (Nicosia::GC3DANGLELayer::ANGLEContext::errorString): (Nicosia::GC3DANGLELayer::ANGLEContext::lastErrorString): (Nicosia::GC3DANGLELayer::ANGLEContext::createContext): (Nicosia::GC3DANGLELayer::ANGLEContext::ANGLEContext): (Nicosia::GC3DANGLELayer::ANGLEContext::~ANGLEContext): (Nicosia::GC3DANGLELayer::ANGLEContext::makeContextCurrent): (Nicosia::GC3DANGLELayer::ANGLEContext::platformContext): (Nicosia::GC3DANGLELayer::GC3DANGLELayer): (Nicosia::GC3DANGLELayer::~GC3DANGLELayer): (Nicosia::GC3DANGLELayer::makeContextCurrent): (Nicosia::GC3DANGLELayer::platformContext): * platform/graphics/nicosia/texmap/NicosiaGC3DANGLELayer.h: Copied from Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h. * platform/graphics/nicosia/texmap/NicosiaGC3DLayer.cpp: (Nicosia::GC3DLayer::GC3DLayer): (Nicosia::GC3DLayer::swapBuffersIfNeeded): * platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h: * platform/graphics/texmap/BitmapTextureGL.cpp: (WebCore::BitmapTextureGL::setPendingContents): (WebCore::BitmapTextureGL::updatePendingContents): * platform/graphics/texmap/BitmapTextureGL.h: * platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp: (WebCore::GraphicsContext3D::create): (WebCore::GraphicsContext3D::GraphicsContext3D): (WebCore::GraphicsContext3D::~GraphicsContext3D): * platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp: (WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper): * platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp: (WebCore::TextureMapperPlatformLayerProxy::pushNextBuffer): Source/WebKit: * UIProcess/API/glib/WebKitProtocolHandler.cpp: Extention3DANGLE is used instead where ANGLE for WebGL is enabled. * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: Append gl extensions for ANGLE. (WebKit::AcceleratedBackingStoreWayland::checkRequirements): Source/WTF: The GTK port uses TEXTURE_MAPPER that has a gl context for accelerated rendering, and ANGLE has an egl context for WebGL. We want to make both live together so an exception is made where TEXTURE_MAPPER is enabled. * wtf/Platform.h: Canonical link: https://commits.webkit.org/217698@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252717 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-20 23:59:11 +00:00
2019-11-20 ChangSeok Oh <changseok@webkit.org>
[GTK] Add ANGLE backend to GTK port
https://bugs.webkit.org/show_bug.cgi?id=199060
Reviewed by Žan Doberšek.
This change brings ANGLE support for WebGL to GTK port. USE_ANGLE_WEBGL
is newly defined in OptionGTK.cmake, and turns on the USE_ANGLE_EGL flag.
* Source/cmake/OptionsGTK.cmake: USE_ANGLE_WEBGL added.
2019-11-19 Devin Rousso <drousso@apple.com>
Web Inspector: DOM.highlightSelector should work for "div, div::before"
https://bugs.webkit.org/show_bug.cgi?id=204306
Reviewed by Brian Burg.
* ManualTests/inspector/overlay-selectors.html: Added.
[GTK][WPE] Support Pointer Events https://bugs.webkit.org/show_bug.cgi?id=202789 Reviewed by Carlos Garcia Campos. .: Build support for PointerEvents when EXPERIMENTAL_FEATURES is enabled. Currently support for PointerEvents of pointerType==mouse works fine, but support for other type of PointerEvents is missing. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: LayoutTests/imported/w3c: * web-platform-tests/resources/testdriver-vendor.js: The fix for iOS added in r245639 triggers a call to sendEventStream in UIScriptController that crashes on GTK because that function is only implemented for iOS. For Mac this was not an issue because the Mac port doesn't enable TouchEvent support ("createTouch" in document). However TouchEvent support is enabled for GTK. Fix this by only trigerring the call to dispatchTouchActions when TouchEvent support is enabled _and_ its iOS. Source/WebKit: Covered by existing tests. * UIProcess/PageClient.h: Add a ifdef for platform COCOA on two function declarations that depend on the UIGestureRecognizer ObjC type. This is not needed for GTK/WPE code. LayoutTests: Add test expectations for GTK/WPE. * platform/gtk/TestExpectations: * platform/gtk/imported/w3c/web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification-expected.txt: Removed. Now it passes with the general expectation. * platform/gtk/imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-verification-expected.txt: Removed. Now it passes with the general expectation. * platform/wpe/TestExpectations: Update also bug number for PointerLock. Canonical link: https://commits.webkit.org/217421@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-12 16:35:55 +00:00
2019-11-12 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Support Pointer Events
https://bugs.webkit.org/show_bug.cgi?id=202789
Reviewed by Carlos Garcia Campos.
Build support for PointerEvents when EXPERIMENTAL_FEATURES is enabled.
Currently support for PointerEvents of pointerType==mouse works fine,
but support for other type of PointerEvents is missing.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2019-11-12 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Enable CSS Painting API
https://bugs.webkit.org/show_bug.cgi?id=190710
Reviewed by Don Olmstead.
This enables the feature when building with experimental features enabled.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[GTK] Implement support for Pointer Lock API https://bugs.webkit.org/show_bug.cgi?id=202956 Reviewed by Carlos Alberto Lopez Perez. .: Enable Pointer Lock for GTK port. * Source/cmake/OptionsGTK.cmake: Source/WebKit: Add platform specific implementation of Pointer Lock for the GTK port. * PlatformGTK.cmake: Generate code for pointer-constraints and relative-pointer Wayland protocols. * Shared/NativeWebMouseEvent.h: Add optional mouse movement delta. * Shared/gtk/NativeWebMouseEventGtk.cpp: (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): Pass movement delta to WebEventFactory::createWebMouseEvent(). * Shared/gtk/WebEventFactory.cpp: (WebKit::WebEventFactory::createWebMouseEvent): Initialize deltaX and deltaY for motion events using the received delta. * Shared/gtk/WebEventFactory.h: Add optional mouse movement delta. * SourcesGTK.txt: Add new files to compilation. * UIProcess/API/glib/WebKitUIClient.cpp: Add implementation for requestPointerLock and didLosePointerLock. * UIProcess/API/glib/WebKitWebView.cpp: (webkitWebViewRequestPointerLock): Call webkitWebViewBaseRequestPointerLock(). (webkitWebViewDidLosePointerLock): Call webkitWebViewBaseDidLosePointerLock(). * UIProcess/API/glib/WebKitWebViewPrivate.h: * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseDispose): Unlock the pointer and release the PointerLockManager. (webkitWebViewBaseHandleMouseEvent): Initialize the mouse movement delta for motion events and save the current event. (webkitWebViewBaseMotionNotifyEvent): Let PointerLockManager handle motion events while pointer is locked. (webkitWebViewBaseRequestPointerLock): Create a PointerLockManager and request it to lock the pointer. (webkitWebViewBaseDidLosePointerLock): Request PointerLockManager to unlock the pointer. * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/gtk/PointerLockManager.cpp: Added. (WebKit::PointerLockManager::create): (WebKit::PointerLockManager::PointerLockManager): (WebKit::PointerLockManager::~PointerLockManager): (WebKit::PointerLockManager::lock): (WebKit::PointerLockManager::unlock): (WebKit::PointerLockManager::handleMotion): * UIProcess/gtk/PointerLockManager.h: Added. (WebKit::PointerLockManager::didReceiveMotionEvent): * UIProcess/gtk/PointerLockManagerWayland.cpp: Added. (WebKit::PointerLockManagerWayland::PointerLockManagerWayland): (WebKit::PointerLockManagerWayland::~PointerLockManagerWayland): (WebKit::PointerLockManagerWayland::lock): (WebKit::PointerLockManagerWayland::unlock): * UIProcess/gtk/PointerLockManagerWayland.h: Added. * UIProcess/gtk/PointerLockManagerX11.cpp: Added. (WebKit::PointerLockManagerX11::PointerLockManagerX11): (WebKit::PointerLockManagerX11::didReceiveMotionEvent): * UIProcess/gtk/PointerLockManagerX11.h: Added. Tools: * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp: (WTR::getGDKKeySymForKeyRef): Handle escape key. LayoutTests: Unskip Pointer Lock tests and update expectations for tests still failing. * platform/gtk/TestExpectations: * platform/gtk/pointer-lock/mouse-event-delivery-expected.txt: Added. Canonical link: https://commits.webkit.org/217241@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-06 08:06:32 +00:00
2019-11-06 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Implement support for Pointer Lock API
https://bugs.webkit.org/show_bug.cgi?id=202956
Reviewed by Carlos Alberto Lopez Perez.
Enable Pointer Lock for GTK port.
* Source/cmake/OptionsGTK.cmake:
.: [Win][CMake] Build WebCore as an OBJECT library for WinCairo port https://bugs.webkit.org/show_bug.cgi?id=203663 Reviewed by Ross Kirsling. WebCore is using __declspec(dllexport) to export symbols, but it is built as a static library rather than a DLL. If any symbols in an object file aren't referenced from WebKit.dll, they won't be included in WebKit.dll. This issue can be solved either by using OBJECT library for WebCore or using /WHOLEARCHIVE:WebCore.lib for WebKit. This change takes OBJECT library approach becuase it doesn't generate unnecessary static libs (WebCore.lib) and it's already used for non-unified source builds for the library size issue (Bug 196866 Comment 4). However, AppleWin can't use it because the Apple internal builds need to generate the static libs and OBJECT library doesn't work well with makesafeseh.obj. * Source/cmake/OptionsWin.cmake: Removed code overriding library types. * Source/cmake/OptionsWinCairo.cmake: Use OBJECT library types for WebCore and WebCoreTestSupport. Source/WebCore: [Win][CMake] Build WebCore as an OBJECT library unless Apple internal builds https://bugs.webkit.org/show_bug.cgi?id=203663 Reviewed by Ross Kirsling. No behavioral changes. * CMakeLists.txt: Changed WebCoreTestSupport not to link with WebCore for Windows. Because WebKit.dll exports WebCore symbols, they will be duplicated with WebCore. Canonical link: https://commits.webkit.org/217231@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252086 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-05 22:57:46 +00:00
2019-11-05 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][CMake] Build WebCore as an OBJECT library for WinCairo port
https://bugs.webkit.org/show_bug.cgi?id=203663
Reviewed by Ross Kirsling.
WebCore is using __declspec(dllexport) to export symbols, but it
is built as a static library rather than a DLL. If any symbols in
an object file aren't referenced from WebKit.dll, they won't be
included in WebKit.dll.
This issue can be solved either by using OBJECT library for
WebCore or using /WHOLEARCHIVE:WebCore.lib for WebKit.
This change takes OBJECT library approach becuase it doesn't
generate unnecessary static libs (WebCore.lib) and it's already
used for non-unified source builds for the library size issue (Bug
196866 Comment 4).
However, AppleWin can't use it because the Apple internal builds
need to generate the static libs and OBJECT library doesn't work
well with makesafeseh.obj.
* Source/cmake/OptionsWin.cmake: Removed code overriding library types.
* Source/cmake/OptionsWinCairo.cmake: Use OBJECT library types for WebCore and WebCoreTestSupport.
Web Inspector: Add diagnostic logging for frontend feature usage https://bugs.webkit.org/show_bug.cgi?id=203579 <rdar://problem/56717410> Reviewed by Brian Burg. .: Original patch by Matt Baker <mattbaker@apple.com>. * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS. Source/JavaScriptCore: Original patch by Matt Baker <mattbaker@apple.com>. * Configurations/FeatureDefines.xcconfig: Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS. Source/WebCore: Add `InspectorFrontendHost` API for logging diagnostic events from the Web Inspector UI. An event consists of a message string, such as "TabActivity" or "SettingChanged", and a dictionary payload encoded as a JSON string. Original patch by Matt Baker. * inspector/InspectorFrontendHost.idl: * inspector/InspectorFrontendHost.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::supportsDiagnosticLogging): Added. (WebCore::valuePayloadFromJSONValue): Added. (WebCore::InspectorFrontendHost::logDiagnosticEvent): Added. * inspector/InspectorFrontendClient.h: (WebCore::InspectorFrontendClient::supportsDiagnosticLogging): Added. (WebCore::InspectorFrontendClient::logDiagnosticEvent): Added. * Configurations/FeatureDefines.xcconfig: Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS. Source/WebCore/PAL: Original patch by Matt Baker <mattbaker@apple.com>. * Configurations/FeatureDefines.xcconfig: Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS. Source/WebInspectorUI: Add a `DiagnosticController` class for reporting Web Inspector telemetry. The controller initially measures a single "TabActivity" data point, which logs the active tab during the specified time interval (one minute). If the UI is not active during the time interval, no logging takes place. The UI is considered to be active if mouse/keyboard interaction occurs during the time interval, or the selected `TabContentView` changes. Original patch by Matt Baker <mattbaker@apple.com>. * UserInterface/Controllers/DiagnosticController.js: Added. (WI.DiagnosticController): (WI.DiagnosticController.supportsDiagnosticLogging): (WI.DiagnosticController.prototype.logDiagnosticMessage): (WI.DiagnosticController.prototype._didInteractWithTabContent): (WI.DiagnosticController.prototype._clearTabActivityTimeout): (WI.DiagnosticController.prototype._beginTabActivityTimeout): (WI.DiagnosticController.prototype._stopTrackingTabActivity): (WI.DiagnosticController.prototype._handleWindowFocus): (WI.DiagnosticController.prototype._handleWindowBlur): (WI.DiagnosticController.prototype._handleWindowKeyDown): (WI.DiagnosticController.prototype._handleWindowMouseDown): (WI.DiagnosticController.prototype._handleTabBrowserSelectedTabContentViewDidChange): * UserInterface/Main.html: * UserInterface/Base/Main.js: (WI.contentLoaded): Source/WebKit: This patch enables diagnostic logging for the Web Inspector web process and adds the necessary `InspectorFrontendClient` plumbing to `WebInspectorUI`. Original patch by Matt Baker <mattbaker@apple.com>. * WebProcess/WebPage/WebInspectorUI.h: * WebProcess/WebPage/WebInspectorUI.cpp: (WebKit::WebInspectorUI::supportsDiagnosticLogging): Added. (WebKit::WebInspectorUI::logDagnosticEvent): Added. * WebProcess/WebPage/RemoteWebInspectorUI.h: * WebProcess/WebPage/RemoteWebInspectorUI.cpp: (WebKit::RemoteWebInspectorUI::supportsDiagnosticLogging): Added. (WebKit::RemoteWebInspectorUI::logDiagnosticEvent): Added. * UIProcess/mac/WKInspectorViewController.mm: (-[WKInspectorViewController configuration]): Default to enabling diagnostic logging for the Web Inspector frontend window. * Configurations/FeatureDefines.xcconfig: Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS. Source/WebKitLegacy/mac: Original patch by Matt Baker <mattbaker@apple.com>. * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorFrontendClient::supportsDiagnosticLogging): Added. (WebInspectorFrontendClient::logDiagnosticEvent): Added. * Configurations/FeatureDefines.xcconfig: Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS. Source/WTF: Original patch by Matt Baker <mattbaker@apple.com>. * wtf/FeatureDefines.h: Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS. Tools: Original patch by Matt Baker <mattbaker@apple.com>. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS. Canonical link: https://commits.webkit.org/217131@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-02 07:36:24 +00:00
2019-11-02 Devin Rousso <drousso@apple.com>
Web Inspector: Add diagnostic logging for frontend feature usage
https://bugs.webkit.org/show_bug.cgi?id=203579
<rdar://problem/56717410>
Reviewed by Brian Burg.
Original patch by Matt Baker <mattbaker@apple.com>.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS.
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. Canonical link: https://commits.webkit.org/217114@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-01 21:29:25 +00:00
2019-11-01 Tim Horton <timothy_horton@apple.com>
macCatalyst: Get TestWebKitAPI building
https://bugs.webkit.org/show_bug.cgi?id=203728
Reviewed by Alexey Proskuryakov.
* Makefile:
Descend into Tools/.
2019-10-31 Alex Christensen <achristensen@apple.com>
Enable more features in Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=203699
Rubber-stamped by Tim Horton.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
2019-10-31 Alex Christensen <achristensen@webkit.org>
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:
2019-10-29 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.27.2 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2019-10-28 Carlos Alberto Lopez Perez <clopez@igalia.com>
[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:
Put OffscreenCanvas behind a build flag https://bugs.webkit.org/show_bug.cgi?id=203146 Patch by Chris Lord <clord@igalia.com> on 2019-10-26 Reviewed by Ryosuke Niwa. .: Put OffscreenCanvas behind a build flag and enable building with experimental features on GTK and WPE. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/WebKitFeatures.cmake: LayoutTests/imported/w3c: OffscreenCanvas is disabled by default, adjust expectations accordingly. * web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: * web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: * web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt: * web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt: * web-platform-tests/html/dom/idlharness.https-expected.txt: * web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt: PerformanceTests: * StitchMarker/wtf/FeatureDefines.h: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: No new tests. No behavior changes. * Configurations/FeatureDefines.xcconfig: * bindings/js/JSEventTargetCustom.cpp: * bindings/js/JSOffscreenCanvasRenderingContext2DCustom.cpp: * dom/EventTargetFactory.in: * html/ImageBitmap.idl: * html/OffscreenCanvas.cpp: * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/CanvasRenderingContext.cpp: * html/canvas/ImageBitmapRenderingContext.idl: * html/canvas/OffscreenCanvasRenderingContext2D.cpp: * html/canvas/OffscreenCanvasRenderingContext2D.h: * html/canvas/OffscreenCanvasRenderingContext2D.idl: * html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::canvas): * html/canvas/WebGLRenderingContextBase.h: * html/canvas/WebGLRenderingContextBase.idl: * inspector/agents/InspectorCanvasAgent.cpp: * page/PageConsoleClient.cpp: (WebCore::canvasRenderingContext): * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setImageBitmapEnabled): (WebCore::RuntimeEnabledFeatures::imageBitmapEnabled const): (WebCore::RuntimeEnabledFeatures::setOffscreenCanvasEnabled): (WebCore::RuntimeEnabledFeatures::offscreenCanvasEnabled const): * page/WindowOrWorkerGlobalScope.idl: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: Split the ImageBitmapOffscreenCanvas setting into two separate settings so OffscreenCanvas can be disabled at build time. * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferences.yaml: * Shared/WebPreferencesDefaultValues.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): * WebProcess/WebPage/WebInspectorUI.cpp: (WebKit::WebInspectorUI::WebInspectorUI): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Source/WTF: * wtf/FeatureDefines.h: Tools: Put OffscreenCanvas behind a build flag and enable the runtime setting when running tests on platforms where it's built (GTK and WPE). * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setOffscreenCanvasEnabled): * WebKitTestRunner/InjectedBundle/TestRunner.h: Websites/webkit.org: Update to reflect split ImageBitmapOffscreenCanvas settings. * experimental-features.html: LayoutTests: OffscreenCanvas is disabled by default except on GTK/WPE. Adjust test expectations accordingly. * TestExpectations: * platform/gtk/TestExpectations: * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt. * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt. * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt. * platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt. * platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt. * platform/gtk/imported/w3c/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt. * platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: * platform/ios/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt: * platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: * platform/wpe/TestExpectations: * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt. * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt. * platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt: Renamed from LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt. * platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt. * platform/wpe/imported/w3c/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window-expected.txt. Canonical link: https://commits.webkit.org/216857@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-26 07:12:47 +00:00
2019-10-26 Chris Lord <clord@igalia.com>
Put OffscreenCanvas behind a build flag
https://bugs.webkit.org/show_bug.cgi?id=203146
Reviewed by Ryosuke Niwa.
Put OffscreenCanvas behind a build flag and enable building with
experimental features on GTK and WPE.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:
2019-10-22 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.27.2 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2019-10-22 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Enable service workers by default
https://bugs.webkit.org/show_bug.cgi?id=200815
Reviewed by Carlos Garcia Campos.
Flip the build-time switch to be enabled by default and not only
when building with experimental features enabled.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[MSE][GStreamer] Revert WebKitMediaSrc rework temporarily https://bugs.webkit.org/show_bug.cgi?id=203078 Reviewed by Carlos Garcia Campos. .: * Source/cmake/GStreamerChecks.cmake: Source/WebCore: While the WebKitMediaSrc rework fixed a number of tests and introduced design improvements in MSE, it also exposed a number of bugs related to the playbin3 switch. Fixing these has been turned tricky, so in order to not keep known user-facing bugs, I'm reverting it for now until a workable solution is available. * platform/GStreamer.cmake: * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: (WTF::refGPtr<GstMiniObject>): Deleted. (WTF::derefGPtr<GstMiniObject>): Deleted. * platform/graphics/gstreamer/GRefPtrGStreamer.h: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::playbackPosition const): (WebCore::MediaPlayerPrivateGStreamer::changePipelineState): (WebCore::MediaPlayerPrivateGStreamer::paused const): (WebCore::MediaPlayerPrivateGStreamer::updateTracks): (WebCore::MediaPlayerPrivateGStreamer::enableTrack): (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): (WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChangedCallback): (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps): (WebCore::MediaPlayerPrivateGStreamer::sourceSetup): (WebCore::MediaPlayerPrivateGStreamer::handleSyncMessage): (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: (WebCore::MediaPlayerPrivateGStreamer::configurePlaySink): (WebCore::MediaPlayerPrivateGStreamer::invalidateCachedPosition): Deleted. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize const): (WebCore::MediaPlayerPrivateGStreamerBase::sizeChanged): (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): (WebCore::MediaPlayerPrivateGStreamerBase::naturalSizeFromCaps const): Deleted. (WebCore::MediaPlayerPrivateGStreamerBase::doSamplesHaveDifferentNaturalSizes const): Deleted. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: * platform/graphics/gstreamer/MediaSampleGStreamer.cpp: (WebCore::MediaSampleGStreamer::MediaSampleGStreamer): * platform/graphics/gstreamer/mse/AppendPipeline.cpp: (WebCore::AppendPipeline::appsinkNewSample): (WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink): * platform/graphics/gstreamer/mse/AppendPipeline.h: (WebCore::AppendPipeline::appsinkCaps): (WebCore::AppendPipeline::track): (WebCore::AppendPipeline::streamType): * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp: (WebCore::MediaPlayerPrivateGStreamerMSE::~MediaPlayerPrivateGStreamerMSE): (WebCore::MediaPlayerPrivateGStreamerMSE::load): (WebCore::MediaPlayerPrivateGStreamerMSE::pause): (WebCore::MediaPlayerPrivateGStreamerMSE::seek): (WebCore::MediaPlayerPrivateGStreamerMSE::configurePlaySink): (WebCore::MediaPlayerPrivateGStreamerMSE::changePipelineState): (WebCore::MediaPlayerPrivateGStreamerMSE::notifySeekNeedsDataForTime): (WebCore::MediaPlayerPrivateGStreamerMSE::doSeek): (WebCore::MediaPlayerPrivateGStreamerMSE::maybeFinishSeek): (WebCore::MediaPlayerPrivateGStreamerMSE::updatePlaybackRate): (WebCore::MediaPlayerPrivateGStreamerMSE::seeking const): (WebCore::MediaPlayerPrivateGStreamerMSE::setReadyState): (WebCore::MediaPlayerPrivateGStreamerMSE::waitForSeekCompleted): (WebCore::MediaPlayerPrivateGStreamerMSE::seekCompleted): (WebCore::MediaPlayerPrivateGStreamerMSE::sourceSetup): (WebCore::MediaPlayerPrivateGStreamerMSE::updateStates): (WebCore::MediaPlayerPrivateGStreamerMSE::asyncStateChangeDone): (WebCore::MediaPlayerPrivateGStreamerMSE::mediaSourceClient): (WebCore::MediaPlayerPrivateGStreamerMSE::unblockDurationChanges): (WebCore::MediaPlayerPrivateGStreamerMSE::durationChanged): (WebCore::MediaPlayerPrivateGStreamerMSE::trackDetected): (WebCore::MediaPlayerPrivateGStreamerMSE::markEndOfStream): (WebCore::MediaPlayerPrivateGStreamerMSE::currentMediaTime const): (WebCore::MediaPlayerPrivateGStreamerMSE::play): Deleted. (WebCore::MediaPlayerPrivateGStreamerMSE::reportSeekCompleted): Deleted. (WebCore::MediaPlayerPrivateGStreamerMSE::didEnd): Deleted. * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h: * platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp: (WebCore::MediaSourceClientGStreamerMSE::addSourceBuffer): (WebCore::MediaSourceClientGStreamerMSE::markEndOfStream): (WebCore::MediaSourceClientGStreamerMSE::removedFromMediaSource): (WebCore::MediaSourceClientGStreamerMSE::flush): (WebCore::MediaSourceClientGStreamerMSE::enqueueSample): (WebCore::MediaSourceClientGStreamerMSE::allSamplesInTrackEnqueued): (WebCore::MediaSourceClientGStreamerMSE::isReadyForMoreSamples): Deleted. (WebCore::MediaSourceClientGStreamerMSE::notifyClientWhenReadyForMoreSamples): Deleted. * platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h: * platform/graphics/gstreamer/mse/MediaSourceGStreamer.cpp: (WebCore::MediaSourceGStreamer::markEndOfStream): (WebCore::MediaSourceGStreamer::unmarkEndOfStream): (WebCore::MediaSourceGStreamer::waitForSeekCompleted): (WebCore::MediaSourceGStreamer::seekCompleted): * platform/graphics/gstreamer/mse/MediaSourceGStreamer.h: * platform/graphics/gstreamer/mse/PlaybackPipeline.cpp: Added. (getStreamByTrackId): (getStreamBySourceBufferPrivate): (pushSample): (WebCore::PlaybackPipeline::setWebKitMediaSrc): (WebCore::PlaybackPipeline::webKitMediaSrc): (WebCore::PlaybackPipeline::addSourceBuffer): (WebCore::PlaybackPipeline::removeSourceBuffer): (WebCore::PlaybackPipeline::attachTrack): (WebCore::PlaybackPipeline::reattachTrack): (WebCore::PlaybackPipeline::notifyDurationChanged): (WebCore::PlaybackPipeline::markEndOfStream): (WebCore::PlaybackPipeline::flush): (WebCore::PlaybackPipeline::enqueueSample): (WebCore::PlaybackPipeline::allSamplesInTrackEnqueued): (WebCore::PlaybackPipeline::pipeline): * platform/graphics/gstreamer/mse/PlaybackPipeline.h: Copied from Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h. * platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp: (WebCore::SourceBufferPrivateGStreamer::enqueueSample): (WebCore::SourceBufferPrivateGStreamer::isReadyForMoreSamples): (WebCore::SourceBufferPrivateGStreamer::setReadyForMoreSamples): (WebCore::SourceBufferPrivateGStreamer::notifyReadyForMoreSamples): (WebCore::SourceBufferPrivateGStreamer::notifyClientWhenReadyForMoreSamples): * platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h: * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp: (disabledAppsrcNeedData): (disabledAppsrcEnoughData): (disabledAppsrcSeekData): (enabledAppsrcEnoughData): (enabledAppsrcSeekData): (getStreamByAppsrc): (webkitMediaSrcChain): (webkit_media_src_init): (webKitMediaSrcFinalize): (webKitMediaSrcSetProperty): (webKitMediaSrcGetProperty): (webKitMediaSrcDoAsyncStart): (webKitMediaSrcDoAsyncDone): (webKitMediaSrcChangeState): (webKitMediaSrcGetSize): (webKitMediaSrcQueryWithParent): (webKitMediaSrcUpdatePresentationSize): (webKitMediaSrcLinkStreamToSrcPad): (webKitMediaSrcLinkSourcePad): (webKitMediaSrcFreeStream): (webKitMediaSrcCheckAllTracksConfigured): (webKitMediaSrcUriGetType): (webKitMediaSrcGetProtocols): (webKitMediaSrcGetUri): (webKitMediaSrcSetUri): (webKitMediaSrcUriHandlerInit): (seekNeedsDataMainThread): (notifyReadyForMoreSamplesMainThread): (webKitMediaSrcSetMediaPlayerPrivate): (webKitMediaSrcSetReadyForSamples): (webKitMediaSrcPrepareSeek): (WebKitMediaSrcPrivate::streamByName): Deleted. (): Deleted. (WTF::refGPtr<WebKitMediaSrcPad>): Deleted. (WTF::derefGPtr<WebKitMediaSrcPad>): Deleted. (webkit_media_src_pad_class_init): Deleted. (Stream::Stream): Deleted. (Stream::StreamingMembers::StreamingMembers): Deleted. (Stream::StreamingMembers::durationEnqueued const): Deleted. (findPipeline): Deleted. (webkit_media_src_class_init): Deleted. (debugProbe): Deleted. (copyCollectionAndAddStream): Deleted. (copyCollectionWithoutStream): Deleted. (gstStreamType): Deleted. (webKitMediaSrcAddStream): Deleted. (webKitMediaSrcRemoveStream): Deleted. (webKitMediaSrcActivateMode): Deleted. (webKitMediaSrcPadLinked): Deleted. (webKitMediaSrcStreamNotifyLowWaterLevel): Deleted. (webKitMediaSrcLoop): Deleted. (webKitMediaSrcEnqueueObject): Deleted. (webKitMediaSrcEnqueueSample): Deleted. (webKitMediaSrcEnqueueEvent): Deleted. (webKitMediaSrcEndOfStream): Deleted. (webKitMediaSrcIsReadyForMoreSamples): Deleted. (webKitMediaSrcNotifyWhenReadyForMoreSamples): Deleted. (webKitMediaSrcStreamFlushStart): Deleted. (webKitMediaSrcStreamFlushStop): Deleted. (webKitMediaSrcFlush): Deleted. (webKitMediaSrcSeek): Deleted. (countStreamsOfType): Deleted. * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.h: * platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamerPrivate.h: Added. Tools: * Scripts/webkitpy/style/checker.py: LayoutTests: * platform/gtk/TestExpectations: Canonical link: https://commits.webkit.org/216603@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-21 13:28:49 +00:00
2019-10-21 Alicia Boya García <aboya@igalia.com>
[MSE][GStreamer] Revert WebKitMediaSrc rework temporarily
https://bugs.webkit.org/show_bug.cgi?id=203078
Reviewed by Carlos Garcia Campos.
* Source/cmake/GStreamerChecks.cmake:
2019-10-11 Konstantin Tokarev <annulen@yandex.ru>
[cmake] Use HINTS instead of PATHS when searching in paths from pkg-config
https://bugs.webkit.org/show_bug.cgi?id=202831
Reviewed by Carlos Garcia Campos.
HINTS and PATHS sections are similar, however HINTS is processed before
default system locations, while PATHS - after. If target file can be found
in the system, pkg-config results are ignored in case of PATHS, making it
impossible to override system version of library with PKG_CONFIG_PATH.
Note that CMake documentation recommends using PATHS for hard-coded guesses.
* Source/cmake/FindEnchant.cmake:
* Source/cmake/FindFontconfig.cmake:
* Source/cmake/FindLibEpoxy.cmake:
* Source/cmake/FindLibtasn1.cmake:
* Source/cmake/FindSqlite.cmake:
2019-10-08 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.27.1 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2019-10-04 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.27.1 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2019-10-02 Alex Christensen <achristensen@webkit.org>
CMake-built WebKit.framework should launch XPC services successfully
https://bugs.webkit.org/show_bug.cgi?id=202490
Rubber-stamped by Tim Horton.
* Source/cmake/OptionsMac.cmake:
[GTK][WPE] Stop using legacy custom protocol implementation https://bugs.webkit.org/show_bug.cgi?id=202407 Reviewed by Žan Doberšek. .: Make LEGACY_CUSTOM_PROTOCOL_MANAGER disabled by default. * Source/cmake/OptionsFTW.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: Source/WebCore: Remove the code to setup custom protocols in soup session. * platform/network/soup/SoupNetworkSession.cpp: (WebCore::SoupNetworkSession::SoupNetworkSession): * platform/network/soup/SoupNetworkSession.h: Source/WebKit: Use the new approach, which is simpler and doesn't require to go to the network process to load custom protocols. * NetworkProcess/CustomProtocols/soup/LegacyCustomProtocolManagerSoup.cpp: Removed. * NetworkProcess/NetworkProcess.cpp: (WebKit::m_messagePortChannelRegistry): * NetworkProcess/soup/WebKitSoupRequestInputStream.cpp: Removed. * NetworkProcess/soup/WebKitSoupRequestInputStream.h: Removed. * PlatformGTK.cmake: * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitCustomProtocolManagerClient.cpp: Removed. * UIProcess/API/glib/WebKitCustomProtocolManagerClient.h: Removed. * UIProcess/API/glib/WebKitURISchemeRequest.cpp: (webkitURISchemeRequestCreate): (webkit_uri_scheme_request_get_scheme): (webkit_uri_scheme_request_get_uri): (webkit_uri_scheme_request_get_path): (webkit_uri_scheme_request_get_web_view): (webkitURISchemeRequestReadCallback): (webkit_uri_scheme_request_finish_error): * UIProcess/API/glib/WebKitURISchemeRequestPrivate.h: * UIProcess/API/glib/WebKitWebContext.cpp: (webkitWebContextConstructed): (webkitWebContextDispose): (webkit_web_context_register_uri_scheme): (webkitWebContextCreatePageForWebView): * UIProcess/API/glib/WebKitWebContextPrivate.h: * UIProcess/WebURLSchemeTask.h: (WebKit::WebURLSchemeTask::request const): * UIProcess/soup/WebProcessPoolSoup.cpp: Tools: Remove the tests to check failure after committed, because it's not possible to test it with current code. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: (testWebContextURIScheme): Canonical link: https://commits.webkit.org/215965@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-02 08:00:33 +00:00
2019-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Stop using legacy custom protocol implementation
https://bugs.webkit.org/show_bug.cgi?id=202407
Reviewed by Žan Doberšek.
Make LEGACY_CUSTOM_PROTOCOL_MANAGER disabled by default.
* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
2019-10-02 Zan Dobersek <zdobersek@igalia.com>
[Nicosia] Enable async scrolling at build-time for Nicosia-using ports
https://bugs.webkit.org/show_bug.cgi?id=202397
Reviewed by Carlos Garcia Campos.
Enable ASYNC_SCROLLING code for ports leveraging the Nicosia layering
system. This still has to be runtime-enabled in the DrawingArea
implementation.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
2019-09-30 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=202384
Rubber-stamped by Tim Horton.
* Source/cmake/OptionsMac.cmake:
2019-09-30 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add about:gpu
https://bugs.webkit.org/show_bug.cgi?id=202305
Reviewed by Žan Doberšek.
Add SVN_REVISION definition to the build.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
run-web-platform-tests: remove support for in-repository manifest, expectation management https://bugs.webkit.org/show_bug.cgi?id=202037 Reviewed by Carlos Alberto Lopez Perez. .: Remove the test expecations JSON and test manifest file that were used for managing and generating the necessary wptrunner metadata. * WebPlatformTests/gtk/TestExpectations.json: Removed. * WebPlatformTests/gtk/TestManifest.ini: Removed. Tools: Instead of keeping wpt metadata inside the WebKit repository or have it generated on-the-fly, provide additional option flags for the run-web-platform-tests script that allows detailed specification of the metadata, manifest and include manifest locations, if necessary. If the metadata location is not provided, the wptrunner tool will simply not rely on any metadata to adjust expected results. With no manifest path specified, the manifest will be generated inside the wpt checkout. If no include manifest is specified, all the tests will be initially selected for running (until they're possibly filtered through additional command line arguments). * Scripts/webkitpy/common/config/ports_mock.py: (MockPort.run_bindings_tests_command): (MockPort.wpt_metadata_directory): Deleted. (MockPort.wpt_manifest_file): Deleted. * Scripts/webkitpy/port/base.py: (Port.default_results_directory): (Port.wpt_metadata_directory): Deleted. (Port.wpt_manifest_file): Deleted. * Scripts/webkitpy/w3c/wpt_runner.py: (parse_args): (WPTRunner.prepare_wpt_checkout): (WPTRunner.run): (WPTRunner._generate_metadata_directory): Deleted. (WPTRunner._wpt_run_paths): Deleted. * Scripts/webkitpy/w3c/wpt_runner_unittest.py: (WPTRunnerTest.TestInstance.__init__): (WPTRunnerTest.test_prepare_wpt_checkout_specified_path): (WPTRunnerTest.test_run): (WPTRunnerTest.test_run_with_specified_options): (WPTRunnerTest.test_run_with_args): (WPTRunnerTest.TestInstance.prepare_mock_files_for_run): Deleted. (WPTRunnerTest.test_generate_metadata_directory): Deleted. Canonical link: https://commits.webkit.org/215738@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-09-24 06:16:41 +00:00
2019-09-23 Zan Dobersek <zdobersek@igalia.com>
run-web-platform-tests: remove support for in-repository manifest, expectation management
https://bugs.webkit.org/show_bug.cgi?id=202037
Reviewed by Carlos Alberto Lopez Perez.
Remove the test expecations JSON and test manifest file that were used
for managing and generating the necessary wptrunner metadata.
* WebPlatformTests/gtk/TestExpectations.json: Removed.
* WebPlatformTests/gtk/TestManifest.ini: Removed.
2019-09-20 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Bump WPE version numbers.
* Source/cmake/OptionsWPE.cmake:
2019-09-17 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][curl] Define NOCRYPT to suppress libressl "Warning, overriding WinCrypt defines"
https://bugs.webkit.org/show_bug.cgi?id=201858
Reviewed by Alex Christensen.
LibreSSL headers are reporing a compilation warning for overriding
WinCrypt defines. Define NOCRYPT to let windows.h not to include
WinCrypt for WinCairo port.
* Source/cmake/OptionsWinCairo.cmake: Added -DNOCRYPT.
2019-09-15 Adrian Perez de Castro <aperez@igalia.com>
[GTK][WPE] Do not run the Bubblewrap executable when configuring for cross-compilation
https://bugs.webkit.org/show_bug.cgi?id=201340
Reviewed by Konstantin Tokarev.
* Source/cmake/BubblewrapSandboxChecks.cmake: Do not run the
Bubblewrap executable when cross-compiling to guess its version.
Emit a warning instead and trust that valid run-time paths will
be set using the BWRAP_EXECUTABLE and DBUS_PROXY_EXECUTABLE
variables. While at it, fix the regular expression used to match
the version string in the Bubblewrap output when not cross-compiling.
2019-09-09 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Bump GTK version numbers
* Source/cmake/OptionsGTK.cmake:
2019-08-23 Alex Christensen <achristensen@webkit.org>
Remove NPAPI Examples
https://bugs.webkit.org/show_bug.cgi?id=201089
Reviewed by Alexey Proskuryakov.
We are only supporting NPAPI for flash until its upcoming end of life.
We don't need to encourage the creation of new NPAPI plugins by having examples.
* Examples: Removed.
2019-08-21 Adrian Perez de Castro <aperez@igalia.com>
[GTK][WPE] Gtk-Doc fails with build options which need cooperation between CFLAGS and LDFLAGS
https://bugs.webkit.org/show_bug.cgi?id=200987
Reviewed by Philippe Normand.
Only CFLAGS was being set before trying to generate the documentation
but not LDFLAGS, which could cause errors when gtk-doc tries to link
a generated program when the compiler flags would also require usage
of certain linker flags later on.
* Source/cmake/GtkDoc.cmake: Also set LDFLAGS in the environment when
invoking Tools/gtkdoc/generate-gtkdoc.
2019-08-16 Ross Kirsling <ross.kirsling@sony.com>
[Win] WebCoreTestSupport is too big to link
https://bugs.webkit.org/show_bug.cgi?id=200820
Reviewed by Don Olmstead.
* Source/cmake/OptionsWin.cmake:
As with WebCore itself, build WebCoreTestSupport as an object library when unified builds are disabled
(and we haven't explicitly asked to build it as a shared library).
[FTW] Get WebKit, WebKit2, and MiniBrowser building and executing https://bugs.webkit.org/show_bug.cgi?id=200539 .: <rdar://problem/54082550> Reviewed by Dean Jackson. * Source/cmake/OptionsFTW.cmake: Source/ThirdParty/ANGLE: Reviewed by Dean Jackson. * PlatformFTW.cmake: Added. Source/WebCore: <rdar://problem/54082550> Reviewed by Dean Jackson. * platform/graphics/win/BackingStoreBackendDirect2D.h: (WebCore::BackingStoreBackendDirect2D::renderTarget const): (WebCore::BackingStoreBackendDirect2D::surface const): (): Deleted. * platform/graphics/win/BackingStoreBackendDirect2DImpl.cpp: (WebCore::BackingStoreBackendDirect2DImpl::~BackingStoreBackendDirect2DImpl): (WebCore::BackingStoreBackendDirect2DImpl::scroll): (WebCore::createDirect2DImageSurfaceWithFastMalloc): Deleted. * platform/graphics/win/BackingStoreBackendDirect2DImpl.h: * platform/graphics/win/DIBPixelData.cpp: (WebCore::DIBPixelData::DIBPixelData): * platform/graphics/win/DIBPixelData.h: * platform/graphics/win/Direct2DOperations.cpp: (WebCore::Direct2D::fillRectWithRoundedHole): (WebCore::Direct2D::fillRectWithGradient): (WebCore::Direct2D::drawGlyphs): (WebCore::Direct2D::PlatformContextStateSaver::PlatformContextStateSaver): Deleted. (WebCore::Direct2D::PlatformContextStateSaver::~PlatformContextStateSaver): Deleted. (WebCore::Direct2D::PlatformContextStateSaver::save): Deleted. (WebCore::Direct2D::PlatformContextStateSaver::restore): Deleted. (WebCore::Direct2D::PlatformContextStateSaver::didSave const): Deleted. * platform/graphics/win/Direct2DOperations.h: * platform/graphics/win/Direct2DUtilities.cpp: (WebCore::Direct2D::bitmapSize): (WebCore::Direct2D::bitmapResolution): (WebCore::Direct2D::createWicBitmap): (WebCore::Direct2D::createBitmap): (WebCore::Direct2D::createGDIRenderTarget): (WebCore::Direct2D::copyRectFromOneSurfaceToAnother): * platform/graphics/win/Direct2DUtilities.h: * platform/graphics/win/GraphicsContextDirect2D.cpp: (WebCore::GraphicsContext::GraphicsContext): (WebCore::GraphicsContext::platformContext const): (WebCore::GraphicsContextPlatformPrivate::setAlpha): (WebCore::GraphicsContext::savePlatformState): (WebCore::GraphicsContext::restorePlatformState): (WebCore::GraphicsContext::releaseWindowsContext): (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): (WebCore::GraphicsContextPlatformPrivate::beginDraw): (WebCore::GraphicsContextPlatformPrivate::endDraw): (WebCore::GraphicsContext::beginDraw): (WebCore::GraphicsContext::endDraw): (WebCore::GraphicsContext::setCTM): (WebCore::GraphicsContext::isAcceleratedContext const): * platform/graphics/win/GraphicsContextImplDirect2D.cpp: (WebCore::GraphicsContextImplDirect2D::fillRect): (WebCore::GraphicsContextImplDirect2D::fillRectWithRoundedHole): (WebCore::GraphicsContextImplDirect2D::drawGlyphs): * platform/graphics/win/GraphicsContextPlatformPrivateDirect2D.h: (WebCore::GraphicsContextPlatformPrivate::platformContext): * platform/graphics/win/PathDirect2D.cpp: (WebCore::Path::transform): * platform/graphics/win/PlatformContextDirect2D.cpp: (WebCore::PlatformContextDirect2D::beginDraw): (WebCore::PlatformContextDirect2D::endDraw): * platform/graphics/win/PlatformContextDirect2D.h: (WebCore::PlatformContextStateSaver::PlatformContextStateSaver): (WebCore::PlatformContextStateSaver::~PlatformContextStateSaver): (WebCore::PlatformContextStateSaver::save): (WebCore::PlatformContextStateSaver::restore): (WebCore::PlatformContextStateSaver::didSave const): Source/WebKit: <rdar://problem/54082550> Reviewed by Dean Jackson. * PlatformFTW.cmake: Added. * Shared/ShareableBitmap.h: * Shared/win/ShareableBitmapDirect2D.cpp: Added. * UIProcess/BackingStore.cpp: * UIProcess/BackingStore.h: (WebKit::BackingStore::renderTarget): * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h: * UIProcess/win/BackingStoreDirect2D.cpp: Added. * UIProcess/win/WebInspectorProxyWin.cpp: (WebKit::WebInspectorProxy::inspectorPageURL): (WebKit::WebInspectorProxy::inspectorTestPageURL): (WebKit::WebInspectorProxy::inspectorBaseURL): * UIProcess/win/WebView.cpp: (WebKit::WebView::paint): * UIProcess/win/WebView.h: * WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp: (WebKit::DrawingAreaCoordinatedGraphics::display): * WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h: * WebProcess/WebPage/win/WebInspectorUIWin.cpp: (WebKit::WebInspectorUI::localizedStringsURL): (WebKit::RemoteWebInspectorUI::localizedStringsURL): * WebProcess/win/WebProcessMainWin.cpp: (WebKit::WebProcessMainWin): Source/WebKitLegacy: <rdar://problem/54082550> Reviewed by Dean Jackson. * CMakeLists.txt: * PlatformFTW.cmake: Added. Source/WebKitLegacy/win: <rdar://problem/54082550> Reviewed by Dean Jackson. * AccessibleBase.cpp: (AccessibleBase::get_locale): * CFDictionaryPropertyBag.cpp: (ConvertCFTypeToVariant): (CFDictionaryPropertyBag::Read): (CFDictionaryPropertyBag::Write): * CFDictionaryPropertyBag.h: * COMPropertyBag.h: (HashType>::Read): (HashType>::GetPropertyInfo): * MarshallingHelpers.cpp: * MarshallingHelpers.h: * WebApplicationCache.cpp: * WebArchive.cpp: * WebArchive.h: * WebCache.cpp: * WebCoreSupport/WebFrameLoaderClient.cpp: * WebDatabaseManager.cpp: * WebHistory.cpp: * WebHistoryItem.cpp: * WebKitCOMAPI.cpp: * WebKitCOMAPI.h: * WebKitDLL.cpp: * WebLocalizableStrings.cpp: * WebLocalizableStrings.h: * WebMutableURLRequest.cpp: * WebPreferences.cpp: * WebPreferences.h: * WebView.cpp: * WebView.h: Tools: <rdar://problem/54082550> Reviewed by Dean Jackson. * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: * PlatformFTW.cmake: Added. Canonical link: https://commits.webkit.org/214325@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-08-08 22:03:58 +00:00
2019-08-08 Brent Fulgham <bfulgham@apple.com>
[FTW] Get WebKit, WebKit2, and MiniBrowser building and executing
https://bugs.webkit.org/show_bug.cgi?id=200539
<rdar://problem/54082550>
Reviewed by Dean Jackson.
* Source/cmake/OptionsFTW.cmake:
2019-08-02 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.25.4 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers
[GTK] Datalist element support for TextFieldInputType https://bugs.webkit.org/show_bug.cgi?id=98934 Reviewed by Michael Catanzaro. .: Enable DATALIST_ELEMENT. * Source/cmake/OptionsGTK.cmake: Source/WebCore: Add support for rendering the arrow indicator of text fields having data list. * rendering/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::paintTextField): (WebCore::RenderThemeGtk::adjustListButtonStyle const): (WebCore::RenderThemeGtk::paintListButtonForInput): (WebCore::RenderThemeGtk::adjustSearchFieldStyle const): * rendering/RenderThemeGtk.h: Source/WebKit: Add a WebDataListSuggestionsDropdown implementation for the GTK port using a popup window with a tree view list. * Sources.txt: * SourcesGTK.txt: * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::createDataListSuggestionsDropdown): * UIProcess/API/gtk/PageClientImpl.h: * UIProcess/gtk/WebDataListSuggestionsDropdownGtk.cpp: Added. (WebKit::firstTimeItemSelectedCallback): (WebKit::WebDataListSuggestionsDropdownGtk::WebDataListSuggestionsDropdownGtk): (WebKit::WebDataListSuggestionsDropdownGtk::~WebDataListSuggestionsDropdownGtk): (WebKit::WebDataListSuggestionsDropdownGtk::treeViewRowActivatedCallback): (WebKit::WebDataListSuggestionsDropdownGtk::didSelectOption): (WebKit::WebDataListSuggestionsDropdownGtk::show): (WebKit::WebDataListSuggestionsDropdownGtk::handleKeydownWithIdentifier): (WebKit::WebDataListSuggestionsDropdownGtk::close): * UIProcess/gtk/WebDataListSuggestionsDropdownGtk.h: Copied from Tools/WebKitTestRunner/gtk/UIScriptControllerGtk.h. Tools: Implement UIScriptControllerGtk::isShowingDataListSuggestions. * WebKitTestRunner/gtk/UIScriptControllerGtk.cpp: (WTR::UIScriptControllerGtk::isShowingDataListSuggestions const): * WebKitTestRunner/gtk/UIScriptControllerGtk.h: LayoutTests: Unskip datalist tests for GTK port. * platform/gtk/TestExpectations: Canonical link: https://commits.webkit.org/214080@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-07-31 08:02:09 +00:00
2019-07-31 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Datalist element support for TextFieldInputType
https://bugs.webkit.org/show_bug.cgi?id=98934
Reviewed by Michael Catanzaro.
Enable DATALIST_ELEMENT.
* Source/cmake/OptionsGTK.cmake:
2019-07-24 Fujii Hironori <fujii.hironori@gmail.com>
[CMake] CMAKE_SHARED_LINKER_FLAGS drops "-Wl,--no-undefined"
https://bugs.webkit.org/show_bug.cgi?id=200074
Reviewed by Michael Catanzaro.
Although WebKitCompilerFlags.cmake adds "-Wl,--no-undefined" to
CMAKE_SHARED_LINKER_FLAGS, it wasn't effective because
OptionsCommon.cmake inadvertently override the value with
CMAKE_EXE_LINKER_FLAGS as:
> set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ...")
* Source/cmake/OptionsCommon.cmake: Use string(APPEND) to modify
CMAKE_*_LINKER_FLAGS variables to avoid typos.
2019-07-23 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.25.3 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers
2019-07-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MOUSE_CURSOR_SCALE is not implemented
https://bugs.webkit.org/show_bug.cgi?id=109469
Reviewed by Darin Adler.
Enable MOUSE_CURSOR_SCALE for the GTK port.
* Source/cmake/OptionsGTK.cmake:
[WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF https://bugs.webkit.org/show_bug.cgi?id=199625 Added ENABLE(ACCESSIBILITY) and replaced HAVE(ACCESSIBILITY) with ENABLE(ACCESSIBILITY) in the code. Additionally, the TestRunner code generator now honors the Conditional IDL format. .: Reviewed by Konstantin Tokarev. * Source/cmake/OptionsWPE.cmake: * Source/cmake/WebKitFeatures.cmake: Source/WebCore: No new tests as there is no intended functional change Reviewed by Konstantin Tokarev. * accessibility/AXObjectCache.cpp: * accessibility/AXObjectCache.h: * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::detach): (WebCore::AccessibilityObject::isDetached const): * accessibility/AccessibilityObject.h: * accessibility/atk/AXObjectCacheAtk.cpp: * accessibility/atk/AccessibilityObjectAtk.cpp: * accessibility/atk/WebKitAccessible.cpp: * accessibility/atk/WebKitAccessible.h: * accessibility/atk/WebKitAccessibleHyperlink.cpp: * accessibility/atk/WebKitAccessibleHyperlink.h: * accessibility/atk/WebKitAccessibleInterfaceAction.cpp: * accessibility/atk/WebKitAccessibleInterfaceAction.h: * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp: * accessibility/atk/WebKitAccessibleInterfaceComponent.h: * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp: * accessibility/atk/WebKitAccessibleInterfaceDocument.h: * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp: * accessibility/atk/WebKitAccessibleInterfaceEditableText.h: * accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp: * accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.h: * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp: * accessibility/atk/WebKitAccessibleInterfaceHypertext.h: * accessibility/atk/WebKitAccessibleInterfaceImage.cpp: * accessibility/atk/WebKitAccessibleInterfaceImage.h: * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp: * accessibility/atk/WebKitAccessibleInterfaceSelection.h: * accessibility/atk/WebKitAccessibleInterfaceTable.cpp: * accessibility/atk/WebKitAccessibleInterfaceTable.h: * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp: * accessibility/atk/WebKitAccessibleInterfaceTableCell.h: * accessibility/atk/WebKitAccessibleInterfaceText.cpp: * accessibility/atk/WebKitAccessibleInterfaceText.h: * accessibility/atk/WebKitAccessibleInterfaceValue.cpp: * accessibility/atk/WebKitAccessibleInterfaceValue.h: * accessibility/atk/WebKitAccessibleUtil.cpp: * accessibility/atk/WebKitAccessibleUtil.h: * accessibility/ios/AXObjectCacheIOS.mm: * accessibility/ios/AccessibilityObjectIOS.mm: * accessibility/ios/WebAccessibilityObjectWrapperIOS.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: * accessibility/mac/AXObjectCacheMac.mm: * accessibility/mac/AccessibilityObjectBase.mm: * accessibility/mac/AccessibilityObjectMac.mm: * accessibility/mac/WebAccessibilityObjectWrapperBase.mm: * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: * accessibility/win/AccessibilityObjectWin.cpp: * accessibility/win/AccessibilityObjectWrapperWin.cpp: * dom/Document.cpp: (WebCore::Document::prepareForDestruction): * editing/FrameSelection.h: * editing/atk/FrameSelectionAtk.cpp: * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::setInnerTextValue): * testing/Internals.cpp: (WebCore::Internals::resetToConsistentState): Source/WebKit: Reviewed by Konstantin Tokarev. * UIProcess/API/glib/WebKitWebViewAccessible.cpp: * UIProcess/API/glib/WebKitWebViewAccessible.h: * UIProcess/API/wpe/PageClientImpl.cpp: * UIProcess/API/wpe/PageClientImpl.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): (WKWPE::View::~View): * UIProcess/API/wpe/WPEView.h: * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: (WKAccessibilityRootObject): (WKAccessibilityFocusedObject): (WKAccessibilityEnableEnhancedAccessibility): (WKAccessibilityEnhancedAccessibilityEnabled): * WebProcess/WebPage/WebPage.cpp: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/atk/WebKitWebPageAccessibilityObject.cpp: * WebProcess/WebPage/atk/WebKitWebPageAccessibilityObject.h: * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::platformInitialize): * WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::platformInitialize): * WebProcess/wpe/WebProcessMainWPE.cpp: Source/WebKitLegacy/mac: Reviewed by Konstantin Tokarev. * WebView/WebFrame.mm: (-[WebFrame setAccessibleName:]): (-[WebFrame enhancedAccessibilityEnabled]): (-[WebFrame setEnhancedAccessibility:]): (-[WebFrame accessibilityRoot]): Source/WTF: Reviewed by Konstantin Tokarev. * wtf/FeatureDefines.h: * wtf/Platform.h: Tools: Reviewed by Konstantin Tokarev. * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityTextMarker.idl: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityTextMarkerRange.idl: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: (_generateImplementationFile): Canonical link: https://commits.webkit.org/213602@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-07-11 21:51:24 +00:00
2019-07-11 Pablo Saavedra <psaavedra@igalia.com>
[WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF
https://bugs.webkit.org/show_bug.cgi?id=199625
Added ENABLE(ACCESSIBILITY) and replaced HAVE(ACCESSIBILITY)
with ENABLE(ACCESSIBILITY) in the code.
Additionally, the TestRunner code generator now honors the
Conditional IDL format.
Reviewed by Konstantin Tokarev.
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:
[GTK][WPE] Enable support for CSS_COMPOSITING https://bugs.webkit.org/show_bug.cgi?id=199513 Reviewed by Michael Catanzaro. .: This feature is needed to support the CSS properties "mix-blend-mode" and "isolation". Enable it for all ports except for AppleWin (doesn't build). It has been tested that it builds on the EWS bots of all the ports enabled (for those that have an EWS). Also, for the GTK and WPE ports it also has been tested that the feature works fine on most of the cases and that doesn't cause regressions. * Source/cmake/OptionsFTW.cmake: Enable the feature. * Source/cmake/OptionsMac.cmake: Use the new default. * Source/cmake/OptionsWin.cmake: Enable for WinCairo only. * Source/cmake/WebKitFeatures.cmake: Enable it Globally LayoutTests: Rebaseline the tests that pass after enabling CSS_COMPOSITING. The feature works is most of the cases, but there are still some tests/cases not working. There are also some new failures marked related to SVG blending (css3/blending/svg*), but those were already failing before. So its unrelated to this change. * platform/gtk/TestExpectations: * platform/gtk/css3/blending/background-blend-mode-default-value-expected.png: * platform/gtk/css3/blending/background-blend-mode-different-image-formats-expected.png: * platform/gtk/css3/blending/background-blend-mode-image-color-expected.png: * platform/gtk/css3/blending/background-blend-mode-image-image-expected.png: * platform/gtk/css3/blending/background-blend-mode-single-layer-no-blending-expected.png: * platform/gtk/css3/blending/blend-mode-background-expected.png: * platform/gtk/css3/blending/blend-mode-background-expected.txt: * platform/gtk/css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.png: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.txt: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-append-stacking-context-blending-expected.png: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-append-stacking-context-blending-expected.txt: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-off-blending-expected.png: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-off-blending-expected.txt: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.png: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.txt: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-off-stacking-context-expected.png: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-off-stacking-context-expected.txt: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-on-blending-expected.png: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-on-blending-expected.txt: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-on-stacking-context-expected.png: Added. * platform/gtk/css3/blending/blend-mode-isolation-flags-turn-on-stacking-context-expected.txt: Added. * platform/gtk/css3/blending/blend-mode-overflow-expected.png: Added. * platform/gtk/css3/blending/blend-mode-overflow-expected.txt: Added. * platform/gtk/css3/blending/blend-mode-simple-expected.png: Added. * platform/gtk/css3/blending/blend-mode-simple-expected.txt: Added. * platform/gtk/css3/blending/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt: Added. * platform/gtk/css3/blending/svg-blend-layer-blend-expected.png: * platform/gtk/css3/blending/svg-blend-layer-blend-expected.txt: * platform/gtk/css3/blending/svg-blend-layer-clip-path-expected.png: Added. * platform/gtk/css3/blending/svg-blend-layer-clip-path-expected.txt: Added. * platform/gtk/css3/blending/svg-blend-layer-filter-expected.png: * platform/gtk/css3/blending/svg-blend-layer-filter-expected.txt: * platform/gtk/css3/blending/svg-blend-layer-mask-expected.png: * platform/gtk/css3/blending/svg-blend-layer-mask-expected.txt: * platform/gtk/css3/blending/svg-blend-layer-opacity-expected.png: * platform/gtk/css3/blending/svg-blend-layer-opacity-expected.txt: * platform/wpe/TestExpectations: * platform/wpe/css3/blending/background-blend-mode-default-value-expected.png: Added. * platform/wpe/css3/blending/background-blend-mode-default-value-expected.txt: Added. * platform/wpe/css3/blending/background-blend-mode-different-image-formats-expected.png: Added. * platform/wpe/css3/blending/background-blend-mode-different-image-formats-expected.txt: Added. * platform/wpe/css3/blending/background-blend-mode-gif-color-2-expected.png: Added. * platform/wpe/css3/blending/background-blend-mode-gif-color-2-expected.txt: Added. * platform/wpe/css3/blending/background-blend-mode-gif-color-expected.png: Added. * platform/wpe/css3/blending/background-blend-mode-gif-color-expected.txt: Added. * platform/wpe/css3/blending/background-blend-mode-image-color-expected.png: Added. * platform/wpe/css3/blending/background-blend-mode-image-color-expected.txt: Added. * platform/wpe/css3/blending/background-blend-mode-image-image-expected.png: Added. * platform/wpe/css3/blending/background-blend-mode-image-image-expected.txt: Added. * platform/wpe/css3/blending/background-blend-mode-single-layer-no-blending-expected.png: Added. * platform/wpe/css3/blending/background-blend-mode-single-layer-no-blending-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-background-expected.png: Added. * platform/wpe/css3/blending/blend-mode-background-expected.txt: Copied from LayoutTests/platform/gtk/css3/blending/blend-mode-background-expected.txt. * platform/wpe/css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.png: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-append-stacking-context-blending-expected.png: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-append-stacking-context-blending-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending-expected.png: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending-expected.png: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-off-blending-expected.png: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-off-blending-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.png: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-off-stacking-context-expected.png: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-off-stacking-context-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-on-blending-expected.png: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-on-blending-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-on-stacking-context-expected.png: Added. * platform/wpe/css3/blending/blend-mode-isolation-flags-turn-on-stacking-context-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-overflow-expected.png: Added. * platform/wpe/css3/blending/blend-mode-overflow-expected.txt: Added. * platform/wpe/css3/blending/blend-mode-simple-expected.png: Added. * platform/wpe/css3/blending/blend-mode-simple-expected.txt: Added. * platform/wpe/css3/blending/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt: Added. * platform/wpe/css3/blending/svg-blend-layer-blend-expected.png: Added. * platform/wpe/css3/blending/svg-blend-layer-blend-expected.txt: Added. * platform/wpe/css3/blending/svg-blend-layer-clip-path-expected.png: Added. * platform/wpe/css3/blending/svg-blend-layer-clip-path-expected.txt: Added. * platform/wpe/css3/blending/svg-blend-layer-filter-expected.png: Added. * platform/wpe/css3/blending/svg-blend-layer-filter-expected.txt: Added. * platform/wpe/css3/blending/svg-blend-layer-mask-expected.png: Added. * platform/wpe/css3/blending/svg-blend-layer-mask-expected.txt: Added. * platform/wpe/css3/blending/svg-blend-layer-opacity-expected.png: Added. * platform/wpe/css3/blending/svg-blend-layer-opacity-expected.txt: Added. Canonical link: https://commits.webkit.org/213544@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-07-10 11:59:00 +00:00
2019-07-10 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Enable support for CSS_COMPOSITING
https://bugs.webkit.org/show_bug.cgi?id=199513
Reviewed by Michael Catanzaro.
This feature is needed to support the CSS properties "mix-blend-mode" and "isolation".
Enable it for all ports except for AppleWin (doesn't build).
It has been tested that it builds on the EWS bots of all the ports enabled (for those that have an EWS).
Also, for the GTK and WPE ports it also has been tested that the feature works fine on most of the cases and that doesn't cause regressions.
* Source/cmake/OptionsFTW.cmake: Enable the feature.
* Source/cmake/OptionsMac.cmake: Use the new default.
* Source/cmake/OptionsWin.cmake: Enable for WinCairo only.
* Source/cmake/WebKitFeatures.cmake: Enable it Globally
2019-06-28 Brent Fulgham <bfulgham@apple.com>
[FTW] Build WebCore
https://bugs.webkit.org/show_bug.cgi?id=199199
Reviewed by Don Olmstead.
Establish a set of build options for the FTW port, based on the current WinCairo
feature set. I also note which features should be turned on, but aren't yet, as
well as which features are disabled due to lack of WebGL and Media support in
the current build.
* Source/cmake/OptionsFTW.cmake:
Remove traces of ENABLE_ICONDATABASE remaining after its removal in 219733 https://bugs.webkit.org/show_bug.cgi?id=199317 Reviewed by Michael Catanzaro. While IconDatabase and all code using it was removed, ENABLE_ICONDATABASE still exists as build option and C++ macro. .: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: PerformanceTests: * StitchMarker/wtf/FeatureDefines.h: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * Resources/urlIcon.png: Removed file which was only used in IconDatabase.cpp. Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * PlatformGTK.cmake: Remove reference to unused urlIcon.png file. Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: * WebView/WebView.mm: (-[WebView _cacheFrameLoadDelegateImplementations]): Use PLATFORM(MAC) guard instead of ENABLE_ICONDATABASE, because ENABLE_ICONDATABASE was enabled for macOS only. Source/WTF: * wtf/FeatureDefines.h: Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * gtk/manifest.txt.in: Remove reference to unused urlIcon.png file. * wpe/manifest.txt.in: Remove reference to unused urlIcon.png file. Canonical link: https://commits.webkit.org/213258@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-28 16:00:17 +00:00
2019-06-28 Konstantin Tokarev <annulen@yandex.ru>
Remove traces of ENABLE_ICONDATABASE remaining after its removal in 219733
https://bugs.webkit.org/show_bug.cgi?id=199317
Reviewed by Michael Catanzaro.
While IconDatabase and all code using it was removed,
ENABLE_ICONDATABASE still exists as build option and C++ macro.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2019-06-27 Don Olmstead <don.olmstead@sony.com>
[FTW] Build JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=199254
Reviewed by Brent Fulgham.
Add the FTW [For the Win(dows)] port. FTW is OS(WINDOWS) + USE(DIRECT2D) +
USE(CURL). Its eventual goal is to be the one true Windows port but to avoid
breaking AppleWin and WinCairo its being split into its own port for the interim.
* CMakeLists.txt:
* Source/cmake/OptionsFTW.cmake: Added.
2019-06-27 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] Bump cmake_minimum_required version to 3.10
https://bugs.webkit.org/show_bug.cgi?id=199181
Reviewed by Don Olmstead.
* CMakeLists.txt:
2019-06-21 Konstantin Tokarev <annulen@yandex.ru>
[cmake] Switch to built-in handling of C++ standard instead of hardcoding -std=c++17
https://bugs.webkit.org/show_bug.cgi?id=199108
Reviewed by Don Olmstead.
Rationale:
1. It provides an abstraction over exact flags of particular compilers -
we just specify required version of C++ standard
2. External libraries (like Qt used in WPEQt) may require particular C++
standard or even particular C++ features to be availabe (e.g. Qt
requires INTERFACE_COMPILE_FEATURES cxx_decltype, which causes cmake
to add -std=gnu++11 unless proper CXX_STANDARD is defined)
* Source/cmake/OptionsCommon.cmake:
* Source/cmake/OptionsMSVC.cmake:
* Source/cmake/WebKitCompilerFlags.cmake:
Fully rename WebKitGTK+ -> WebKitGTK everywhere https://bugs.webkit.org/show_bug.cgi?id=199159 Reviewed by Carlos Garcia Campos. .: * Source/cmake/FindGLIB.cmake: Source/WebCore: * accessibility/atk/WebKitAccessibleInterfaceText.cpp: (webkitAccessibleTextGetStringAtOffset): * platform/UserAgentQuirks.cpp: (WebCore::urlRequiresMacintoshPlatform): * platform/network/soup/NetworkStorageSessionSoup.cpp: (WebCore::NetworkStorageSession::saveCredentialToPersistentStorage): * rendering/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::adjustTextFieldStyle const): Source/WebKit: * UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp: Source/WTF: * wtf/URLParser.cpp: (WTF::URLParser::internationalDomainNameTranscoder): Tools: * BuildSlaveSupport/gtk/README: * MiniBrowser/gtk/BrowserWindow.c: * MiniBrowser/gtk/main.c: (aboutURISchemeRequestCallback): * Scripts/webkitpy/common/config/contributionareas.py: * Scripts/webkitpy/common/config/contributors.json: * Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py: * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp: (testWebViewResources): * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: (testWebViewMouseTarget): * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp: (testWebExtensionGetTitle): (testDocumentLoadedSignal): (testWebExtensionFormControlsAssociated): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettingsUserAgent): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: (testWebViewRunJavaScript): * TestWebKitAPI/Tests/WebKitGtk/InspectorTestServer.cpp: (main): * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp: (prepareContextMenuTestView): (testContextMenuPopulateMenu): (testContextMenuCustomMenu): (testContextMenuDisableMenu): (testContextMenuSubMenu): (testContextMenuDismissed): (testContextMenuWebExtensionMenu): (testContextMenuWebExtensionNode): * TestWebKitAPI/Tests/WebKitGtk/TestInspector.cpp: (testInspectorDefault): (testInspectorManualAttachDetach): (testInspectorCustomContainerDestroyed): * TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp: (testWebViewPrint): (testPrintOperationPrint): (testPrintOperationErrors): * gtk/install-dependencies: * gtk/jhbuild.modules: * gtkdoc/generate-gtkdoc: * wpe/install-dependencies: Canonical link: https://commits.webkit.org/213151@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246790 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-25 14:56:39 +00:00
2019-06-25 Michael Catanzaro <mcatanzaro@igalia.com>
Fully rename WebKitGTK+ -> WebKitGTK everywhere
https://bugs.webkit.org/show_bug.cgi?id=199159
Reviewed by Carlos Garcia Campos.
* Source/cmake/FindGLIB.cmake:
2019-06-25 Michael Catanzaro <mcatanzaro@igalia.com>
Require GCC 7
https://bugs.webkit.org/show_bug.cgi?id=198914
Reviewed by Darin Adler.
* CMakeLists.txt:
[WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and Cairo https://bugs.webkit.org/show_bug.cgi?id=199094 Reviewed by Carlos Garcia Campos. .: We can remove a lot of preprocessor guards in our code if we bump the minimum required versions of certain dependencies: GStreamer 1.8 -> 1.10 GTK 3.6 -> 3.22 ATK 2.16 libsoup 2.42 -> 2.54 glib 2.40 -> 2.44 cairo 1.14 I'm being extremely conservative with all these dependency bumps. All of these versions are already available in Debian Stretch, which we will soon no longer support building on anyway due to the impending GCC 7 requirement. Dependencies are also bumped no further than we actually have guards for. For example, ATK 2.22 is available in Stretch, but the highest ATK_CHECK_VERSION guards we use below 2.22 are for 2.16, so I set the min version to 2.16. We still have a few preprocessor guards remaining for everything here except glib and cairo, but this removes the vast majority of them. Deleting code is fun! * Source/cmake/FindGTK3.cmake: * Source/cmake/GStreamerChecks.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: * accessibility/atk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/atk/WebKitAccessible.cpp: (atkRole): (setAtkStateSetFromCoreObject): (interfaceMaskFromObject): * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp: * accessibility/atk/WebKitAccessibleInterfaceTableCell.h: * accessibility/atk/WebKitAccessibleInterfaceText.cpp: (webkitAccessibleTextGetStringAtOffset): (webkitAccessibleTextInterfaceInit): * accessibility/atk/WebKitAccessibleInterfaceValue.cpp: (webkitAccessibleValueInterfaceInit): * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp: (WebCore::AudioTrackPrivateGStreamer::kind const): * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: (WTF::derefGPtr<GstStreamCollection>): * platform/graphics/gstreamer/GRefPtrGStreamer.h: * platform/graphics/gstreamer/GStreamerCommon.cpp: (WebCore::initializeGStreamerAndRegisterWebKitElements): * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp: (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer): * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h: (WebCore::InbandTextTrackPrivateGStreamer::create): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::load): (WebCore::MediaPlayerPrivateGStreamer::updateTracks): (WebCore::MediaPlayerPrivateGStreamer::enableTrack): (WebCore::MediaPlayerPrivateGStreamer::handleMessage): (WebCore::MediaPlayerPrivateGStreamer::sourceSetup): (WebCore::MediaPlayerPrivateGStreamer::handleSyncMessage): (WebCore::MediaPlayerPrivateGStreamer::supportsType): (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: (WebCore::MediaPlayerPrivateGStreamerBase::requestGLContext): (WebCore::MediaPlayerPrivateGStreamerBase::createGLAppSink): (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): (WebCore::TrackPrivateBaseGStreamer::disconnect): (WebCore::TrackPrivateBaseGStreamer::tagsChanged): * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: (WebCore::TrackPrivateBaseGStreamer::stream): * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: (WebCore::VideoTrackPrivateGStreamer::kind const): * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::eventTypeForGdkKeyEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenRect): (WebCore::screenAvailableRect): (WebCore::screenHasTouchDevice): (WebCore::screenIsTouchPrimaryInputDevice): (): Deleted. (WebCore::isTouchDevice): Deleted. (WebCore::deviceAddedCallback): Deleted. (WebCore::deviceRemovedCallback): Deleted. * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/RenderThemeGadget.cpp: * platform/gtk/RenderThemeGadget.h: * platform/gtk/RenderThemeWidget.cpp: * platform/gtk/RenderThemeWidget.h: * platform/gtk/ScrollbarThemeGtk.cpp: (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): (WebCore::ScrollbarThemeGtk::themeChanged): (WebCore::ScrollbarThemeGtk::updateThemeProperties): (WebCore::ScrollbarThemeGtk::trackRect): (WebCore::ScrollbarThemeGtk::forwardButtonRect): (WebCore::ScrollbarThemeGtk::paint): (WebCore::ScrollbarThemeGtk::scrollbarThickness): (WebCore::createStyleContext): Deleted. (WebCore::createChildStyleContext): Deleted. (WebCore::paintStepper): Deleted. (WebCore::adjustRectAccordingToMargin): Deleted. * platform/mediastream/gstreamer/GStreamerCapturer.cpp: * platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp: * platform/network/soup/ResourceRequest.h: (WebCore::toSoupMessagePriority): * platform/network/soup/SoupNetworkSession.cpp: (WebCore::SoupNetworkSession::SoupNetworkSession): * rendering/RenderThemeGtk.cpp: (WebCore::themePartStateFlags): (WebCore::paintToggle): (WebCore::RenderThemeGtk::paintButton): (WebCore::menuListColor): (WebCore::RenderThemeGtk::paintMenuList): (WebCore::RenderThemeGtk::paintTextField): (WebCore::adjustSearchFieldIconStyle): (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): (WebCore::RenderThemeGtk::paintSliderThumb): (WebCore::RenderThemeGtk::paintProgressBar): (WebCore::RenderThemeGtk::paintInnerSpinButton): (WebCore::styleColor): (WebCore::RenderThemeGtk::systemColor const): (WebCore::RenderThemeGtk::paintMediaButton): (WebCore::createStyleContext): Deleted. (WebCore::loadThemedIcon): Deleted. (WebCore::gtkTextDirection): Deleted. (WebCore::gtkIconStateFlags): Deleted. (WebCore::adjustRectForFocus): Deleted. (WebCore::renderButton): Deleted. (WebCore::getIconSizeForPixelSize): Deleted. (WebCore::paintIcon): Deleted. (WebCore::paintEntryIcon): Deleted. (WebCore::centerRectVerticallyInParentInputElement): Deleted. (WebCore::spinButtonArrowSize): Deleted. (WebCore::paintSpinArrowButton): Deleted. Source/WebKit: * NetworkProcess/soup/NetworkDataTaskSoup.cpp: (WebKit::NetworkDataTaskSoup::createRequest): (WebKit::NetworkDataTaskSoup::writeDownloadCallback): (WebKit::NetworkDataTaskSoup::writeDownload): (WebKit::NetworkDataTaskSoup::startingCallback): (WebKit::NetworkDataTaskSoup::requestStartedCallback): Deleted. * Shared/gtk/WebEventFactory.cpp: (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::doneWithTouchEvent): * UIProcess/API/gtk/WebKitWebViewBase.cpp: (ClickCounter::currentClickCountForGdkButtonEvent): (webkitWebViewBaseRealize): (webkitWebViewBaseHandleMouseEvent): (webkitWebViewBaseGetTouchPointsForEvent): (webkitWebViewBaseTouchEvent): (webkitWebViewBaseGestureController): (webkitWebViewBaseEvent): (deviceScaleFactorChanged): (webkitWebViewBaseCreateWebPage): (webkitWebViewBaseTakeViewSnapshot): * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/API/gtk/WebKitWebViewDialog.cpp: (webkitWebViewDialogDraw): (webkitWebViewDialogConstructed): (webkit_web_view_dialog_class_init): * UIProcess/API/gtk/WebKitWebViewGtk.cpp: (fileChooserDialogResponseCallback): (webkitWebViewRunFileChooser): * UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp: (WebKit::doMouseEvent): (WebKit::doMotionEvent): (WebKit::doKeyStrokeEvent): * UIProcess/WebPageProxy.h: * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: (WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland): (WebKit::AcceleratedBackingStoreWayland::tryEnsureGLContext): (WebKit::AcceleratedBackingStoreWayland::makeContextCurrent): (WebKit::AcceleratedBackingStoreWayland::paint): * UIProcess/gtk/AcceleratedBackingStoreWayland.h: * UIProcess/gtk/DragAndDropHandler.cpp: (WebKit::DragAndDropHandler::startDrag): (WebKit::DragAndDropHandler::fillDragData): (WebKit::DragAndDropHandler::finishDrag): * UIProcess/gtk/DragAndDropHandler.h: * UIProcess/gtk/GestureController.cpp: (WebKit::GestureController::handleEvent): * UIProcess/gtk/GestureController.h: * UIProcess/gtk/InputMethodFilter.cpp: (WebKit::InputMethodFilter::filterKeyEvent): (WebKit::InputMethodFilter::logHandleKeyboardEventForTesting): (WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting): * UIProcess/gtk/ViewGestureControllerGtk.cpp: (WebKit::isEventStop): (WebKit::createScrollEvent): * UIProcess/gtk/WebContextMenuProxyGtk.cpp: (WebKit::WebContextMenuProxyGtk::append): (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): * UIProcess/gtk/WebKitInspectorWindow.cpp: (webkit_inspector_window_init): (webkitInspectorWindowSetSubtitle): * UIProcess/gtk/WebPageProxyGtk.cpp: (WebKit::WebPageProxy::getCenterForZoomGesture): * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: (WebKit::WebPopupMenuProxyGtk::showPopupMenu): (WebKit::WebPopupMenuProxyGtk::hidePopupMenu): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::getCenterForZoomGesture): Tools: * MiniBrowser/gtk/BrowserTab.c: (runColorChooserCallback): (browserTabConstructed): * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp: (testWebViewSyncRequestOnMaxConns): (beforeAll): * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: (testWebSocketTLSErrors): (beforeAll): * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp: (WebKitTestServer::~WebKitTestServer): (WebKitTestServer::getWebSocketURIForPath const): * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::rowHeaders const): (WTR::AccessibilityUIElement::columnHeaders const): (WTR::AccessibilityUIElement::isAttributeSettable): (WTR::AccessibilityUIElement::x): (WTR::AccessibilityUIElement::y): (WTR::AccessibilityUIElement::width): (WTR::AccessibilityUIElement::height): (WTR::AccessibilityUIElement::clickPointX): (WTR::AccessibilityUIElement::clickPointY): (WTR::AccessibilityUIElement::intValue const): (WTR::AccessibilityUIElement::minValue): (WTR::AccessibilityUIElement::maxValue): (WTR::stringAtOffset): Canonical link: https://commits.webkit.org/213066@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246677 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-21 14:20:00 +00:00
2019-06-21 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and Cairo
https://bugs.webkit.org/show_bug.cgi?id=199094
Reviewed by Carlos Garcia Campos.
We can remove a lot of preprocessor guards in our code if we bump the minimum required
versions of certain dependencies:
GStreamer 1.8 -> 1.10
GTK 3.6 -> 3.22
ATK 2.16
libsoup 2.42 -> 2.54
glib 2.40 -> 2.44
cairo 1.14
I'm being extremely conservative with all these dependency bumps. All of these versions are
already available in Debian Stretch, which we will soon no longer support building on anyway
due to the impending GCC 7 requirement. Dependencies are also bumped no further than we
actually have guards for. For example, ATK 2.22 is available in Stretch, but the highest
ATK_CHECK_VERSION guards we use below 2.22 are for 2.16, so I set the min version to 2.16.
We still have a few preprocessor guards remaining for everything here except glib and cairo,
but this removes the vast majority of them. Deleting code is fun!
* Source/cmake/FindGTK3.cmake:
* Source/cmake/GStreamerChecks.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[GTK] Remove support for GTK2 plugins https://bugs.webkit.org/show_bug.cgi?id=199065 Reviewed by Sergio Villar Senin. .: * Source/cmake/FindGDK2.cmake: Removed. * Source/cmake/FindGTK2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: PerformanceTests: * StitchMarker/wtf/Platform.h: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * platform/FreeType.cmake: * platform/SourcesGLib.txt: * platform/graphics/Color.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/gtk/ColorGtk.cpp: (WebCore::Color::operator GdkRGBA const): * platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp: (WebCore::onFrameClockUpdate): (WebCore::DisplayRefreshMonitorGtk::requestRefreshCallback): * platform/graphics/gtk/DisplayRefreshMonitorGtk.h: (WebCore::DisplayRefreshMonitorGtk::create): * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/gtk/GRefPtrGtk.cpp: * platform/gtk/GRefPtrGtk.h: * platform/gtk/GtkVersioning.c: Removed. * platform/gtk/GtkVersioning.h: Removed. * platform/gtk/PasteboardHelper.cpp: (WebCore::PasteboardHelper::getClipboardContents): * platform/gtk/PlatformKeyboardEventGtk.cpp: (WebCore::modifiersForGdkKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/gtk/PlatformMouseEventGtk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenIsTouchPrimaryInputDevice): * platform/gtk/PlatformWheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gtk/ScrollbarThemeGtk.cpp: * platform/gtk/ScrollbarThemeGtk.h: * platform/gtk/WidgetGtk.cpp: * rendering/RenderThemeGtk.cpp: * rendering/RenderThemeGtk.h: Source/WebKit: * PlatformGTK.cmake: * Shared/Plugins/Netscape/NetscapePluginModule.cpp: (WebKit::moduleMixesGtkSymbols): * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: (WebKit::NetscapePluginModule::getPluginInfo): * Shared/Plugins/PluginModuleInfo.h: * Shared/gtk/WebEventFactory.cpp: (WebKit::isGdkKeyCodeFromKeyPad): (WebKit::buttonForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): (WebKit::WebEventFactory::createWebTouchEvent): * SourcesGTK.txt: * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/gtk/PluginInfoCache.cpp: (WebKit::PluginInfoCache::getPluginInfo): (WebKit::PluginInfoCache::updatePluginInfo): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): (WebKit::PluginProcessProxy::scanPlugin): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Source/WTF: * wtf/Platform.h: * wtf/glib/GTypedefs.h: Tools: * EWSTools/ubuntu-ews-packages: * TestWebKitAPI/PlatformGTK.cmake: * WebKitTestRunner/PlatformGTK.cmake: * flatpak/org.webkit.GTK.yaml: * gtk/install-dependencies: Canonical link: https://commits.webkit.org/213022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-20 11:08:29 +00:00
2019-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Remove support for GTK2 plugins
https://bugs.webkit.org/show_bug.cgi?id=199065
Reviewed by Sergio Villar Senin.
* Source/cmake/FindGDK2.cmake: Removed.
* Source/cmake/FindGTK2.cmake: Removed.
* Source/cmake/OptionsGTK.cmake:
2019-06-18 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.25.1 release
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2019-06-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.25.2 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers
2019-06-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. [GTK] Bump WPEBackend-fdo requirement to 1.3.1
* Source/cmake/OptionsGTK.cmake:
2019-06-13 Tim Horton <timothy_horton@apple.com>
Make it possible for validate-committer-lists to dump a mailmap file
https://bugs.webkit.org/show_bug.cgi?id=198517
Reviewed by Simon Fraser.
* .gitignore:
Ignore .mailmap files.
[GTK] Remove option REDIRECTED_XCOMPOSITE_WINDOW https://bugs.webkit.org/show_bug.cgi?id=198748 Reviewed by Žan Doberšek. .: * Source/cmake/OptionsGTK.cmake: Remove USE_REDIRECTED_XCOMPOSITE_WINDOW build option. Source/WebKit: It's unused and untested, we kept that code path only because the redirected window caused performance issues in some drivers in embedded devices. Nowadays there are much better solutions for those cases like using WPE port or GTK port under wayland instead of X11. * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: (WebKit::ThreadedCompositor::create): Remove the ShouldDoFrameSync parameter since it always receives Yes. (WebKit::ThreadedCompositor::ThreadedCompositor): Ditto. (WebKit::ThreadedCompositor::createGLContext): Remove the code to handle the case of ShouldDoFrameSync being No, since it's always Yes. (WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing): Deleted. * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseRealize): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW). (webkitWebViewBaseUnrealize): Ditto. (webkitWebViewBaseDraw): acceleratedBackingStore member can't be nullptr now. (webkitWebViewBaseEnterAcceleratedCompositingMode): Ditto. (webkitWebViewBaseUpdateAcceleratedCompositingMode): Ditto. (webkitWebViewBaseExitAcceleratedCompositingMode): Ditto. (webkitWebViewBaseMakeGLContextCurrent): Ditto. (webkitWebViewBaseDidRelaunchWebProcess): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW). (webkitWebViewBasePageClosed): Ditto. (webkitWebViewBaseRenderHostFileDescriptor): acceleratedBackingStore member can't be nullptr now. * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: (WebKit::DrawingAreaProxyCoordinatedGraphics::didUpdateBackingStoreState): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW). (WebKit::DrawingAreaProxyCoordinatedGraphics::setNativeSurfaceHandleForCompositing): Deleted. (WebKit::DrawingAreaProxyCoordinatedGraphics::destroyNativeSurfaceHandleForCompositing): Deleted. * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h: * UIProcess/gtk/AcceleratedBackingStore.cpp: (WebKit::AcceleratedBackingStore::create): Add an assert to ensure we create an AcceleratedBackingStore. * UIProcess/gtk/AcceleratedBackingStoreX11.cpp: * UIProcess/gtk/AcceleratedBackingStoreX11.h: * UIProcess/gtk/HardwareAccelerationManager.cpp: (WebKit::HardwareAccelerationManager::HardwareAccelerationManager): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW). * WebProcess/WebPage/AcceleratedSurface.cpp: (WebKit::AcceleratedSurface::create): Add an assert to ensure we create an AcceleratedSurface. * WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp: (WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): Remove the code for !USE(REDIRECTED_XCOMPOSITE_WINDOW). (WebKit::DrawingAreaCoordinatedGraphics::setNativeSurfaceHandleForCompositing): Deleted. (WebKit::DrawingAreaCoordinatedGraphics::destroyNativeSurfaceHandleForCompositing): Deleted. * WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h: * WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp: (WebKit::LayerTreeHost::LayerTreeHost): m_surface can't be nullptr now. (WebKit::LayerTreeHost::sizeDidChange): Ditto. (WebKit::LayerTreeHost::deviceOrPageScaleFactorChanged): Ditto. (WebKit::LayerTreeHost::nativeSurfaceHandleForCompositing): Ditto. (WebKit::LayerTreeHost::didDestroyGLContext): Ditto. (WebKit::LayerTreeHost::willRenderFrame): Ditto. (WebKit::LayerTreeHost::didRenderFrame): Ditto. (WebKit::LayerTreeHost::setNativeSurfaceHandleForCompositing): Deleted. * WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h: * WebProcess/WebPage/DrawingArea.h: * WebProcess/WebPage/DrawingArea.messages.in: * WebProcess/WebPage/WebPage.h: (WebKit::WebPage::nativeWindowHandle): Deleted. * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp: * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h: Canonical link: https://commits.webkit.org/212725@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-11 11:17:31 +00:00
2019-06-11 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Remove option REDIRECTED_XCOMPOSITE_WINDOW
https://bugs.webkit.org/show_bug.cgi?id=198748
Reviewed by Žan Doberšek.
* Source/cmake/OptionsGTK.cmake: Remove USE_REDIRECTED_XCOMPOSITE_WINDOW build option.
Remove Dashboard support https://bugs.webkit.org/show_bug.cgi?id=198615 Reviewed by Ryosuke Niwa. .: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * WebCore.xcodeproj/project.pbxproj: * css/CSSCalculationValue.cpp: (WebCore::hasDoubleValue): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSPrimitiveValue.cpp: (WebCore::isValidCSSUnitTypeForDoubleConversion): (WebCore::isStringType): (WebCore::CSSPrimitiveValue::cleanup): (WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const): (WebCore::CSSPrimitiveValue::equals const): * css/CSSPrimitiveValue.h: * css/CSSProperties.json: * css/CSSValueKeywords.in: * css/DashboardRegion.h: Removed. * css/StyleBuilderCustom.h: (WebCore::convertToIntLength): Deleted. (WebCore::StyleBuilderCustom::applyValueWebkitDashboardRegion): Deleted. * css/StyleResolver.cpp: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue): (WebCore::consumeWebkitDashboardRegion): Deleted. * dom/DataTransfer.cpp: (WebCore::DataTransfer::createForUpdatingDropTarget): * dom/Document.cpp: (WebCore::Document::invalidateRenderingDependentRegions): (WebCore::Document::annotatedRegions const): Deleted. (WebCore::Document::setAnnotatedRegions): Deleted. (WebCore::Document::updateAnnotatedRegions): Deleted. (WebCore::Document::invalidateScrollbarDependentRegions): Deleted. (WebCore::Document::updateZOrderDependentRegions): Deleted. * dom/Document.h: (WebCore::Document::setHasAnnotatedRegions): Deleted. (WebCore::Document::setAnnotatedRegionsDirty): Deleted. (WebCore::Document::annotatedRegionsDirty const): Deleted. (WebCore::Document::hasAnnotatedRegions const): Deleted. * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createContext2d): * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::rendererIsNeeded): * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::sourceURI const): * html/canvas/CanvasGradient.cpp: (WebCore::CanvasGradient::addColorStop): * html/canvas/CanvasGradient.h: (WebCore::CanvasGradient::setDashboardCompatibilityMode): Deleted. (): Deleted. * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::create): (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): * html/canvas/CanvasRenderingContext2D.h: * html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::CanvasRenderingContext2DBase): (WebCore::CanvasRenderingContext2DBase::fill): (WebCore::CanvasRenderingContext2DBase::stroke): (WebCore::CanvasRenderingContext2DBase::clip): (WebCore::CanvasRenderingContext2DBase::createLinearGradient): (WebCore::CanvasRenderingContext2DBase::createRadialGradient): (WebCore::CanvasRenderingContext2DBase::prepareGradientForDashboard const): Deleted. (WebCore::CanvasRenderingContext2DBase::clearPathForDashboardBackwardCompatibilityMode): Deleted. * html/canvas/CanvasRenderingContext2DBase.h: * html/canvas/OffscreenCanvasRenderingContext2D.cpp: (WebCore::OffscreenCanvasRenderingContext2D::OffscreenCanvasRenderingContext2D): * html/canvas/PaintRenderingContext2D.cpp: (WebCore::PaintRenderingContext2D::PaintRenderingContext2D): * page/Chrome.cpp: (WebCore::ChromeClient::annotatedRegionsChanged): Deleted. * page/ChromeClient.h: * page/FrameView.cpp: (WebCore::FrameView::didLayout): (WebCore::FrameView::didPaintContents): * page/Settings.yaml: * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks const): * rendering/RenderInline.cpp: (WebCore::RenderInline::addAnnotatedRegions): Deleted. * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollTo): (WebCore::RenderLayer::setHasHorizontalScrollbar): (WebCore::RenderLayer::setHasVerticalScrollbar): (WebCore::RenderLayer::updateScrollbarsAfterLayout): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::setHasVerticalScrollbar): * rendering/RenderObject.cpp: (WebCore::RenderObject::addAnnotatedRegions): Deleted. (WebCore::RenderObject::collectAnnotatedRegions): Deleted. * rendering/RenderObject.h: (WebCore::AnnotatedRegionValue::operator== const): Deleted. (WebCore::AnnotatedRegionValue::operator!= const): Deleted. * rendering/style/RenderStyle.cpp: (WebCore::rareNonInheritedDataChangeRequiresLayout): (WebCore::RenderStyle::initialDashboardRegions): Deleted. (WebCore::RenderStyle::noneDashboardRegions): Deleted. (WebCore::RenderStyle::setDashboardRegion): Deleted. * rendering/style/RenderStyle.h: (WebCore::RenderStyle::dashboardRegions const): Deleted. (WebCore::RenderStyle::setDashboardRegions): Deleted. * rendering/style/StyleDashboardRegion.h: Removed. * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::operator== const): * rendering/style/StyleRareNonInheritedData.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode const): Deleted. * xml/XMLHttpRequest.h: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleSetUseDashboardCompatibilityMode): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::setUseDashboardCompatibilityMode): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::annotatedRegionsChanged): Deleted. * WebProcess/WebCoreSupport/WebChromeClient.h: Source/WebKitLegacy/mac: Removes implementation, but keeps privatly exported interfaces and enums around until we can confirm there are no more users of them. * Configurations/FeatureDefines.xcconfig: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]): * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::annotatedRegionsChanged): Deleted. * WebView/WebClipView.mm: (-[WebClipView _focusRingVisibleRect]): (-[WebClipView scrollWheel:]): * WebView/WebDashboardRegion.h: * WebView/WebDashboardRegion.mm: * WebView/WebHTMLView.mm: (-[WebHTMLView _updateMouseoverWithEvent:]): (-[WebHTMLView acceptsFirstMouse:]): (-[WebHTMLView setDataSource:]): * WebView/WebPreferences.mm: (cacheModelForMainBundle): * WebView/WebUIDelegatePrivate.h: * WebView/WebView.mm: (-[WebView _needsPreHTML5ParserQuirks]): (-[WebView _preferencesChanged:]): (-[WebView _addScrollerDashboardRegions:]): (-[WebView _dashboardRegions]): (-[WebView _setDashboardBehavior:to:]): (-[WebView _dashboardBehavior:]): (-[WebView _addControlRect:clip:fromView:toDashboardRegions:]): Deleted. (-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]): Deleted. (-[WebView _addScrollerDashboardRegions:from:]): Deleted. * WebView/WebViewData.h: * WebView/WebViewData.mm: (-[WebViewPrivate init]): * WebView/WebViewPrivate.h: Source/WTF: * wtf/FeatureDefines.h: Tools: * DumpRenderTree/TestRunner.cpp: (TestRunner::staticFunctions): (setUseDashboardCompatibilityModeCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setUseDashboardCompatibilityMode): Deleted. * ImageDiff/cg/Configurations/Base.xcconfig: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm: Removed. * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setUseDashboardCompatibilityMode): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: LayoutTests: * TestExpectations: * cssom/cssvalue-comparison-expected.txt: * cssom/cssvalue-comparison.html: * fast/canvas/canvas-gradient-addStop-error-expected.txt: * fast/canvas/canvas-gradient-addStop-error.html: * fast/canvas/fill-stroke-clip-reset-path-expected.txt: * fast/canvas/fill-stroke-clip-reset-path.html: * fast/css/dashboard-regions-attr-crash-expected.txt: Removed. * fast/css/dashboard-regions-attr-crash.html: Removed. * fast/css/dashboard-regions-undefined-length-assertion-expected.txt: Removed. * fast/css/dashboard-regions-undefined-length-assertion.html: Removed. * fast/xmlhttprequest/set-dangerous-headers-in-dashboard-expected.txt: Removed. * fast/xmlhttprequest/set-dangerous-headers-in-dashboard.html: Removed. * http/tests/xmlhttprequest/default-content-type-dashboard-expected.txt: Removed. * http/tests/xmlhttprequest/default-content-type-dashboard.html: Removed. * http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard-expected.txt: Removed. * http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html: Removed. * legacy-animation-engine/cssom/cssvalue-comparison-expected.txt: * legacy-animation-engine/cssom/cssvalue-comparison.html: * mathml/mathml-in-dashboard-expected.txt: Removed. * mathml/mathml-in-dashboard.html: Removed. * platform/gtk/TestExpectations: * platform/ios-simulator-wk2/TestExpectations: * platform/ios-wk1/TestExpectations: * platform/ios/TestExpectations: * platform/ios/mathml/mathml-in-dashboard-expected.txt: Removed. * platform/mac/TestExpectations: * platform/mac/fast/css/dashboard-region-parser-expected.txt: Removed. * platform/mac/fast/css/dashboard-region-parser.html: Removed. * platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk-expected.txt: Removed. * platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html: Removed. * platform/mac/mathml/mathml-in-dashboard-expected.png: Removed. * platform/mac/mathml/mathml-in-dashboard-expected.txt: Removed. * platform/mac/svg/custom/embedded-svg-disallowed-in-dashboard-expected.png: Removed. * platform/mac/svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard-expected.png: Removed. * platform/mac/svg/custom/manually-parsed-svg-disallowed-in-dashboard-expected.png: Removed. * platform/mac/svg/custom/svg-disallowed-in-dashboard-object-expected.png: Removed. * platform/win/TestExpectations: * platform/wincairo/TestExpectations: * svg/custom/embedded-svg-allowed-in-dashboard-expected.txt: Removed. * svg/custom/embedded-svg-allowed-in-dashboard.xml: Removed. * svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard-expected.txt: Removed. * svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html: Removed. * svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt: Removed. * svg/custom/manually-parsed-svg-allowed-in-dashboard.html: Removed. * svg/custom/svg-allowed-in-dashboard-object-expected.txt: Removed. * svg/custom/svg-allowed-in-dashboard-object.html: Removed. Canonical link: https://commits.webkit.org/212711@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246285 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-10 22:16:37 +00:00
2019-06-10 Sam Weinig <weinig@apple.com>
Remove Dashboard support
https://bugs.webkit.org/show_bug.cgi?id=198615
Reviewed by Ryosuke Niwa.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
2019-06-10 Philippe Normand <pnormand@igalia.com>
[WPE][Qt] Port to new wpe_fdo_egl_exported_image API
https://bugs.webkit.org/show_bug.cgi?id=198713
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsWPE.cmake:
2019-06-04 Takashi Komori <Takashi.Komori@sony.com>
[WinCairo] Implement cpu and memory measuring functions.
https://bugs.webkit.org/show_bug.cgi?id=198466
Reviewed by Don Olmstead.
* Source/cmake/OptionsWin.cmake:
[Nicosia] Disable async scrolling until implemented https://bugs.webkit.org/show_bug.cgi?id=198476 Reviewed by Antti Koivisto. .: Disable async scrolling on Nicosia-using ports until the underlying implementation is complete, allowing easier refactorings of the general async scrolling system. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Build ScrollingCoordinator::create() method on iOS or whenever ASYNC_SCROLLING is not enabled. Additionally, the USE(COORDINATED_GRAPHICS) build guards are removed throughout the async scrolling classes as they aren't required now and shouldn't be in the future. * page/scrolling/ScrollingCoordinator.cpp: * page/scrolling/ScrollingStateFixedNode.cpp: * page/scrolling/ScrollingStateFixedNode.h: * page/scrolling/ScrollingStateFrameHostingNode.cpp: * page/scrolling/ScrollingStateFrameHostingNode.h: * page/scrolling/ScrollingStateFrameScrollingNode.cpp: * page/scrolling/ScrollingStateFrameScrollingNode.h: * page/scrolling/ScrollingStateNode.cpp: * page/scrolling/ScrollingStateNode.h: * page/scrolling/ScrollingStateOverflowScrollingNode.cpp: * page/scrolling/ScrollingStateOverflowScrollingNode.h: * page/scrolling/ScrollingStatePositionedNode.cpp: * page/scrolling/ScrollingStatePositionedNode.h: * page/scrolling/ScrollingStateScrollingNode.cpp: * page/scrolling/ScrollingStateScrollingNode.h: * page/scrolling/ScrollingStateStickyNode.cpp: * page/scrolling/ScrollingStateStickyNode.h: * page/scrolling/ScrollingStateTree.cpp: * page/scrolling/ScrollingStateTree.h: Canonical link: https://commits.webkit.org/212498@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-06-03 09:45:51 +00:00
2019-06-03 Zan Dobersek <zdobersek@igalia.com>
[Nicosia] Disable async scrolling until implemented
https://bugs.webkit.org/show_bug.cgi?id=198476
Reviewed by Antti Koivisto.
Disable async scrolling on Nicosia-using ports until the underlying
implementation is complete, allowing easier refactorings of the general
async scrolling system.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
2019-05-30 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WEBKIT_FRAMEWORK_TARGET macro
https://bugs.webkit.org/show_bug.cgi?id=198396
Reviewed by Konstantin Tokarev.
Add a macro to help create the WebKit::targets in CMake.
* CMakeLists.txt:
* Source/cmake/WebKitMacros.cmake:
2019-05-29 Don Olmstead <don.olmstead@sony.com>
Remove ENABLE definitions from WebKit config files
https://bugs.webkit.org/show_bug.cgi?id=197858
Reviewed by Simon Fraser.
Add ENABLE flags into WebKitFeatures.cmake and set the values for GTK and WPE according
to what was present in the config files.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:
[GTK] Use WPEBackend-fdo for accelerating compositing in Wayland instead of the nested compositor https://bugs.webkit.org/show_bug.cgi?id=197944 Reviewed by Michael Catanzaro. .: Add USE_WPE_RENDERER option to use WPEBackend-fdo. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: * PlatformGTK.cmake: * SourcesGTK.txt: * platform/graphics/GLContext.cpp: (WebCore::GLContext::createContextForWindow): Check current display is X11 before trying to create a GLX context. * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): Use USE(WPE_RENDERER) instead of USE(LIBWPE). * platform/graphics/PlatformDisplay.h: * platform/graphics/egl/GLContextEGL.cpp: (WebCore::GLContextEGL::createWindowContext): Use USE(WPE_RENDERER) instead of PLATFORM(WPE). (WebCore::GLContextEGL::createContext): Ditto. (WebCore::GLContextEGL::createSharingContext): Ditto. (WebCore::GLContextEGL::~GLContextEGL): Ditto. * platform/graphics/egl/GLContextEGL.h: * platform/graphics/egl/GLContextEGLLibWPE.cpp: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: (WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext): Ditto. * platform/graphics/libwpe/PlatformDisplayLibWPE.cpp: (WebCore::PlatformDisplayLibWPE::PlatformDisplayLibWPE): In GTK port set the display as the shared one for compositing. * platform/graphics/libwpe/PlatformDisplayLibWPE.h: Source/WebKit: The WPEBackend-fdo implementation is quite similar to our Wayland nested compositor, but more efficient (using linux dmabuf, resource caching, etc.). This allows us to share even more code with WPE port too. * PlatformGTK.cmake: * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: (WebKit::ThreadedCompositor::forceRepaint): WPE doesn't support force repaint yet. * Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): Use USE(WPE_RENDERER) instead of PLATFORM(WPE). (WebKit::WebPageCreationParameters::decode): Ditto. * Shared/WebPageCreationParameters.h: * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): Ditto. (WebKit::WebProcessCreationParameters::decode): Ditto. * Shared/WebProcessCreationParameters.h: * SourcesGTK.txt: * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::hostFileDescriptor): Implement it when using WPE just calling webkitWebViewBaseRenderHostFileDescriptor(). * UIProcess/API/gtk/PageClientImpl.h: * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseCreateWebPage): Initialize the web page after the accelerated backing store is created, since it's used now during intialization. (webkitWebViewBaseRenderHostFileDescriptor): Return AcceleratedBackingStore::renderHostFileDescriptor() * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp: * UIProcess/PageClient.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): Use USE(WPE_RENDERER) instead of PLATFORM(WPE). * UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::initializeNewWebProcess): Remove wayland display name initialization. * UIProcess/glib/WebProcessPoolGLib.cpp: (WebKit::WebProcessPool::platformInitializeWebProcess): Initialize wayland display name when not using WPE here now. In case of using WPE, initialize hostClientFileDescriptor and implementationLibraryName. * UIProcess/glib/WebProcessProxyGLib.cpp: (WebKit::WebProcessProxy::platformGetLaunchOptions): Remove unused wayland socket command line process parameter. * UIProcess/gtk/AcceleratedBackingStore.h: (WebKit::AcceleratedBackingStore::renderHostFileDescriptor): Return -1 by default. * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: (WebKit::AcceleratedBackingStoreWayland::create): When using WPE call wpe_fdo_initialize_for_egl_display() and check we have the required extensions. (WebKit::AcceleratedBackingStoreWayland::AcceleratedBackingStoreWayland): When using WPE initialize the view backend. (WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland): When using WPE release the EGL images still in use and the view texture. (WebKit::AcceleratedBackingStoreWayland::renderHostFileDescriptor): Call wpe_view_backend_get_renderer_host_fd(). (WebKit::AcceleratedBackingStoreWayland::displayBuffer): Create the view texture if needed, save the pending image and schedule a redraw. (WebKit::AcceleratedBackingStoreWayland::paint): When using WPE commit the pending image and use it as target of the view texture. * UIProcess/gtk/AcceleratedBackingStoreWayland.h: * UIProcess/gtk/HardwareAccelerationManager.cpp: (WebKit::HardwareAccelerationManager::HardwareAccelerationManager): When using WPE disable hardware acceleration if wpe_fdo_initialize_for_egl_display() fails. * UIProcess/gtk/WaylandCompositor.cpp: * UIProcess/gtk/WaylandCompositor.h: * WebProcess/WebPage/AcceleratedSurface.cpp: (WebKit::AcceleratedSurface::create): Create an AcceleratedSurfaceLibWPE for GTK port when using WPE and shared display is Wayland. * WebProcess/WebPage/WebPage.cpp: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.cpp: (WebKit::AcceleratedSurfaceLibWPE::initialize): Use the shared display for compositing instead of shared display. * WebProcess/WebPage/libwpe/AcceleratedSurfaceLibWPE.h: * WebProcess/WebProcess.h: * WebProcess/glib/WebProcessGLib.cpp: (WebKit::WebProcess::platformInitializeWebProcess): Initialize the wpe display when using WPE. Tools: Add WPEBackend-fdo to jhbuild moduleset. * gtk/jhbuild.modules: Canonical link: https://commits.webkit.org/212321@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-28 06:36:34 +00:00
2019-05-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Use WPEBackend-fdo for accelerating compositing in Wayland instead of the nested compositor
https://bugs.webkit.org/show_bug.cgi?id=197944
Reviewed by Michael Catanzaro.
Add USE_WPE_RENDERER option to use WPEBackend-fdo.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
2019-05-27 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.25.1 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers
2019-05-23 Don Olmstead <don.olmstead@sony.com>
[CMake] Use target oriented design for bmalloc
https://bugs.webkit.org/show_bug.cgi?id=198046
Reviewed by Konstantin Tokarev.
Add WEBKIT_COPY_FILES to WebKitMacros so it is available to all CMake code. Add
bmalloc_FRAMEWORK_HEADERS_DIR for specifying the location to copy bmalloc headers to.
* Source/cmake/WebKitFS.cmake:
* Source/cmake/WebKitMacros.cmake:
[WinCairo] Build WebDriver https://bugs.webkit.org/show_bug.cgi?id=198056 Reviewed by Carlos Garcia Campos. .: Add ENABLE_WEBDRIVER as an experimental feature for WinCairo. * Source/cmake/OptionsWin.cmake: Source/WebDriver: Add the platform and source files to get WinCairo to compile a WebDriver executable. * CMakeLists.txt: * PlatformWin.cmake: Added. * Session.cpp: (WebDriver::Session::go): (WebDriver::Session::getCurrentURL): (WebDriver::Session::back): (WebDriver::Session::forward): (WebDriver::Session::refresh): (WebDriver::Session::getTitle): (WebDriver::Session::switchToFrame): (WebDriver::Session::switchToParentFrame): (WebDriver::Session::setWindowRect): (WebDriver::Session::maximizeWindow): (WebDriver::Session::minimizeWindow): (WebDriver::Session::fullscreenWindow): (WebDriver::Session::findElements): (WebDriver::Session::getActiveElement): (WebDriver::Session::isElementSelected): (WebDriver::Session::getElementText): (WebDriver::Session::getElementTagName): (WebDriver::Session::getElementRect): (WebDriver::Session::isElementEnabled): (WebDriver::Session::isElementDisplayed): (WebDriver::Session::getElementAttribute): (WebDriver::Session::getElementProperty): (WebDriver::Session::getElementCSSValue): (WebDriver::Session::elementClick): (WebDriver::Session::elementClear): (WebDriver::Session::elementSendKeys): (WebDriver::Session::executeScript): (WebDriver::Session::getAllCookies): (WebDriver::Session::addCookie): (WebDriver::Session::deleteCookie): (WebDriver::Session::deleteAllCookies): (WebDriver::Session::performActions): (WebDriver::Session::takeScreenshot): With nested lambdas MSVC believes the this pointer is for the enclosing lambda. Use a protectedThis in the enclosing lambda and then use protectedThis.copyRef() in the nested lambda. * socket/HTTPServerSocket.cpp: Added. (WebDriver::HTTPServer::listen): (WebDriver::HTTPServer::disconnect): Add stubs for HTTPServer when using a raw socket. * socket/SessionHostSocket.cpp: Added. (WebDriver::SessionHost::~SessionHost): (WebDriver::SessionHost::connectToBrowser): (WebDriver::SessionHost::isConnected const): (WebDriver::SessionHost::startAutomationSession): (WebDriver::SessionHost::sendMessageToBackend): Add stubs for SessionHost when using a raw socket. * win/WebDriverServiceWin.cpp: Added. (WebDriver::WebDriverService::platformCapabilities): (WebDriver::WebDriverService::platformCompareBrowserVersions): (WebDriver::WebDriverService::platformValidateCapability const): (WebDriver::WebDriverService::platformMatchCapability const): (WebDriver::WebDriverService::platformParseCapabilities const): Add stubs for WebDriverService on Windows. Canonical link: https://commits.webkit.org/212160@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-21 13:10:52 +00:00
2019-05-21 Don Olmstead <don.olmstead@sony.com>
[WinCairo] Build WebDriver
https://bugs.webkit.org/show_bug.cgi?id=198056
Reviewed by Carlos Garcia Campos.
Add ENABLE_WEBDRIVER as an experimental feature for WinCairo.
* Source/cmake/OptionsWin.cmake:
[WPE] Add initial accessibility support using ATK https://bugs.webkit.org/show_bug.cgi?id=197413 Reviewed by Michael Catanzaro. .: Add ENABLE_ACCESSIBILITY public option to WPE. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Use USE(ATK) instead of PLATFORM(GTK) for ATK related code and use ATK when available for WPE port too. * PlatformWPE.cmake: * SourcesWPE.txt: * accessibility/AXObjectCache.h: * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canSetValueAttribute const): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange const): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityObjectInterface.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::indexForVisiblePosition const): (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant const): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const): * accessibility/AccessibilityTableHeaderContainer.cpp: (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const): * accessibility/atk/WebKitAccessible.cpp: (webkitAccessibleGetAttributes): * accessibility/wpe/AXObjectCacheWPE.cpp: Removed. * accessibility/wpe/AccessibilityObjectWPE.cpp: Removed. * editing/FrameSelection.h: Source/WebKit: Rename WebKitWebViewBaseAccessible as WebKitWebViewAccessible and move it to glib removing its dependency on GTK. WPEView now implements get_accessible to return its associated WebKitWebViewAccessible. * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitWebViewAccessible.cpp: Added. (webkitWebViewAccessibleInitialize): (webkitWebViewAccessibleRefStateSet): (webkitWebViewAccessibleGetIndexInParent): (webkit_web_view_accessible_class_init): (webkitWebViewAccessibleNew): (webkitWebViewAccessibleSetWebView): * UIProcess/API/glib/WebKitWebViewAccessible.h: Added. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseDispose): (webkitWebViewBaseGetAccessible): * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Removed. * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Removed. * UIProcess/API/wpe/PageClientImpl.cpp: (WebKit::PageClientImpl::accessible): * UIProcess/API/wpe/PageClientImpl.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): (WKWPE::View::~View): (WKWPE::View::accessible): * UIProcess/API/wpe/WPEView.h: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/wpe/WebPageProxyWPE.cpp: (WebKit::WebPageProxy::bindAccessibilityTree): Call atk_socket_embed() with the given plug ID. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::platformInitialize): Create the WebKitWebPageAccessibilityObject and send BindAccessibilityTree message to the UI process. * WebProcess/wpe/WebProcessMainWPE.cpp: (WebKit::initializeAccessibility): Implement AtkUtil interface and initialize the atk bridge. Tools: Add accessibility support in MiniBrowser and backends used by MiniBrowser and tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/main.cpp: (main): * TestWebKitAPI/PlatformWPE.cmake: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Removed. * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Removed. * WebKitTestRunner/PlatformWPE.cmake: * wpe/backends/CMakeLists.txt: * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::addKeyEventListener): (WPEToolingBackends::removeKeyEventListener): (WPEToolingBackends::notifyAccessibilityKeyEventListeners): (WPEToolingBackends::ViewBackend::initialize): (WPEToolingBackends::ViewBackend::initializeAccessibility): (WPEToolingBackends::ViewBackend::updateAccessibilityState): (WPEToolingBackends::ViewBackend::setAccessibleChild): (WPEToolingBackends::ViewBackend::addActivityState): (WPEToolingBackends::ViewBackend::removeActivityState): (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent): * wpe/backends/ViewBackend.h: * wpe/backends/WebKitAccessibleApplication.cpp: Added. (webkitAccessibleApplicationWindowInterfaceInit): (webkitAccessibleApplicationFinalize): (webkitAccessibleApplicationInitialize): (webkitAccessibleApplicationGetNChildren): (webkitAccessibleApplicationRefChild): (webkitAccessibleApplicationGetName): (webkit_accessible_application_class_init): (webkit_accessible_application_init): (webkitAccessibleApplicationNew): (webkitAccessibleApplicationSetChild): * wpe/backends/WebKitAccessibleApplication.h: Added. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): * wpe/jhbuild.modules: LayoutTests: Unskip accessibility tests that are passing now and add platform specific results. * platform/wpe/TestExpectations: * platform/wpe/accessibility/add-children-pseudo-element-expected.txt: Added. * platform/wpe/accessibility/aria-fallback-roles-expected.txt: Added. * platform/wpe/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added. * platform/wpe/accessibility/aria-label-on-label-element-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-label-expected.txt: Added. * platform/wpe/accessibility/aria-option-role-expected.txt: Added. * platform/wpe/accessibility/aria-roledescription-expected.txt: Added. * platform/wpe/accessibility/aria-switch-sends-notification-expected.txt: Added. * platform/wpe/accessibility/aria-tab-roles-expected.txt: Added. * platform/wpe/accessibility/aria-table-attributes-expected.txt: Added. * platform/wpe/accessibility/aria-table-content-expected.txt: Added. * platform/wpe/accessibility/aria-toggle-button-with-title-expected.txt: Added. * platform/wpe/accessibility/auto-fill-crash-expected.txt: Added. * platform/wpe/accessibility/button-with-aria-haspopup-role-expected.txt: Added. * platform/wpe/accessibility/color-well-expected.txt: Added. * platform/wpe/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added. * platform/wpe/accessibility/dimensions-include-descendants-expected.txt: Added. * platform/wpe/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added. * platform/wpe/accessibility/empty-image-with-title-expected.txt: Added. * platform/wpe/accessibility/file-upload-button-stringvalue-expected.txt: Added. * platform/wpe/accessibility/help-text-expected.txt: Added. * platform/wpe/accessibility/image-link-expected.txt: Added. * platform/wpe/accessibility/image-map1-expected.txt: Added. * platform/wpe/accessibility/image-map2-expected.txt: Added. * platform/wpe/accessibility/inline-continuations-expected.txt: Added. * platform/wpe/accessibility/label-with-pseudo-elements-expected.txt: Added. * platform/wpe/accessibility/list-detection-expected.txt: Added. * platform/wpe/accessibility/lists-expected.txt: Added. * platform/wpe/accessibility/math-multiscript-attributes-expected.txt: Added. * platform/wpe/accessibility/media-emits-object-replacement-expected.txt: Added. * platform/wpe/accessibility/menu-list-crash2-expected.txt: Added. * platform/wpe/accessibility/minimal-table-with-aria-is-data-table-expected.txt: Added. * platform/wpe/accessibility/press-targets-center-point-expected.txt: Added. * platform/wpe/accessibility/radio-button-title-label-expected.txt: Added. * platform/wpe/accessibility/render-counter-text-expected.txt: Added. * platform/wpe/accessibility/roles-computedRoleString-expected.txt: Added. * platform/wpe/accessibility/roles-exposed-expected.txt: Added. * platform/wpe/accessibility/set-selected-text-range-contenteditable-expected.txt: Added. * platform/wpe/accessibility/svg-remote-element-expected.txt: Added. * platform/wpe/accessibility/tabindex-elements-are-accessible-expected.txt: Added. * platform/wpe/accessibility/table-attributes-expected.txt: Added. * platform/wpe/accessibility/table-cell-spans-expected.txt: Added. * platform/wpe/accessibility/table-cells-expected.txt: Added. * platform/wpe/accessibility/table-cells-roles-expected.txt: Added. * platform/wpe/accessibility/table-column-headers-with-captions-expected.txt: Added. * platform/wpe/accessibility/table-one-cell-expected.txt: Added. * platform/wpe/accessibility/table-roles-hierarchy-expected.txt: Added. * platform/wpe/accessibility/table-sections-expected.txt: Added. * platform/wpe/accessibility/table-with-rules-expected.txt: Added. * platform/wpe/accessibility/text-alternative-calculation-hidden-nodes-expected.txt: Added. * platform/wpe/accessibility/transformed-element-expected.txt: Added. Canonical link: https://commits.webkit.org/212158@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-21 12:45:08 +00:00
2019-05-21 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Add initial accessibility support using ATK
https://bugs.webkit.org/show_bug.cgi?id=197413
Reviewed by Michael Catanzaro.
Add ENABLE_ACCESSIBILITY public option to WPE.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2019-05-20 Ross Kirsling <ross.kirsling@sony.com>
[WinCairo] Implement Remote Web Inspector Client.
https://bugs.webkit.org/show_bug.cgi?id=197434
Reviewed by Don Olmstead.
* Source/cmake/OptionsWin.cmake:
* Source/cmake/OptionsWinCairo.cmake:
[CMake] Use builtin FindICU https://bugs.webkit.org/show_bug.cgi?id=197934 Reviewed by Michael Catanzaro. .: Update CMake minimum required to 3.7. 3.7 has a FindICU module so the WebKit one is removed. For non-Apple ports this just requires adding individual components of ICU to find_package(ICU). For Apple ports the module does not work so the targets created in FindICU are mirrored in target/icu.cmake. * CMakeLists.txt: * Source/cmake/FindICU.cmake: Removed. * Source/cmake/OptionsAppleWin.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsJSCOnly.cmake: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/OptionsWinCairo.cmake: * Source/cmake/target/icu.cmake: Added. Source/JavaScriptCore: Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. * CMakeLists.txt: * PlatformWin.cmake: Source/WebCore: Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. * CMakeLists.txt: * PlatformPlayStation.cmake: * PlatformWPE.cmake: Source/WebCore/PAL: Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. * pal/CMakeLists.txt: Source/WebDriver: Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. * PlatformWPE.cmake: Source/WebKit: Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. * CMakeLists.txt: Source/WebKitLegacy: Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. * CMakeLists.txt: * PlatformWin.cmake: Source/WTF: Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. Use ICU:: targets which end up propagating to all consumers of WTF. * wtf/CMakeLists.txt: * wtf/PlatformPlayStation.cmake: Tools: Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. * TestWebKitAPI/PlatformMac.cmake: * TestWebKitAPI/PlatformPlayStation.cmake: * TestWebKitAPI/PlatformWin.cmake: * WebKitTestRunner/CMakeLists.txt: Canonical link: https://commits.webkit.org/212113@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-18 02:38:38 +00:00
2019-05-17 Don Olmstead <don.olmstead@sony.com>
[CMake] Use builtin FindICU
https://bugs.webkit.org/show_bug.cgi?id=197934
Reviewed by Michael Catanzaro.
Update CMake minimum required to 3.7. 3.7 has a FindICU module so the WebKit one
is removed. For non-Apple ports this just requires adding individual components of
ICU to find_package(ICU). For Apple ports the module does not work so the targets
created in FindICU are mirrored in target/icu.cmake.
* CMakeLists.txt:
* Source/cmake/FindICU.cmake: Removed.
* Source/cmake/OptionsAppleWin.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/target/icu.cmake: Added.
2019-05-09 Xan López <xan@igalia.com>
[CMake] Detect SSE2 at compile time
https://bugs.webkit.org/show_bug.cgi?id=196488
Reviewed by Carlos Garcia Campos.
* Source/cmake/DetectSSE2.cmake: Added.
* Source/cmake/WebKitCompilerFlags.cmake: Detect SSE2 support and
add SSE2 to the global compiler flags.
2019-05-08 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Update port options
https://bugs.webkit.org/show_bug.cgi?id=197723
Reviewed by Ross Kirsling.
Update the options used.
* Source/cmake/OptionsPlayStation.cmake:
2019-05-08 Ross Kirsling <ross.kirsling@sony.com>
Add .vs and .vscode directories to .gitignore.
https://bugs.webkit.org/show_bug.cgi?id=197727
Reviewed by Don Olmstead.
* .gitignore:
2019-05-07 Keith Rollin <krollin@apple.com>
Add option to build-webkit to control whether or not XCBuild is used
https://bugs.webkit.org/show_bug.cgi?id=197668
<rdar://problem/50549728>
Reviewed by Tim Horton.
Add --[no-]xcbuild to build-webkit to force the use of XCBuild or not.
Also update build-webkit and the makefiles with the foundation for
automatically using XCBuild when the conditions allow it. This latter
facility is currently turned off until Xcode fully supports building
WebKit with XCBuild.
* Makefile.shared:
2019-05-06 Christopher Reid <chris.reid@sony.com>
[CMake] fuse-ld should also be set in module linker flags
https://bugs.webkit.org/show_bug.cgi?id=197583
Reviewed by Michael Catanzaro.
Add fuse-ld to CMAKE_MODULE_LINKER_FLAGS.
* Source/cmake/OptionsCommon.cmake:
[WinCairo] Implement and enable RemoteInspector Server. https://bugs.webkit.org/show_bug.cgi?id=197432 Reviewed by Ross Kirsling. .: Add new build flag USE_INSPECTOR_SOCKET_SERVER to indicate using Socket implementation for RemoteInspector protocol. Currently PlayStation is the only platform which uses this. WinCairo is the second one. * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/OptionsWinCairo.cmake: Source/JavaScriptCore: Implement Windows implementation for Socket Backend of RemoteInspector and enable it on WinCairo for experimental feature. Also add listener interface for connection between RemoteInspector and RemoteInspectorServer for flexible configuration. * PlatformWin.cmake: * inspector/remote/RemoteInspector.h: * inspector/remote/socket/RemoteInspectorConnectionClient.h: (Inspector::RemoteInspectorConnectionClient::didAccept): * inspector/remote/socket/RemoteInspectorServer.cpp: (Inspector::RemoteInspectorServer::connect): (Inspector::RemoteInspectorServer::listenForTargets): (Inspector::RemoteInspectorServer::didAccept): (Inspector::RemoteInspectorServer::dispatchMap): (Inspector::RemoteInspectorServer::start): (Inspector::RemoteInspectorServer::addServerConnection): Deleted. * inspector/remote/socket/RemoteInspectorServer.h: (Inspector::RemoteInspectorServer::RemoteInspectorServer): * inspector/remote/socket/RemoteInspectorSocket.cpp: (Inspector::RemoteInspector::RemoteInspector): (Inspector::RemoteInspector::dispatchMap): (Inspector::RemoteInspector::start): (Inspector::RemoteInspector::stopInternal): (Inspector::RemoteInspector::setServerPort): * inspector/remote/socket/RemoteInspectorSocket.h: * inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp: (Inspector::RemoteInspectorSocketEndpoint::listenInet): (Inspector::RemoteInspectorSocketEndpoint::getPort const): (Inspector::RemoteInspectorSocketEndpoint::acceptInetSocketIfEnabled): * inspector/remote/socket/RemoteInspectorSocketEndpoint.h: * inspector/remote/socket/posix/RemoteInspectorSocketPOSIX.cpp: (Inspector::Socket::init): Added. (Inspector::Socket::listen): Signature changed. (Inspector::Socket::getPort): Added. * inspector/remote/socket/win/RemoteInspectorSocketWin.cpp: Added. (Inspector::Socket::init): (Inspector::Socket::Socket::Socket): (Inspector::Socket::Socket::~Socket): (Inspector::Socket::Socket::close): (Inspector::Socket::Socket::operator PlatformSocketType const): (Inspector::Socket::Socket::operator bool const): (Inspector::Socket::Socket::leak): (Inspector::Socket::Socket::create): (Inspector::Socket::setOpt): (Inspector::Socket::setOptEnabled): (Inspector::Socket::enableOpt): (Inspector::Socket::connectTo): (Inspector::Socket::bindAndListen): (Inspector::Socket::connect): (Inspector::Socket::listen): (Inspector::Socket::accept): (Inspector::Socket::createPair): (Inspector::Socket::setup): (Inspector::Socket::isValid): (Inspector::Socket::isListening): (Inspector::Socket::getPort): (Inspector::Socket::read): (Inspector::Socket::write): (Inspector::Socket::close): (Inspector::Socket::preparePolling): (Inspector::Socket::poll): (Inspector::Socket::isReadable): (Inspector::Socket::isWritable): (Inspector::Socket::markWaitingWritable): (Inspector::Socket::clearWaitingWritable): Canonical link: https://commits.webkit.org/211711@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-03 21:03:34 +00:00
2019-05-03 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Implement and enable RemoteInspector Server.
https://bugs.webkit.org/show_bug.cgi?id=197432
Reviewed by Ross Kirsling.
Add new build flag USE_INSPECTOR_SOCKET_SERVER to indicate using Socket implementation for RemoteInspector
protocol. Currently PlayStation is the only platform which uses this. WinCairo is the second one.
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/OptionsWinCairo.cmake:
2019-05-03 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r244881.
https://bugs.webkit.org/show_bug.cgi?id=197559
Breaks compilation of jsconly on linux, breaking compilation
for jsc-i386-ews, jsc-mips-ews and jsc-armv7-ews (Requested by
guijemont on #webkit).
Reverted changeset:
"[CMake] Refactor WEBKIT_MAKE_FORWARDING_HEADERS into
WEBKIT_COPY_FILES"
https://bugs.webkit.org/show_bug.cgi?id=197174
https://trac.webkit.org/changeset/244881
2019-05-02 Christopher Reid <chris.reid@sony.com>
[CMake] Add support for LTO builds
https://bugs.webkit.org/show_bug.cgi?id=188986
Reviewed by Don Olmstead.
Add LTO_MODE cmake variable to enable flto in clang builds.
Add support to use ld.lld to build with LTO.
* Source/cmake/OptionsCommon.cmake:
* Source/cmake/WebKitCompilerFlags.cmake:
[CMake] Refactor WEBKIT_MAKE_FORWARDING_HEADERS into WEBKIT_COPY_FILES https://bugs.webkit.org/show_bug.cgi?id=197174 Reviewed by Alex Christensen. .: Replace WEBKIT_MAKE_FORWARDING_HEADERS with WEBKIT_COPY_FILES which is a general purpose macro that copies files to a destination. WEBKIT_COPY_FILES removes the requirement of a target being passed in so there is no longer any implicit dependency between the target and the copying. Instead the dependencies need to be explicit. This opens the macro up for use by third party libraries and for copying other files to a destination. * Source/cmake/WebKitMacros.cmake: Source/JavaScriptCore: Replace WEBKIT_MAKE_FORWARDING_HEADERS with WEBKIT_COPY_FILES and make dependencies for framework headers explicit. * CMakeLists.txt: Source/WebCore: Replace WEBKIT_MAKE_FORWARDING_HEADERS with WEBKIT_COPY_FILES and make dependencies for framework headers explicit. * CMakeLists.txt: Source/WebCore/PAL: Replace WEBKIT_MAKE_FORWARDING_HEADERS with WEBKIT_COPY_FILES. * pal/CMakeLists.txt: Source/WebKit: Replace WEBKIT_MAKE_FORWARDING_HEADERS with WEBKIT_COPY_FILES and make dependencies for framework headers explicit. * CMakeLists.txt: * PlatformWin.cmake: Source/WebKitLegacy: Replace WEBKIT_MAKE_FORWARDING_HEADERS with WEBKIT_COPY_FILES and make dependencies for framework headers explicit. * PlatformWin.cmake: Source/WTF: Replace WEBKIT_MAKE_FORWARDING_HEADERS with WEBKIT_COPY_FILES. * wtf/CMakeLists.txt: Tools: Make TestJSC dependent on JavaScriptCorePrivateFrameworkHeaders. * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: Canonical link: https://commits.webkit.org/211680@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-02 20:37:41 +00:00
2019-05-02 Don Olmstead <don.olmstead@sony.com>
[CMake] Refactor WEBKIT_MAKE_FORWARDING_HEADERS into WEBKIT_COPY_FILES
https://bugs.webkit.org/show_bug.cgi?id=197174
Reviewed by Alex Christensen.
Replace WEBKIT_MAKE_FORWARDING_HEADERS with WEBKIT_COPY_FILES which is a general
purpose macro that copies files to a destination. WEBKIT_COPY_FILES removes the
requirement of a target being passed in so there is no longer any implicit dependency
between the target and the copying. Instead the dependencies need to be explicit.
This opens the macro up for use by third party libraries and for copying other files
to a destination.
* Source/cmake/WebKitMacros.cmake:
2019-05-01 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Update port for WEBKIT_EXECUTABLE changes
https://bugs.webkit.org/show_bug.cgi?id=197483
Reviewed by Don Olmstead.
* Source/cmake/OptionsPlayStation.cmake:
Update wrapping for configuring executables' playstation
specific data to new WEBKIT_EXECUTABLE macro.
[GTK] Support prefers-color-scheme media query https://bugs.webkit.org/show_bug.cgi?id=196685 Reviewed by Michael Catanzaro. .: Enable DARK_MODE_CSS. Supported color schemes feature is not supported for now. I'm not sure we will be able to suport it, because it requires to change the theme too many times, which is very slow in GTK. * Source/cmake/OptionsGTK.cmake: Source/WebCore: Change the gtk-application-prefer-dark-theme setting when tests change the useDarkModeAppearance setting. * PlatformGTK.cmake: * testing/InternalSettings.cpp: (WebCore::InternalSettings::resetToConsistentState): (WebCore::InternalSettings::setUseDarkAppearanceInternal): (WebCore::InternalSettings::setUseDarkAppearance): * testing/InternalSettings.h: LayoutTests: Unskip css-dark-mode tests and add platform specific results for some of the tests using the supported color scheme feature. * platform/gtk/TestExpectations: * platform/gtk/css-dark-mode/color-scheme-css-expected.txt: Added. * platform/gtk/css-dark-mode/color-scheme-meta-expected.txt: Added. * platform/gtk/css-dark-mode/default-colors-expected.txt: Added. * platform/gtk/css-dark-mode/older-syntax/supported-color-schemes-css-expected.txt: Added. * platform/gtk/css-dark-mode/older-syntax/supported-color-schemes-meta-expected.txt: Added. * platform/gtk/css-dark-mode/prefers-color-scheme-expected.txt: Added. Canonical link: https://commits.webkit.org/211591@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-04-30 09:06:23 +00:00
2019-04-30 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Support prefers-color-scheme media query
https://bugs.webkit.org/show_bug.cgi?id=196685
Reviewed by Michael Catanzaro.
Enable DARK_MODE_CSS. Supported color schemes feature is not supported for now. I'm not sure we will be able to
suport it, because it requires to change the theme too many times, which is very slow in GTK.
* Source/cmake/OptionsGTK.cmake:
2019-04-29 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WEBKIT_EXECUTABLE macro
https://bugs.webkit.org/show_bug.cgi?id=197206
Unreviewed build fix.
Calls to add_dependencies were not happening.
* Source/cmake/WebKitMacros.cmake:
2019-04-29 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Win] Add flag to enable version information stamping and disable by default.
https://bugs.webkit.org/show_bug.cgi?id=197249
<rdar://problem/50224412>
Reviewed by Ross Kirsling.
This feature is only used in AppleWin port. Add flag for this task and make it OFF by default.
Then enable it by default on AppleWin.
* Source/cmake/OptionsWin.cmake:
2019-04-28 Andy Estes <aestes@apple.com>
Fix the watchOS engineering build.
* Source/Makefile: Moved libwebrtc logic into Source/ThirdParty/Makefile.
2019-04-26 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WEBKIT_EXECUTABLE macro
https://bugs.webkit.org/show_bug.cgi?id=197206
Reviewed by Konstantin Tokarev.
Add WEBKIT_EXECUTABLE macro for creating executable targets. This wraps the creation of
executable targets using the same conventions of WEBKIT_FRAMEWORK.
Common code from the two macros were moved to WEBKIT_TARGET which is meant as an internal
macro.
Add WEBKIT_WRAP_EXECUTABLE macro to support Windows targets which use a DLLLauncherMain to
launch the executable.
* Source/cmake/WebKitMacros.cmake:
2019-04-25 Fujii Hironori <Hironori.Fujii@sony.com>
Unreviewed, rolling out r244669.
Windows ports can't clean build.
Reverted changeset:
"[Win] Add flag to enable version information stamping and
disable by default."
https://bugs.webkit.org/show_bug.cgi?id=197249
https://trac.webkit.org/changeset/244669
2019-04-25 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Win] Add flag to enable version information stamping and disable by default.
https://bugs.webkit.org/show_bug.cgi?id=197249
Reviewed by Ross Kirsling.
This feature is only used in AppleWin port. Add flag for this task and make it OFF by default.
Then enable it by default on AppleWin.
* Source/cmake/OptionsWin.cmake:
Start using C++17 https://bugs.webkit.org/show_bug.cgi?id=197131 .: Reviewed by Darin Adler. * Source/cmake/OptionsMSVC.cmake: * Source/cmake/WebKitCompilerFlags.cmake: Source/bmalloc: Reviewed by Darin Adler. * Configurations/Base.xcconfig: Source/JavaScriptCore: Reviewed by Darin Alder. * Configurations/Base.xcconfig: Source/ThirdParty: Reviewed by Darin Adler. * gtest/xcode/Config/General.xcconfig: Source/ThirdParty/ANGLE: Reviewed by Darin Adler. * Configurations/Base.xcconfig: Source/ThirdParty/libwebrtc: Reviewed by Darin Adler. * Configurations/Base.xcconfig: Source/WebCore: Reviewed by Darin Adler. * Configurations/Base.xcconfig: * DerivedSources.make: Source/WebCore/PAL: Reviewed by Darin Adler. * Configurations/Base.xcconfig: Source/WebInspectorUI: Reviewed by Darin Adler. * Configurations/Base.xcconfig: Source/WebKit: Reviewed by Darin Adler. * Configurations/Base.xcconfig: * DerivedSources.make: Source/WebKitLegacy/mac: Reviewed by Darin Adler. * Configurations/Base.xcconfig: Source/WTF: Reviewed by Darin Adler. * Configurations/Base.xcconfig: * wtf/CMakeLists.txt: * wtf/Variant.h: (WTF::switchOn): Tools: Reviewed by Darin Adler. * DumpRenderTree/mac/Configurations/Base.xcconfig: * MiniBrowser/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: Canonical link: https://commits.webkit.org/211493@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-04-25 17:41:29 +00:00
2019-04-25 Alex Christensen <achristensen@webkit.org>
Start using C++17
https://bugs.webkit.org/show_bug.cgi?id=197131
Reviewed by Darin Adler.
* Source/cmake/OptionsMSVC.cmake:
* Source/cmake/WebKitCompilerFlags.cmake:
[GTK] Hardcoded text color in input fields https://bugs.webkit.org/show_bug.cgi?id=126907 Reviewed by Michael Catanzaro. .: Set and expose to build HAVE_OS_DARK_MODE_SUPPORT=1. * Source/cmake/OptionsGTK.cmake: Source/WebCore: Enable HAVE_OS_DARK_MODE_SUPPORT for GTK port to ensure that dark mode is used when Page::useDarkAppearance() returns true. This patch reverts r232913, I'll reopen the bug, I think we need to find a better solution for that. * CMakeLists.txt: Add HAVE_OS_DARK_MODE_SUPPORT to FEATURE_DEFINES_WITH_SPACE_SEPARATOR if enabled. * css/CSSDefaultStyleSheets.cpp: Ensure html{color:text} is used in simple style sheet when HAVE_OS_DARK_MODE_SUPPORT is enabled. * page/FrameView.cpp: (WebCore::FrameView::updateBackgroundRecursively): Use CSSValueWindowframe to get the frame view background color when HAVE_OS_DARK_MODE_SUPPORT is enabled for non-mac ports. * platform/gtk/RenderThemeWidget.cpp: (WebCore::RenderThemeWidget::getOrCreate): Create window widget. (WebCore::RenderThemeWindow::RenderThemeWindow): Add window widget. * platform/gtk/RenderThemeWidget.h: * rendering/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::disabledTextColor const): Always use the color from the theme for consistency with other form controls. (WebCore::RenderThemeGtk::systemColor const): Get the color from the theme for CSSValueText, CSSValueGraytext and CSSValueWindowframe. * rendering/RenderThemeGtk.h: Source/WebKit: Implement PageClient::effectiveAppearanceIsDark() for GTK port. * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::effectiveAppearanceIsDark const): Check if gtk-application-prefer-dark-theme setting is enabled, or the theme name contains the -dark suffix or the GTK_THEME environment variable contains the :dark suffix. * UIProcess/API/gtk/PageClientImpl.h: * UIProcess/API/gtk/WebKitWebViewBase.cpp: (themeChanged): Notify the WebPageProxy that the theme has changed. (webkitWebViewBaseSetToplevelOnScreenWindow): Connect to notify::gtk-application-prefer-dark-theme and notify::gtk-theme-name. * WebProcess/WebPage/WebPage.cpp: * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::setUseDarkAppearance): Set gtk-application-prefer-dark-theme setting accordingly. Source/WTF: Define HAVE_OS_DARK_MODE_SUPPORT for GTK port. * wtf/Platform.h: Tools: Add dark-mode command line option to MiniBrowser. * MiniBrowser/gtk/main.c: (main): LayoutTests: Remove expectations for tests that are passing again. * platform/gtk/TestExpectations: Canonical link: https://commits.webkit.org/211479@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-04-25 05:51:01 +00:00
2019-04-24 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Hardcoded text color in input fields
https://bugs.webkit.org/show_bug.cgi?id=126907
Reviewed by Michael Catanzaro.
Set and expose to build HAVE_OS_DARK_MODE_SUPPORT=1.
* Source/cmake/OptionsGTK.cmake:
2019-04-23 Don Olmstead <don.olmstead@sony.com>
[CMake][Win] Use target oriented design for WebKit
https://bugs.webkit.org/show_bug.cgi?id=197173
Reviewed by Alex Christensen.
Override WebKit_DERIVED_SOUCES_DIR within WinCairo in support of a target
oriented design.
* Source/cmake/OptionsWinCairo.cmake:
2019-04-20 Don Olmstead <don.olmstead@sony.com>
[CMake][Win] Use target oriented design for WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=197112
Reviewed by Konstantin Tokarev.
Override WebKitLegacy_DERIVED_SOURCES_DIR within WinCairo in support of a target
oriented design.
* Source/cmake/OptionsWinCairo.cmake:
2019-04-18 Ross Kirsling <ross.kirsling@sony.com>
[WinCairo] Non-unified build fails to link Tools
https://bugs.webkit.org/show_bug.cgi?id=196866
Reviewed by Fujii Hironori.
* Source/cmake/OptionsWin.cmake:
Build WebCore as an object library when unified builds are disabled
(and we haven't explicitly asked to build it as a shared library).
This is necessary for two reasons:
- Non-unified WebCore.lib is too large for the MSVC linker to create (>4GB).
- Some WebCore object files are not actually used, but DumpRenderTree and TestRunnerInjectedBundle
still expect that their symbols will be re-exported via WebKit[Legacy].
2019-04-17 Jer Noble <jer.noble@apple.com>
Automatically use ccache when available for Makefile builds
https://bugs.webkit.org/show_bug.cgi?id=197020
Reviewed by Alex Christensen.
* Makefile.shared:
2019-04-16 Don Olmstead <don.olmstead@sony.com>
[CMake] Set WTF_SCRIPTS_DIR
https://bugs.webkit.org/show_bug.cgi?id=196917
Reviewed by Konstantin Tokarev.
Define WTF_SCRIPTS_DIR in WebKitFS.cmake and use that within the WEBKIT_COMPUTE_SOURCES
macro. This allows it to be overridden by a port such as the AppleWin internal build.
* Source/cmake/OptionsAppleWin.cmake:
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/WebKitFS.cmake:
* Source/cmake/WebKitMacros.cmake:
2019-04-15 Don Olmstead <don.olmstead@sony.com>
[CMake] WebCore derived sources should only be referenced inside WebCore
https://bugs.webkit.org/show_bug.cgi?id=196904
Reviewed by Konstantin Tokarev.
Override WebCore_DERIVED_SOURCES_DIR for WinCairo.
* Source/cmake/OptionsWinCairo.cmake:
[CMake] JavaScriptCore derived sources should only be referenced inside JavaScriptCore https://bugs.webkit.org/show_bug.cgi?id=196742 Reviewed by Konstantin Tokarev. .: Migrate to using JavaScriptCore_DERIVED_SOURCES_DIR instead of DERIVED_SOURCES_JAVASCRIPTCORE_DIR to support moving the JavaScriptCore derived sources outside of a shared directory. This is in support of the target oriented design refactoring. WinCairo is explicitly overriding the value as a canary for this setup. Also move JavaScriptCore_SCRIPTS_DIR to WebKitFS to remove logic setting it in other projects. * Source/PlatformWin.cmake: * Source/cmake/OptionsAppleWin.cmake: * Source/cmake/OptionsWinCairo.cmake: * Source/cmake/WebKitFS.cmake: Source/JavaScriptCore: Migrate to using JavaScriptCore_DERIVED_SOURCES_DIR instead of DERIVED_SOURCES_JAVASCRIPTCORE_DIR to support moving the JavaScriptCore derived sources outside of a shared directory. Also use JavaScriptCore_DERIVED_SOURCES_DIR instead of DERIVED_SOUCES_DIR. * CMakeLists.txt: Source/WebCore: Don't set JavaScriptCore_SCRIPTS_DIR now that it is set within WebKitFS. * CMakeLists.txt: Source/WebDriver: Don't set JavaScriptCore_SCRIPTS_DIR now that it is set within WebKitFS. * CMakeLists.txt: Source/WebKit: Don't set JavaScriptCore_SCRIPTS_DIR now that it is set within WebKitFS. * CMakeLists.txt: * PlatformWin.cmake: Remove use of DERIVED_SOURCES_JAVASCRIPTCORE_DIR. Canonical link: https://commits.webkit.org/211153@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-04-14 13:50:01 +00:00
2019-04-14 Don Olmstead <don.olmstead@sony.com>
[CMake] JavaScriptCore derived sources should only be referenced inside JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=196742
Reviewed by Konstantin Tokarev.
Migrate to using JavaScriptCore_DERIVED_SOURCES_DIR instead of DERIVED_SOURCES_JAVASCRIPTCORE_DIR
to support moving the JavaScriptCore derived sources outside of a shared directory.
This is in support of the target oriented design refactoring.
WinCairo is explicitly overriding the value as a canary for this setup.
Also move JavaScriptCore_SCRIPTS_DIR to WebKitFS to remove logic setting it in other projects.
* Source/PlatformWin.cmake:
* Source/cmake/OptionsAppleWin.cmake:
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/WebKitFS.cmake:
2019-04-10 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, rolling out r243989.
Broke i686 builds
Reverted changeset:
"[CMake] Detect SSE2 at compile time"
https://bugs.webkit.org/show_bug.cgi?id=196488
https://trac.webkit.org/changeset/243989
2019-04-09 Don Olmstead <don.olmstead@sony.com>
[CMake] WEBKIT_COMPUTE_SOURCES should use the target's derived sources directory
https://bugs.webkit.org/show_bug.cgi?id=196741
Reviewed by Michael Catanzaro.
WEBKIT_COMPUTE_SOURCES is using ${DERIVED_SOURCES_DIR} directly. Instead it should
rely on the directory specified by the target.
* Source/cmake/WebKitFS.cmake:
Add variables that can be expanded within CMake to the derived sources directory for
a target.
* Source/cmake/WebKitMacros.cmake:
Use variable expansion rather than ${DERIVED_SOURCES_DIR} to determine the target's
derived sources directory.
2019-04-09 Don Olmstead <don.olmstead@sony.com>
[CMake] WTF derived sources should only be referenced inside WTF
https://bugs.webkit.org/show_bug.cgi?id=196706
Reviewed by Konstantin Tokarev.
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/WebKitFS.cmake:
2019-04-09 Don Olmstead <don.olmstead@sony.com>
[CMake] Apple builds should use ICU_INCLUDE_DIRS
https://bugs.webkit.org/show_bug.cgi?id=196720
Reviewed by Konstantin Tokarev.
The Apple platform is using ${DERIVED_SOURCES_WTF_DIR} for hosting the ICU headers.
Instead it should stage the headers into ${ICU_INCLUDE_DIRS} so no special handling
is needed.
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsMac.cmake:
2019-04-08 Don Olmstead <don.olmstead@sony.com>
[CMake][WinCairo] Separate copied headers into different directories
https://bugs.webkit.org/show_bug.cgi?id=196655
Reviewed by Michael Catanzaro.
Add variables for the paths to copied framework headers. This is done to be
explicit rather than relying on ${FORWARDING_HEADERS_DIR}.
Currently all ports but WinCairo will default to ${FORWARDING_HEADERS_DIR}.
WinCairo overrides them to provide a directory structure that looks more
like what happens in an XCode build. This is meant as an intermediate step
towards making all CMake ports behave like this.
* Source/cmake/OptionsWinCairo.cmake:
* Source/cmake/WebKitFS.cmake:
* Source/cmake/WebKitMacros.cmake:
2019-04-08 Xan Lopez <xan@igalia.com>
[CMake] Detect SSE2 at compile time
https://bugs.webkit.org/show_bug.cgi?id=196488
Reviewed by Carlos Garcia Campos.
* CMakeLists.txt: Use FindSSE2.cmake to detect SSE2 support.
* Source/cmake/FindSSE2.cmake: Added.
2019-04-05 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r243833.
https://bugs.webkit.org/show_bug.cgi?id=196645
This change breaks build of WPE and GTK ports (Requested by
annulen on #webkit).
Reverted changeset:
"[CMake][WTF] Mirror XCode header directories"
https://bugs.webkit.org/show_bug.cgi?id=191662
https://trac.webkit.org/changeset/243833
[CMake][WTF] Mirror XCode header directories https://bugs.webkit.org/show_bug.cgi?id=191662 Reviewed by Konstantin Tokarev. .: Add WTF_FRAMEWORK_HEADERS_DIR to place WTF headers into. Add frameworks/WTF.cmake which creates an interface target which will populate dependencies for consumers. This file is added here to support AppleWin internal builds which invoke CMake on each directory. * Source/cmake/WebKitFS.cmake: * Source/cmake/frameworks/WTF.cmake: Added. Source/JavaScriptCore: Use WTFFramework as a dependency and include frameworks/WTF.cmake for AppleWin internal builds. * CMakeLists.txt: * shell/CMakeLists.txt: Source/WebCore: Use WTFFramework as a dependency and include frameworks/WTF.cmake for AppleWin internal builds. * CMakeLists.txt: * PlatformWin.cmake: Source/WebDriver: Use WTFFramework as a dependency. * CMakeLists.txt: Source/WebKit: Use WTFFramework as a dependency and include frameworks/WTF.cmake for AppleWin internal builds. * CMakeLists.txt: Source/WebKitLegacy: Use WTFFramework as a dependency and include frameworks/WTF.cmake for AppleWin internal builds. * CMakeLists.txt: * PlatformWin.cmake: Source/WebKitLegacy/win: * WebKitQuartzCoreAdditions/CMakeLists.txt: Source/WTF: Rename WTF forwarding header target to WTFFramework and update the install location to WTF_FRAMEWORK_HEADERS_DIR. * wtf/CMakeLists.txt: Tools: Use WTFFramework as a dependency and include frameworks/WTF.cmake for AppleWin internal builds. * CMakeLists.txt: * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/PlatformWin.cmake: * MiniBrowser/win/CMakeLists.txt: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformWin.cmake: * WebKitTestRunner/PlatformGTK.cmake: * WebKitTestRunner/PlatformWin.cmake: Canonical link: https://commits.webkit.org/210829@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-04-03 23:08:44 +00:00
2019-04-03 Don Olmstead <don.olmstead@sony.com>
[CMake][WTF] Mirror XCode header directories
https://bugs.webkit.org/show_bug.cgi?id=191662
Reviewed by Konstantin Tokarev.
Add WTF_FRAMEWORK_HEADERS_DIR to place WTF headers into. Add frameworks/WTF.cmake
which creates an interface target which will populate dependencies for consumers.
This file is added here to support AppleWin internal builds which invoke CMake on
each directory.
* Source/cmake/WebKitFS.cmake:
* Source/cmake/frameworks/WTF.cmake: Added.
Remove support for -apple-trailing-word https://bugs.webkit.org/show_bug.cgi?id=196525 Reviewed by Zalan Bujtas. This CSS property is nonstandard and not used. .: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::operator TrailingWord const): Deleted. * css/CSSProperties.json: * css/CSSValueKeywords.in: * css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): (WebCore::CSSParserFastPaths::isKeywordPropertyID): * rendering/SimpleLineLayout.cpp: (WebCore::SimpleLineLayout::canUseForStyle): * rendering/SimpleLineLayoutCoverage.cpp: (WebCore::SimpleLineLayout::printReason): * rendering/SimpleLineLayoutCoverage.h: * rendering/line/BreakingContext.h: (WebCore::BreakingContext::BreakingContext): (WebCore::BreakingContext::lineBreak): (WebCore::BreakingContext::clearLineBreakIfFitsOnLine): (WebCore::BreakingContext::commitLineBreakClear): (WebCore::BreakingContext::commitLineBreakAtCurrentWidth): (WebCore::BreakingContext::handleBR): (WebCore::BreakingContext::handleFloat): (WebCore::BreakingContext::handleText): (WebCore::BreakingContext::handleEndOfLine): (WebCore::BreakingContext::InlineIteratorHistory::InlineIteratorHistory): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::push): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::update): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::renderer const): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::offset const): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::nextBreakablePosition const): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::atTextParagraphSeparator const): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::previousInSameNode const): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::get const): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::current const): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::historyLength const): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::moveTo): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::increment): Deleted. (WebCore::BreakingContext::InlineIteratorHistory::clear): Deleted. (WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord): Deleted. * rendering/style/RenderStyle.h: (WebCore::RenderStyle::trailingWord const): Deleted. (WebCore::RenderStyle::setTrailingWord): Deleted. (WebCore::RenderStyle::initialTrailingWord): Deleted. * rendering/style/RenderStyleConstants.h: * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * rendering/style/StyleRareInheritedData.h: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebInspectorUI: * UserInterface/Models/CSSKeywordCompletions.js: Source/WebKit: * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: LayoutTests: * fast/text/trailing-word-expected.html: Removed. * fast/text/trailing-word.html: Removed. * platform/gtk/TestExpectations: * platform/mac/fast/text/trailing-word-parse-expected.txt: Removed. * platform/mac/fast/text/trailing-word-parse.html: Removed. * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/210815@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-04-03 19:47:58 +00:00
2019-04-03 Myles C. Maxfield <mmaxfield@apple.com>
Remove support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=196525
Reviewed by Zalan Bujtas.
This CSS property is nonstandard and not used.
* Source/cmake/WebKitFeatures.cmake:
[CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers https://bugs.webkit.org/show_bug.cgi?id=182757 Reviewed by Don Olmstead. .: Some generated headers need to be exported to its client modules. Before this change, WEBKIT_MAKE_FORWARDING_HEADERS copies all *.h files in the directory specified by DERIVED_SOURCE_DIRECTORIES parameter. The copy operation was triggered by POST_BUILD event. This caused build dependency issues for Ninja builds. This change remove the DERIVED_SOURCE_DIRECTORIES parameter. And list all generated headers explicitly which need to be copied. * Source/cmake/WebKitMacros.cmake: Removed DERIVED_SOURCE_DIRECTORIES parameter of WEBKIT_MAKE_FORWARDING_HEADERS. Accept absolute paths for FILES parameter. Source/JavaScriptCore: * CMakeLists.txt: Do not use DERIVED_SOURCE_DIRECTORIES parameter of WEBKIT_MAKE_FORWARDING_HEADERS. Added generated headers to JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS. Source/WebCore: No new tests because no behavior changes. * PlatformWin.cmake: Do not use DERIVED_SOURCE_DIRECTORIES of WEBKIT_MAKE_FORWARDING_HEADERS. Added WebCore_PRIVATE_FRAMEWORK_HEADERS. * WebCoreMacros.cmake (GENERATE_DOM_NAMES): Added ${_namespace}ElementTypeHelpers.h to _outputfiles. Source/WebKitLegacy: * PlatformWin.cmake: Do not use DERIVED_SOURCE_DIRECTORIES parameter of WEBKIT_MAKE_FORWARDING_HEADERS. Added WebKitLegacyGUID_PRIVATE_FRAMEWORK_HEADERS. Tools: * TestWebKitAPI/PlatformGTK.cmake: Removed the workaround of using an intermediate target. * TestWebKitAPI/PlatformWPE.cmake: Ditto. Canonical link: https://commits.webkit.org/210758@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-04-02 16:33:02 +00:00
2019-04-02 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers
https://bugs.webkit.org/show_bug.cgi?id=182757
Reviewed by Don Olmstead.
Some generated headers need to be exported to its client modules.
Before this change, WEBKIT_MAKE_FORWARDING_HEADERS copies all *.h
files in the directory specified by DERIVED_SOURCE_DIRECTORIES
parameter. The copy operation was triggered by POST_BUILD event.
This caused build dependency issues for Ninja builds. This change
remove the DERIVED_SOURCE_DIRECTORIES parameter. And list all
generated headers explicitly which need to be copied.
* Source/cmake/WebKitMacros.cmake: Removed
DERIVED_SOURCE_DIRECTORIES parameter of
WEBKIT_MAKE_FORWARDING_HEADERS. Accept absolute paths for FILES
parameter.
2019-04-01 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] Remove EXTRA_DIRECTORIES parameter of WEBKIT_MAKE_FORWARDING_HEADERS
https://bugs.webkit.org/show_bug.cgi?id=196436
Reviewed by Darin Adler.
The parameter was only for WebCore/ForwardingHeaders which was
removed in Bug 182347.
* Source/cmake/WebKitMacros.cmake: Remove unused EXTRA_DIRECTORIES parameter.
2019-04-01 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Add initialization for JSC shell for PlayStation port
https://bugs.webkit.org/show_bug.cgi?id=195411
Reviewed by Ross Kirsling.
Add functions for doing the automatic libc, floating point
initializations, signing of binaries and libraries and
wrapping of libc functions on PlayStation port.
* Source/cmake/OptionsPlayStation.cmake:
Delete WebMetal implementation in favor of WebGPU https://bugs.webkit.org/show_bug.cgi?id=195418 Reviewed by Dean Jackson. .: * Source/cmake/OptionsMac.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: * inspector/protocol/Canvas.json: * inspector/scripts/codegen/generator.py: Source/WebCore: WebMetal was only ever intended to be a proof-of-concept, and was never intended to be shipped. Now that our WebGPU implementation is achieving good functionality, we're hitting conflicts because we have both implementations. We should delete the non-standard implementation in favor of the standards-based implementation. Deletes relevant tests. * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Sources.txt: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSWebMetalRenderPassAttachmentDescriptorCustom.cpp: Removed. * bindings/js/JSWebMetalRenderingContextCustom.cpp: Removed. * bindings/js/WebCoreBuiltinNames.h: * dom/Document.cpp: (WebCore::Document::getCSSCanvasContext): * dom/Document.h: * dom/Document.idl: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): (WebCore::HTMLCanvasElement::isWebMetalType): Deleted. (WebCore::HTMLCanvasElement::createContextWebMetal): Deleted. (WebCore::HTMLCanvasElement::getContextWebMetal): Deleted. * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/canvas/CanvasRenderingContext.h: (WebCore::CanvasRenderingContext::isWebGPU const): (WebCore::CanvasRenderingContext::isWebMetal const): Deleted. * html/canvas/WebMetalBuffer.cpp: Removed. * html/canvas/WebMetalBuffer.h: Removed. * html/canvas/WebMetalBuffer.idl: Removed. * html/canvas/WebMetalCommandBuffer.cpp: Removed. * html/canvas/WebMetalCommandBuffer.h: Removed. * html/canvas/WebMetalCommandBuffer.idl: Removed. * html/canvas/WebMetalCommandQueue.cpp: Removed. * html/canvas/WebMetalCommandQueue.h: Removed. * html/canvas/WebMetalCommandQueue.idl: Removed. * html/canvas/WebMetalComputeCommandEncoder.cpp: Removed. * html/canvas/WebMetalComputeCommandEncoder.h: Removed. * html/canvas/WebMetalComputeCommandEncoder.idl: Removed. * html/canvas/WebMetalComputePipelineState.cpp: Removed. * html/canvas/WebMetalComputePipelineState.h: Removed. * html/canvas/WebMetalComputePipelineState.idl: Removed. * html/canvas/WebMetalDepthStencilDescriptor.cpp: Removed. * html/canvas/WebMetalDepthStencilDescriptor.h: Removed. * html/canvas/WebMetalDepthStencilDescriptor.idl: Removed. * html/canvas/WebMetalDepthStencilState.cpp: Removed. * html/canvas/WebMetalDepthStencilState.h: Removed. * html/canvas/WebMetalDepthStencilState.idl: Removed. * html/canvas/WebMetalDrawable.cpp: Removed. * html/canvas/WebMetalDrawable.h: Removed. * html/canvas/WebMetalDrawable.idl: Removed. * html/canvas/WebMetalEnums.cpp: Removed. * html/canvas/WebMetalEnums.h: Removed. * html/canvas/WebMetalEnums.idl: Removed. * html/canvas/WebMetalFunction.cpp: Removed. * html/canvas/WebMetalFunction.h: Removed. * html/canvas/WebMetalFunction.idl: Removed. * html/canvas/WebMetalLibrary.cpp: Removed. * html/canvas/WebMetalLibrary.h: Removed. * html/canvas/WebMetalLibrary.idl: Removed. * html/canvas/WebMetalRenderCommandEncoder.cpp: Removed. * html/canvas/WebMetalRenderCommandEncoder.h: Removed. * html/canvas/WebMetalRenderCommandEncoder.idl: Removed. * html/canvas/WebMetalRenderPassAttachmentDescriptor.cpp: Removed. * html/canvas/WebMetalRenderPassAttachmentDescriptor.h: Removed. * html/canvas/WebMetalRenderPassAttachmentDescriptor.idl: Removed. * html/canvas/WebMetalRenderPassColorAttachmentDescriptor.cpp: Removed. * html/canvas/WebMetalRenderPassColorAttachmentDescriptor.h: Removed. * html/canvas/WebMetalRenderPassColorAttachmentDescriptor.idl: Removed. * html/canvas/WebMetalRenderPassDepthAttachmentDescriptor.cpp: Removed. * html/canvas/WebMetalRenderPassDepthAttachmentDescriptor.h: Removed. * html/canvas/WebMetalRenderPassDepthAttachmentDescriptor.idl: Removed. * html/canvas/WebMetalRenderPassDescriptor.cpp: Removed. * html/canvas/WebMetalRenderPassDescriptor.h: Removed. * html/canvas/WebMetalRenderPassDescriptor.idl: Removed. * html/canvas/WebMetalRenderPipelineColorAttachmentDescriptor.cpp: Removed. * html/canvas/WebMetalRenderPipelineColorAttachmentDescriptor.h: Removed. * html/canvas/WebMetalRenderPipelineColorAttachmentDescriptor.idl: Removed. * html/canvas/WebMetalRenderPipelineDescriptor.cpp: Removed. * html/canvas/WebMetalRenderPipelineDescriptor.h: Removed. * html/canvas/WebMetalRenderPipelineDescriptor.idl: Removed. * html/canvas/WebMetalRenderPipelineState.cpp: Removed. * html/canvas/WebMetalRenderPipelineState.h: Removed. * html/canvas/WebMetalRenderPipelineState.idl: Removed. * html/canvas/WebMetalRenderingContext.cpp: Removed. * html/canvas/WebMetalRenderingContext.h: Removed. * html/canvas/WebMetalRenderingContext.idl: Removed. * html/canvas/WebMetalSize.h: Removed. * html/canvas/WebMetalSize.idl: Removed. * html/canvas/WebMetalTexture.cpp: Removed. * html/canvas/WebMetalTexture.h: Removed. * html/canvas/WebMetalTexture.idl: Removed. * html/canvas/WebMetalTextureDescriptor.cpp: Removed. * html/canvas/WebMetalTextureDescriptor.h: Removed. * html/canvas/WebMetalTextureDescriptor.idl: Removed. * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::buildObjectForCanvas): * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::requestContent): (WebCore::contextAsScriptValue): * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setWebMetalEnabled): Deleted. (WebCore::RuntimeEnabledFeatures::webMetalEnabled const): Deleted. * platform/Logging.h: * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: (WebCore::PlatformCALayerCocoa::layerTypeForPlatformLayer): (WebCore::PlatformCALayerCocoa::PlatformCALayerCocoa): * platform/graphics/cocoa/WebMetalLayer.h: Removed. * platform/graphics/cocoa/WebMetalLayer.mm: Removed. * platform/graphics/gpu/legacy/GPULegacyBuffer.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyBuffer.h: Removed. * platform/graphics/gpu/legacy/GPULegacyCommandBuffer.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyCommandBuffer.h: Removed. * platform/graphics/gpu/legacy/GPULegacyCommandQueue.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyCommandQueue.h: Removed. * platform/graphics/gpu/legacy/GPULegacyComputeCommandEncoder.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyComputeCommandEncoder.h: Removed. * platform/graphics/gpu/legacy/GPULegacyComputePipelineState.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyComputePipelineState.h: Removed. * platform/graphics/gpu/legacy/GPULegacyDepthStencilDescriptor.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyDepthStencilDescriptor.h: Removed. * platform/graphics/gpu/legacy/GPULegacyDepthStencilState.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyDepthStencilState.h: Removed. * platform/graphics/gpu/legacy/GPULegacyDevice.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyDevice.h: Removed. * platform/graphics/gpu/legacy/GPULegacyDrawable.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyDrawable.h: Removed. * platform/graphics/gpu/legacy/GPULegacyEnums.h: Removed. * platform/graphics/gpu/legacy/GPULegacyFunction.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyFunction.h: Removed. * platform/graphics/gpu/legacy/GPULegacyLibrary.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyLibrary.h: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderCommandEncoder.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderCommandEncoder.h: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPassAttachmentDescriptor.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPassAttachmentDescriptor.h: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPassColorAttachmentDescriptor.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPassColorAttachmentDescriptor.h: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPassDepthAttachmentDescriptor.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPassDepthAttachmentDescriptor.h: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPassDescriptor.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPassDescriptor.h: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPipelineColorAttachmentDescriptor.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPipelineColorAttachmentDescriptor.h: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPipelineDescriptor.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPipelineDescriptor.h: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPipelineState.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyRenderPipelineState.h: Removed. * platform/graphics/gpu/legacy/GPULegacySize.h: Removed. * platform/graphics/gpu/legacy/GPULegacyTexture.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyTexture.h: Removed. * platform/graphics/gpu/legacy/GPULegacyTextureDescriptor.cpp: Removed. * platform/graphics/gpu/legacy/GPULegacyTextureDescriptor.h: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyBufferMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyCommandBufferMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyCommandQueueMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyComputeCommandEncoderMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyComputePipelineStateMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyDepthStencilDescriptorMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyDepthStencilStateMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyDeviceMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyDrawableMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyFunctionMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyLibraryMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderCommandEncoderMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPassAttachmentDescriptorMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPassColorAttachmentDescriptorMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPassDepthAttachmentDescriptorMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPassDescriptorMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPipelineColorAttachmentDescriptorMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPipelineDescriptorMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyRenderPipelineStateMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyTextureDescriptorMetal.mm: Removed. * platform/graphics/gpu/legacy/cocoa/GPULegacyTextureMetal.mm: Removed. * testing/InternalSettings.cpp: (WebCore::InternalSettings::Backup::Backup): (WebCore::InternalSettings::Backup::restoreTo): (WebCore::InternalSettings::setWebMetalEnabled): Deleted. * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebInspectorUI: * UserInterface/Models/Canvas.js: (WI.Canvas.fromPayload): (WI.Canvas.displayNameForContextType): * UserInterface/Protocol/Legacy/12.2/InspectorBackendCommands.js: * Versions/Inspector-iOS-12.2.json: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferences.yaml: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences webMetalEnabled]): Deleted. (-[WebPreferences setWebMetalEnabled:]): Deleted. * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Tools: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyBuffer.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyCommandQueue.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyDevice.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyFunction.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyLibrary.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyTest.h: Removed. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebMetalEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: LayoutTests: * fast/canvas/webmetal/webmetal-dispatch-expected.txt: Removed. * fast/canvas/webmetal/webmetal-dispatch.html: Removed. * fast/canvas/webmetal/webmetal-runtime-flag-expected.txt: Removed. * fast/canvas/webmetal/webmetal-runtime-flag.html: Removed. * inspector/canvas/create-context-webmetal-expected.txt: Removed. * inspector/canvas/create-context-webmetal.html: Removed. * inspector/canvas/resolveCanvasContext-webmetal-expected.txt: Removed. * inspector/canvas/resolveCanvasContext-webmetal.html: Removed. * platform/gtk/TestExpectations: * platform/ios/TestExpectations: * platform/mac/TestExpectations: * platform/win/TestExpectations: * platform/wincairo/TestExpectations: * platform/wpe/TestExpectations: Canonical link: https://commits.webkit.org/210683@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-29 22:18:59 +00:00
2019-03-29 Myles C. Maxfield <mmaxfield@apple.com>
Delete WebMetal implementation in favor of WebGPU
https://bugs.webkit.org/show_bug.cgi?id=195418
Reviewed by Dean Jackson.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
Implement ResizeObserver. https://bugs.webkit.org/show_bug.cgi?id=157743 Patch by Cathie Chen <cathiechen@igalia.com> on 2019-03-29 Reviewed by Simon Fraser. .: Add ENABLE_RESIZE_OBSERVER. * Source/cmake/WebKitFeatures.cmake: LayoutTests/imported/w3c: Set ResizeObserverEnabled for test runner and update expectations. * web-platform-tests/interfaces/ResizeObserver.idl: Added. * web-platform-tests/resize-observer/eventloop-expected.txt: * web-platform-tests/resize-observer/eventloop.html: * web-platform-tests/resize-observer/idlharness.window-expected.txt: * web-platform-tests/resize-observer/idlharness.window.html: * web-platform-tests/resize-observer/notify-expected.txt: * web-platform-tests/resize-observer/notify.html: * web-platform-tests/resize-observer/observe-expected.txt: * web-platform-tests/resize-observer/observe.html: * web-platform-tests/resize-observer/svg-expected.txt: * web-platform-tests/resize-observer/svg.html: Source/JavaScriptCore: Add ENABLE_RESIZE_OBSERVER. * Configurations/FeatureDefines.xcconfig: Source/WebCore: Tests: resize-observer/modify-frametree-in-callback.html resize-observer/multi-frames.html resize-observer/observe-element-from-other-frame.html Imported from WPT by https://bugs.webkit.org/show_bug.cgi?id=193821 The data structure: Document has a ResizeObserver slot. ResizeObserver has a ResizeObservation slot. ResizeObservation is related to one Element and the last reported size. On the other hand, Element has a ResizeObservation slot. At the beginning of willDisplayPage, it will check resize observations for current page if: 1. There is FrameView be layout and there are ResizeObservers in this page. 2. m_resizeObserverTimer has been started by observe() or hasSkippedResizeObservers(). During checkResizeObservations(), we'll gatherDocumentsNeedingResizeObservationCheck() first, then notifyResizeObservers() for each document. During notifyResizeObservers(), it will gather the m_activeObservations whose size changed and target element deeper than require depth. The size changed shallower observations are skipped observations which will be delivered in the next time. And an ErrorEvent will be reported. After gathering, deliverResizeObservations create entries and invoke the callbacks with them. The Element from other document could be observed. * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: * dom/Document.cpp: (WebCore::Document::getParserLocation const): (WebCore::Document::addResizeObserver): (WebCore::Document::removeResizeObserver): (WebCore::Document::hasResizeObservers): (WebCore::Document::gatherResizeObservations): Gather m_activeObservations at depth and return the shallowest depth. (WebCore::Document::deliverResizeObservations): Deliver m_activeObservations, generate ResizeObserverEntries, and invoke the m_callbacks. (WebCore::Document::hasSkippedResizeObservations const): To determine if Document has the size changed but not delivered observations. (WebCore::Document::setHasSkippedResizeObservations): (WebCore::Document::scheduleResizeObservations): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::~Element): (WebCore::Element::disconnectFromResizeObservers): (WebCore::Element::ensureResizeObserverData): (WebCore::Element::resizeObserverData): * dom/Element.h: * dom/ElementRareData.cpp: * dom/ElementRareData.h: (WebCore::ElementRareData::resizeObserverData): (WebCore::ElementRareData::setResizeObserverData): (WebCore::ElementRareData::useTypes const): * page/FrameView.cpp: (WebCore::FrameView::didLayout): * page/FrameViewLayoutContext.cpp: (WebCore::FrameViewLayoutContext::layoutTimerFired): We need to start a ResizeObserver timer here, because for WK1 this might not trigger flushCompositingChanges. * page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::willDisplayPage): (WebCore::Page::hasResizeObservers const): (WebCore::Page::gatherDocumentsNeedingResizeObservationCheck): Gather the documents with resize observers. (WebCore::Page::checkResizeObservations): Gather documents then notifyResizeObservers for each document. (WebCore::Page::scheduleResizeObservations): (WebCore::Page::notifyResizeObservers): Gather m_activeObservations and deliver them. Report ErrorEvent if it has skipped observations. * page/Page.h: (WebCore::Page::setNeedsCheckResizeObservations): Page needs to check ResizeObservations if FrameView layout or m_resizeObserverTimer has been started. (WebCore::Page::needsCheckResizeObservations const): * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::getParserLocationForConsoleMessage): Deleted. * page/ResizeObservation.cpp: Added. (WebCore::ResizeObservation::create): (WebCore::ResizeObservation::ResizeObservation): (WebCore::ResizeObservation::~ResizeObservation): (WebCore::ResizeObservation::updateObservationSize): (WebCore::ResizeObservation::computeObservedSize const): (WebCore::ResizeObservation::computeTargetLocation const): (WebCore::ResizeObservation::computeContentRect const): (WebCore::ResizeObservation::elementSizeChanged const): (WebCore::ResizeObservation::targetElementDepth const): * page/ResizeObservation.h: Copied from Tools/DumpRenderTree/TestOptions.h. (WebCore::ResizeObservation::target const): * page/ResizeObserver.cpp: Added. (WebCore::ResizeObserver::create): (WebCore::ResizeObserver::ResizeObserver): (WebCore::ResizeObserver::~ResizeObserver): (WebCore::ResizeObserver::scheduleObservations): (WebCore::ResizeObserver::observe): (WebCore::ResizeObserver::unobserve): (WebCore::ResizeObserver::disconnect): (WebCore::ResizeObserver::targetDestroyed): (WebCore::ResizeObserver::gatherObservations): (WebCore::ResizeObserver::deliverObservations): (WebCore::ResizeObserver::removeTarget): (WebCore::ResizeObserver::removeAllTargets): (WebCore::ResizeObserver::removeObservation): (WebCore::ResizeObserver::hasPendingActivity const): (WebCore::ResizeObserver::activeDOMObjectName const): (WebCore::ResizeObserver::canSuspendForDocumentSuspension const): (WebCore::ResizeObserver::stop): * page/ResizeObserver.h: Added. (WebCore::ResizeObserver::hasObservations const): (WebCore::ResizeObserver::hasActiveObservations const): (WebCore::ResizeObserver::maxElementDepth): (WebCore::ResizeObserver::hasSkippedObservations const): (WebCore::ResizeObserver::setHasSkippedObservations): * page/ResizeObserver.idl: Copied from Tools/DumpRenderTree/TestOptions.h. * page/ResizeObserverCallback.h: Copied from Tools/DumpRenderTree/TestOptions.h. * page/ResizeObserverCallback.idl: Copied from Tools/DumpRenderTree/TestOptions.h. * page/ResizeObserverEntry.h: Copied from Tools/DumpRenderTree/TestOptions.h. (WebCore::ResizeObserverEntry::create): (WebCore::ResizeObserverEntry::target const): (WebCore::ResizeObserverEntry::contentRect const): (WebCore::ResizeObserverEntry::ResizeObserverEntry): * page/ResizeObserverEntry.idl: Copied from Tools/DumpRenderTree/TestOptions.h. * page/Settings.yaml: Source/WebCore/PAL: Add ENABLE_RESIZE_OBSERVER. * Configurations/FeatureDefines.xcconfig: Source/WebKit: Add WebPreferences and FeatureDefines for ResizeObserver. * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferences.yaml: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences resizeObserverEnabled]): (-[WebPreferences setResizeObserverEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): (-[WebView _flushCompositingChanges]): checkResizeObservations() in the begining. Source/WebKitLegacy/win: * Interfaces/IWebPreferencesPrivate.idl: * WebPreferenceKeysPrivate.h: * WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::resizeObserverEnabled): (WebPreferences::setResizeObserverEnabled): * WebPreferences.h: * WebView.cpp: (WebView::notifyPreferencesChanged): Tools: Support resizeObserverEnabled webPreferences. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * DumpRenderTree/win/DumpRenderTree.cpp: (enableExperimentalFeatures): * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: LayoutTests: Add tests for resize-observer of multiframe. * resize-observer/modify-frametree-in-callback-expected.txt: Added. * resize-observer/modify-frametree-in-callback.html: Added. * resize-observer/multi-frames-expected.txt: Added. * resize-observer/multi-frames.html: Added. * resize-observer/observe-element-from-other-frame-expected.txt: Added. * resize-observer/observe-element-from-other-frame.html: Added. * resize-observer/resources/frame1.html: Added. * resize-observer/resources/frame2.html: Added. * resize-observer/resources/frame3.html: Added. * resize-observer/resources/frame4.html: Added. * resize-observer/resources/frameset1.html: Added. * resize-observer/resources/frameset2.html: Added. * resize-observer/resources/iframe1.html: Added. * resize-observer/resources/resizeTestHelper.js: Added. (ResizeTestHelper): (ResizeTestHelper.prototype.get _currentStep): (ResizeTestHelper.prototype._nextStep): (ResizeTestHelper.prototype._handleNotification): (ResizeTestHelper.prototype._handleTimeout): (ResizeTestHelper.prototype._done): (ResizeTestHelper.prototype.start): (ResizeTestHelper.prototype.get rafCount): (ResizeTestHelper.prototype._incrementRaf): (ResizeTestHelper.prototype.startCountingRaf): Canonical link: https://commits.webkit.org/210663@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-29 08:37:46 +00:00
2019-03-29 Cathie Chen <cathiechen@igalia.com>
Implement ResizeObserver.
https://bugs.webkit.org/show_bug.cgi?id=157743
Reviewed by Simon Fraser.
Add ENABLE_RESIZE_OBSERVER.
* Source/cmake/WebKitFeatures.cmake:
2019-03-25 Adrian Perez de Castro <aperez@igalia.com>
[WPE][GTK] Make building WebVR (w/OpenVR) not depend on ENABLE_EXPERIMENTAL_FEATURES
https://bugs.webkit.org/show_bug.cgi?id=196223
Reviewed by Michael Catanzaro.
Disentangle USE_OPENVR from ENABLE_EXPERIMENTAL_FEATURES, making it
unneeded to include ThirdParty/openvr/ in release tarballs.
* Source/cmake/OptionsGTK.cmake: Set USE_OPENVR to OFF by default,
instead of making it use the value of ENABLE_EXPERIMENTAL_FEATURES.
* Source/cmake/OptionsWPE.cmake: Ditto.
2019-03-25 Xan López <xan@igalia.com>
[WTF] Fix typo when forcing WTF_CPU_X86
https://bugs.webkit.org/show_bug.cgi?id=196204
Reviewed by Michael Catanzaro.
Fix a typo when setting the WTF_CPU variable for X86.
* CMakeLists.txt:
[GTK] Remove build time dependency on Geoclue2 https://bugs.webkit.org/show_bug.cgi?id=195994 Reviewed by Michael Catanzaro. .: Remove USE_GEOCLUE build option. * Source/cmake/FindGeoClue2.cmake: Removed. * Source/cmake/OptionsGTK.cmake: Source/WebCore: Remove old Geoclue implementation. * PlatformGTK.cmake: * SourcesGTK.txt: * platform/geoclue/GeolocationProviderGeoclue.cpp: Removed. * platform/geoclue/GeolocationProviderGeoclue.h: Removed. * platform/geoclue/GeolocationProviderGeoclueClient.h: Removed. Source/WebCore/platform/gtk/po: * POTFILES.in: Add GeoclueGeolocationProvider.cpp. Source/WebKit: Add GeoclueGeolocationProvider class to provide geolocation position updates using Geoclue2 DBus service. * PlatformGTK.cmake: * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitGeolocationManager.cpp: (_WebKitGeolocationPosition::_WebKitGeolocationPosition): (webkitGeolocationManagerStop): (webkitGeolocationManagerSetEnableHighAccuracy): (webkitGeolocationManagerDispose): (webkit_geolocation_manager_class_init): * UIProcess/geoclue/GeoclueGeolocationProvider.cpp: Added. (WebKit::GeoclueGeolocationProvider::GeoclueGeolocationProvider): (WebKit::GeoclueGeolocationProvider::~GeoclueGeolocationProvider): (WebKit::GeoclueGeolocationProvider::start): (WebKit::GeoclueGeolocationProvider::stop): (WebKit::GeoclueGeolocationProvider::setEnableHighAccuracy): (WebKit::GeoclueGeolocationProvider::destroyManagerLater): (WebKit::GeoclueGeolocationProvider::destroyManager): (WebKit::GeoclueGeolocationProvider::setupManager): (WebKit::GeoclueGeolocationProvider::createClient): (WebKit::GeoclueGeolocationProvider::setupClient): (WebKit::GeoclueGeolocationProvider::startClient): (WebKit::GeoclueGeolocationProvider::stopClient): (WebKit::GeoclueGeolocationProvider::requestAccuracyLevel): (WebKit::GeoclueGeolocationProvider::clientLocationUpdatedCallback): (WebKit::GeoclueGeolocationProvider::createLocation): (WebKit::GeoclueGeolocationProvider::locationUpdated): (WebKit::GeoclueGeolocationProvider::didFail): * UIProcess/geoclue/GeoclueGeolocationProvider.h: Added. Canonical link: https://commits.webkit.org/210466@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-23 10:37:41 +00:00
2019-03-23 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Remove build time dependency on Geoclue2
https://bugs.webkit.org/show_bug.cgi?id=195994
Reviewed by Michael Catanzaro.
Remove USE_GEOCLUE build option.
* Source/cmake/FindGeoClue2.cmake: Removed.
* Source/cmake/OptionsGTK.cmake:
[GTK][WPE] Add API to provide geolocation information https://bugs.webkit.org/show_bug.cgi?id=195940 Reviewed by Michael Catanzaro. .: Build with geolocation enabled by default in both GTK and WPE. In GTK add a specific USE_GEOCLUE build option instead of using ENABLE_GEOLOCATION. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Replace ENABLE(GEOLOCATION) with USE(GEOCLUE). * PlatformGTK.cmake: * platform/geoclue/GeolocationProviderGeoclue.cpp: * platform/geoclue/GeolocationProviderGeoclue.h: * platform/geoclue/GeolocationProviderGeoclueClient.h: Source/WebCore/platform/gtk/po: * POTFILES.in: Add WebKitGeolocationManager.cpp. Source/WebKit: Add WebKitGeolocationManager public class to handle geolocation position updates. WebKitGeolocationProvider has been removed and the default implementation based on GeoClue is done by WebKitGeolocationManager. * PlatformGTK.cmake: * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitGeolocationManager.cpp: Added. (_WebKitGeolocationPosition::_WebKitGeolocationPosition): (webkit_geolocation_position_new): (webkit_geolocation_position_copy): (webkit_geolocation_position_free): (webkit_geolocation_position_set_timestamp): (webkit_geolocation_position_set_altitude): (webkit_geolocation_position_set_altitude_accuracy): (webkit_geolocation_position_set_heading): (webkit_geolocation_position_set_speed): (webkitGeolocationManagerStop): (webkitGeolocationManagerSetEnableHighAccuracy): (webkitGeolocationManagerCreate): (webkitGeolocationManagerGetProperty): (webkit_geolocation_manager_class_init): (webkit_gelocation_manager_update_position): (webkit_gelocation_manager_failed): (webkit_geolocation_manager_get_enable_high_accuracy): * UIProcess/API/glib/WebKitGeolocationManagerPrivate.h: Copied from Source/WebCore/platform/geoclue/GeolocationProviderGeoclueClient.h. * UIProcess/API/glib/WebKitGeolocationProvider.cpp: Removed. * UIProcess/API/glib/WebKitGeolocationProvider.h: Removed. * UIProcess/API/glib/WebKitWebContext.cpp: (webkitWebContextConstructed): Create a WebKitGeolocationManager instead of a WebKitGeolocationProvider. (webkit_web_context_get_geolocation_manager): Get the WebKitGeolocationManager. * UIProcess/API/gtk/WebKitGeolocationManager.h: Added. * UIProcess/API/gtk/WebKitWebContext.h: * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: * UIProcess/API/gtk/webkit2.h: * UIProcess/API/wpe/WebKitGeolocationManager.h: Added. * UIProcess/API/wpe/WebKitWebContext.h: * UIProcess/API/wpe/docs/wpe-0.1-sections.txt: * UIProcess/API/wpe/docs/wpe-docs.sgml: * UIProcess/API/wpe/webkit.h: Tools: Add a new test to check the new API. * TestWebKitAPI/Tests/WebKitGLib/TestGeolocationManager.cpp: Added. (testGeolocationManagerCurrentPosition): (testGeolocationManagerWatchPosition): (beforeAll): (afterAll): * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: (testWebViewGeolocationPermissionRequests): Stop using ENABLE(GEOLOCATION) conditionals for geolocation tests. (beforeAll): Ditto. * TestWebKitAPI/glib/CMakeLists.txt: Canonical link: https://commits.webkit.org/210349@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243285 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-21 10:10:35 +00:00
2019-03-21 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to provide geolocation information
https://bugs.webkit.org/show_bug.cgi?id=195940
Reviewed by Michael Catanzaro.
Build with geolocation enabled by default in both GTK and WPE. In GTK add a specific USE_GEOCLUE build option
instead of using ENABLE_GEOLOCATION.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
Rename ENABLE_ACCELERATED_OVERFLOW_SCROLLING macro to ENABLE_OVERFLOW_SCROLLING_TOUCH https://bugs.webkit.org/show_bug.cgi?id=196049 Reviewed by Tim Horton. This macro is about the -webkit-overflow-scrolling CSS property, not accelerated overflow scrolling in general, so rename it. .: * Source/cmake/OptionsMac.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: * Configurations/FeatureDefines.xcconfig: * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle): * css/CSSProperties.json: * css/CSSValueKeywords.in: * css/StyleBuilderConverter.h: * css/StyleResolver.cpp: (WebCore::StyleResolver::adjustRenderStyle): * css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): (WebCore::CSSParserFastPaths::isKeywordPropertyID): * dom/Element.cpp: * dom/Element.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::canUseCompositedScrolling const): * rendering/style/RenderStyle.cpp: (WebCore::rareInheritedDataChangeRequiresLayout): * rendering/style/RenderStyle.h: * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * rendering/style/StyleRareInheritedData.h: * rendering/style/WillChangeData.cpp: (WebCore::WillChangeData::propertyCreatesStackingContext): Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Source/WTF: * wtf/FeatureDefines.h: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/210339@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243275 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-21 03:48:35 +00:00
2019-03-20 Simon Fraser <simon.fraser@apple.com>
Rename ENABLE_ACCELERATED_OVERFLOW_SCROLLING macro to ENABLE_OVERFLOW_SCROLLING_TOUCH
https://bugs.webkit.org/show_bug.cgi?id=196049
Reviewed by Tim Horton.
This macro is about the -webkit-overflow-scrolling CSS property, not accelerated
overflow scrolling in general, so rename it.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2019-03-19 Christopher Reid <chris.reid@sony.com>
[CMake] Support more clang and gcc sanitizers
https://bugs.webkit.org/show_bug.cgi?id=195956
Reviewed by Michael Catanzaro.
Add support to compile with undefined, thread, memory, and leak sanitizers in cmake.
Also add ubsan and asan support when compiling with clang-cl on WinCairo.
This changes ENABLE_ADDRESS_SANITIZER flag to a generic ENABLE_SANITIZERS
which takes a semicolon separated list of sanitizers to enable.
e.g. `-DENABLE_SANITIZERS=address;undefined`
Building WinCairo with sanitizers enabled also needs CLANG_LIB_PATH set to the clang compiler runtime library folder.
e.g. pass `--cmakeargs="-DCLANG_LIB_PATH=\"C:\Program Files\LLVM\lib\clang\7.0.1\lib\windows\""` to build-webkit
* Source/cmake/WebKitCompilerFlags.cmake:
2019-03-18 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Bump public API to wpe-1.0
https://bugs.webkit.org/show_bug.cgi?id=195887
Reviewed by Philippe Normand.
* Source/cmake/OptionsWPE.cmake: Bump public API version to 1.0
2019-03-18 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Bump dependencies to wpe-1.0 and wpebackend-fdo-1.0
https://bugs.webkit.org/show_bug.cgi?id=195786
Reviewed by Philippe Normand.
* Source/cmake/FindWPE.cmake: Check for the wpe-1.0 pkg-config package.
2019-03-11 Xan Lopez <xan@igalia.com>
[CMake] Build 32bit binaries on Linux/64bit when the --32-bit is passed to build-jsc
https://bugs.webkit.org/show_bug.cgi?id=194147
Reviewed by Michael Saboff.
* CMakeLists.txt: set WTF_CPU properly if FORCE_32BIT is set in
build-jsc.
2019-03-11 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Enable web process sandbox
https://bugs.webkit.org/show_bug.cgi?id=195169
Reviewed by Daniel Bates.
* Source/cmake/BubblewrapSandboxChecks.cmake: Added.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2019-03-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r242354.
https://bugs.webkit.org/show_bug.cgi?id=195402
breaks layout tests in all configurations (Requested by
zdobersek on #webkit).
Reverted changeset:
"[WPE] Enable web process sandbox"
https://bugs.webkit.org/show_bug.cgi?id=195169
https://trac.webkit.org/changeset/242354
[Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t. https://bugs.webkit.org/show_bug.cgi?id=195346 Reviewed by Fujii Hironori. .: * Source/cmake/OptionsJSCOnly.cmake: * Source/cmake/OptionsWin.cmake: Stop compiling with -DUCHAR_TYPE=wchar_t. Source/JavaScriptCore: * jsc.cpp: (currentWorkingDirectory): (fetchModuleFromLocalFileSystem): * runtime/DateConversion.cpp: (JSC::formatDateTime): Use wchar helpers as needed. Source/WebCore: * platform/graphics/win/FontCacheWin.cpp: (WebCore::appendLinkedFonts): (WebCore::getLinkedFonts): (WebCore::FontCache::systemFallbackForCharacters): (WebCore::FontCache::fontFromDescriptionAndLogFont): (WebCore::createGDIFont): (WebCore::FontCache::getFontSelectionCapabilitiesInFamily): * platform/graphics/win/FontCustomPlatformDataCairo.cpp: (WebCore::FontCustomPlatformData::fontPlatformData): * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: (WebCore::GlyphPage::fill): * platform/graphics/win/IconWin.cpp: (WebCore::Icon::createIconForFiles): * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: (WebCore::mimeTypeCache): (WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource): * platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::itemizeShapeAndPlace): (WebCore::UniscribeController::shape): * platform/network/win/DownloadBundleWin.cpp: (WebCore::DownloadBundle::appendResumeData): (WebCore::DownloadBundle::extractResumeData): * platform/text/win/LocaleWin.cpp: (WebCore::LCIDFromLocaleInternal): (WebCore::LCIDFromLocale): (WebCore::LocaleWin::getLocaleInfoString): * platform/win/BString.cpp: (WebCore::BString::BString): * platform/win/ClipboardUtilitiesWin.cpp: (WebCore::getWebLocData): (WebCore::createGlobalData): (WebCore::getFileDescriptorData): (WebCore::getURL): (WebCore::getCFData): (WebCore::setCFData): * platform/win/DragDataWin.cpp: (WebCore::DragData::asFilenames const): * platform/win/DragImageWin.cpp: (WebCore::createDragImageIconForCachedImageFilename): (WebCore::dragLabelFont): * platform/win/MIMETypeRegistryWin.cpp: (WebCore::mimeTypeForExtension): (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): * platform/win/PasteboardWin.cpp: (WebCore::Pasteboard::read): (WebCore::filesystemPathFromUrlOrTitle): (WebCore::Pasteboard::writeURLToDataObject): (WebCore::createGlobalImageFileDescriptor): (WebCore::createGlobalHDropContent): * platform/win/SSLKeyGeneratorWin.cpp: (WebCore::signedPublicKeyAndChallengeString): * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createFromReadingFile): * rendering/RenderThemeWin.cpp: (WebCore::fillFontDescription): Use wchar helpers as needed. Source/WebKit: * Platform/IPC/win/ConnectionWin.cpp: (IPC::Connection::createServerAndClientIdentifiers): * Platform/win/ModuleWin.cpp: (WebKit::Module::load): * UIProcess/Launcher/win/ProcessLauncherWin.cpp: (WebKit::ProcessLauncher::launchProcess): * UIProcess/win/WebContextMenuProxyWin.cpp: (WebKit::createMenuItem): * UIProcess/win/WebView.cpp: (WebKit::WebView::setToolTip): * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: (WebKit::InjectedBundle::initialize): Use wchar helpers as needed. Source/WebKitLegacy/win: * COMPropertyBag.h: (HashType>::GetPropertyInfo): (HashType>::LoadObject): * DOMCoreClasses.cpp: (DOMNode::addEventListener): (DOMNode::removeEventListener): (DOMWindow::addEventListener): (DOMWindow::removeEventListener): (DOMElement::font): * DOMHTMLClasses.cpp: (DOMHTMLInputElement::setValueForUser): (DOMHTMLInputElement::replaceCharactersInRange): * Plugins/PluginDatabaseWin.cpp: (WebCore::addPluginPathsFromRegistry): (WebCore::PluginDatabase::getPluginPathsInDirectories const): (WebCore::addMozillaPluginDirectories): (WebCore::addWindowsMediaPlayerPluginDirectory): (WebCore::addAdobeAcrobatPluginDirectory): (WebCore::addJavaPluginDirectory): (WebCore::safariPluginsDirectory): (WebCore::addMacromediaPluginDirectories): * Plugins/PluginPackageWin.cpp: (WebCore::getVersionInfo): (WebCore::PluginPackage::fetchInfo): (WebCore::PluginPackage::load): * Plugins/PluginViewWin.cpp: (WebCore::PluginView::handlePostReadFile): * WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::runOpenPanel): * WebCoreSupport/WebEditorClient.cpp: (WebEditorClient::checkSpellingOfString): (WebEditorClient::checkGrammarOfString): * WebCoreSupport/WebInspectorClient.cpp: (WebInspectorFrontendClient::updateWindowTitle): * WebLocalizableStrings.cpp: (LocalizedString::operator LPCTSTR const): * WebView.cpp: (createContextMenuFromItems): (WebView::setToolTip): Use wchar helpers as needed. Source/WTF: * wtf/PlatformWin.cmake: * wtf/text/AtomicString.h: (WTF::AtomicString::AtomicString): * wtf/text/WTFString.h: (WTF::String::String): * wtf/text/win/StringWin.cpp: Added. (WTF::String::wideCharacters const): Renamed from WTF::stringToNullTerminatedWChar. * wtf/text/win/WCharStringExtras.h: (WTF::ucharFrom): (WTF::wcharFrom): (WTF::stringToNullTerminatedWChar): Deleted. (WTF::wcharToString): Deleted. (WTF::nullTerminatedWCharToString): Deleted. Add static_assert-guarded reinterpret_cast wrappers for going between UChar* and wchar_t*. Move existing to/from-String helpers into the String (and AtomicString) class(es). * wtf/win/FileSystemWin.cpp: (WTF::FileSystemImpl::getFindData): (WTF::FileSystemImpl::getFinalPathName): (WTF::FileSystemImpl::createSymbolicLink): (WTF::FileSystemImpl::deleteFile): (WTF::FileSystemImpl::deleteEmptyDirectory): (WTF::FileSystemImpl::moveFile): (WTF::FileSystemImpl::pathByAppendingComponent): (WTF::FileSystemImpl::fileSystemRepresentation): (WTF::FileSystemImpl::makeAllDirectories): (WTF::FileSystemImpl::pathGetFileName): (WTF::FileSystemImpl::storageDirectory): (WTF::FileSystemImpl::generateTemporaryPath): (WTF::FileSystemImpl::openTemporaryFile): (WTF::FileSystemImpl::openFile): (WTF::FileSystemImpl::hardLinkOrCopyFile): (WTF::FileSystemImpl::deleteNonEmptyDirectory): * wtf/win/LanguageWin.cpp: (WTF::localeInfo): * wtf/win/PathWalker.cpp: (WTF::PathWalker::PathWalker): Use wchar helpers as needed. Tools: * TestWebKitAPI/Tests/WTF/StringOperators.cpp: (TestWebKitAPI::TEST): Delete wchar tests -- these are MSVC-only and we won't be using String::operator+ going forward anyway. * DumpRenderTree/win/DumpRenderTree.cpp: (findFontFallback): (addFontFallbackIfPresent): (removeFontFallbackIfPresent): (main): * TestWebKitAPI/win/PlatformUtilitiesWin.cpp: (TestWebKitAPI::Util::moduleDirectory): (TestWebKitAPI::Util::createInjectedBundlePath): Use wchar helpers as needed. Canonical link: https://commits.webkit.org/209732@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-07 07:31:57 +00:00
2019-03-06 Ross Kirsling <ross.kirsling@sony.com>
[Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t.
https://bugs.webkit.org/show_bug.cgi?id=195346
Reviewed by Fujii Hironori.
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsWin.cmake:
Stop compiling with -DUCHAR_TYPE=wchar_t.
2019-03-06 Don Olmstead <don.olmstead@sony.com>
[WinCairo] Enable additional experimental features
https://bugs.webkit.org/show_bug.cgi?id=195363
Reviewed by Ross Kirsling.
Turn on ENABLE_APPLICATION_MANIFEST, ENABLE_FILTERS_LEVEL_2, ENABLE_CSS_PAINTING_API,
and ENABLE_VARIATION_FONTS. This will allow testing and development of these features
for Windows.
* Source/cmake/OptionsWin.cmake:
2019-03-05 Don Olmstead <don.olmstead@sony.com>
[WinCairo] Enable CSS Typed OM
https://bugs.webkit.org/show_bug.cgi?id=195340
Reviewed by Myles C. Maxfield.
* Source/cmake/OptionsWin.cmake:
2019-03-04 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Enable web process sandbox
https://bugs.webkit.org/show_bug.cgi?id=195169
Reviewed by Daniel Bates.
* Source/cmake/BubblewrapSandboxChecks.cmake: Added.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2019-03-01 Don Olmstead <don.olmstead@sony.com>
[WinCairo] Enable service worker
https://bugs.webkit.org/show_bug.cgi?id=188318
Reviewed by Youenn Fablet.
* Source/cmake/OptionsWin.cmake:
2019-02-28 Don Olmstead <don.olmstead@sony.com>
[WinCairo] Turn ENABLE_RESOURCE_LOAD_STATISTICS on
https://bugs.webkit.org/show_bug.cgi?id=194267
Reviewed by Brent Fulgham.
* Source/cmake/OptionsWin.cmake:
[CoordinatedGraphics] Remove COORDINATED_GRAPHICS_THREADED option https://bugs.webkit.org/show_bug.cgi?id=195159 Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-02-28 Reviewed by Don Olmstead. .: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsPlayStation.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Use COORDINATED_GRAPHICS instead. * platform/graphics/GraphicsContext3D.h: * platform/graphics/PlatformLayer.h: * platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBufferData::ImageBufferData): (WebCore::ImageBufferData::~ImageBufferData): * platform/graphics/cairo/ImageBufferDataCairo.h: * platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp: * platform/graphics/nicosia/NicosiaPaintingEngineThreaded.h: * platform/graphics/nicosia/texmap/NicosiaGC3DLayer.cpp: (Nicosia::GC3DLayer::swapBuffersIfNeeded): * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: (WebCore::GraphicsContext3D::reshapeFBOs): * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: (WebCore::GraphicsContext3D::prepareTexture): * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: (WebCore::GraphicsContext3D::reshapeFBOs): * platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp: (WebCore::GraphicsContext3D::GraphicsContext3D): (WebCore::GraphicsContext3D::~GraphicsContext3D): * platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp: (WebCore::TextureMapperGC3DPlatformLayer::TextureMapperGC3DPlatformLayer): (WebCore::TextureMapperGC3DPlatformLayer::~TextureMapperGC3DPlatformLayer): * platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h: * platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp: * platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h: * platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp: * platform/graphics/texmap/TextureMapperPlatformLayerProxy.h: * platform/graphics/texmap/TextureMapperPlatformLayerProxyProvider.h: * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay): (WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer): (WebCore::CoordinatedGraphicsLayer::updatePlatformLayer): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintsIntoWindow const): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::shouldCompositeOverflowControls const): Source/WebKit: Use COORDINATED_GRAPHICS instead. * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: (WebKit::CoordinatedGraphicsScene::onNewBufferAvailable): * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: * Shared/CoordinatedGraphics/SimpleViewportController.cpp: * Shared/CoordinatedGraphics/SimpleViewportController.h: * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp: * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h: * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp: * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h: * WebProcess/WebPage/AcceleratedDrawingArea.cpp: (WebKit::AcceleratedDrawingArea::mainFrameContentSizeChanged): (WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode): * WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp: * WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h: * WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::updatePreferences): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::sendViewportAttributesChanged): (WebKit::WebPage::viewportPropertiesDidChange): * WebProcess/gtk/WebProcessMainGtk.cpp: Canonical link: https://commits.webkit.org/209497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-28 18:28:01 +00:00
2019-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
[CoordinatedGraphics] Remove COORDINATED_GRAPHICS_THREADED option
https://bugs.webkit.org/show_bug.cgi?id=195159
Reviewed by Don Olmstead.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
2019-02-26 Gabe Giosia <giosia@google.com>
Incorrect formatting around command in Readme.md
https://bugs.webkit.org/show_bug.cgi?id=195061
Reviewed by Fujii Hironori.
* ReadMe.md: removed stray period
2019-02-26 Dominik Infuehr <dinfuehr@igalia.com>
Fix warnings on ARM and MIPS
https://bugs.webkit.org/show_bug.cgi?id=195049
Reviewed by Mark Lam.
Disable warnings for changes to the ABI with GCC 7.1.
* Source/cmake/WebKitCompilerFlags.cmake:
[WPE] Bump WPEBackend-fdo requirement to API version 1.0 https://bugs.webkit.org/show_bug.cgi?id=195001 Reviewed by Carlos Garcia Campos. .: * Source/cmake/FindWPEBackend-fdo.cmake: Use WPEBackend-fdo-1.0. * Source/cmake/OptionsWPE.cmake: Ditto. Source/WebKit: API version 1.0 always includes the functionality previously guarded with WPE_BACKEND_CHECK_VERSION(): remove the guards and always use the new functions unconditionally. * UIProcess/API/wpe/WPEView.cpp: (WKWPE::View::View): Remove usage of WPE_BACKEND_CHECK_VERSION(). (WKWPE::m_backend): Ditto. * UIProcess/API/wpe/qt/WPEQtViewBackend.cpp: (WPEQtViewBackend::WPEQtViewBackend): Use libWPEBackend-fdo-1.0 as library name, remove call to wpe_fdo_initialize_for_egl_display(). (WPEQtViewBackend::create): Call wpe_fdo_initialize_for_egl_display() here, to bail out early in case initialization fails. * UIProcess/glib/WebProcessPoolGLib.cpp: (WebKit::WebProcessPool::platformInitializeWebProcess): Remove usage of WPE_BACKEND_CHECK_VERSION(). Tools: API version 1.0 always includes the functionality previously guarded with WPE_BACKEND_CHECK_VERSION(): remove the guards and always use the new functions unconditionally. * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::createWebViewBackend): Remove usage of WPE_BACKEND_CHECK_VERSION(). * TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp: (WebViewTest::showInWindow): Ditto. (WebViewTest::hideView): Ditto. * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): Ditto. * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::ViewBackend::ViewBackend): Use libWPEBackend-fdo-1.0 as library name. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): Remove usage of WPE_BACKEND_CHECK_VERSION(). * wpe/jhbuild.modules: Build a version WPEBackend-fdo with the updated API version. Canonical link: https://commits.webkit.org/209379@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-25 21:48:24 +00:00
2019-02-25 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Bump WPEBackend-fdo requirement to API version 1.0
https://bugs.webkit.org/show_bug.cgi?id=195001
Reviewed by Carlos Garcia Campos.
* Source/cmake/FindWPEBackend-fdo.cmake: Use WPEBackend-fdo-1.0.
* Source/cmake/OptionsWPE.cmake: Ditto.
[WPE] Add support for holepunch using an external video player https://bugs.webkit.org/show_bug.cgi?id=194899 Reviewed by Xabier Rodriguez-Calvar. .: Add EXTERNAL_HOLEPUNCH option to the WPE port. Add a manual test to check the feature. Rename and update the test for GStreamer holepunch to avoid confusion. * ManualTests/wpe/video-player-holepunch-external.html: Added. * ManualTests/wpe/video-player-holepunch-gstreamer.html: Renamed from ManualTests/wpe/video-player-holepunch.html. * Source/cmake/OptionsWPE.cmake: Source/WebCore: Implement the holepunch feature to allow playback using an external player. This creates a new dummy MediaPlayerPrivateHolePunch that accepts only the type "video/holepunch", and whose goal is to just draw a transparent rectangle in the position where the video should be. This can be used to allow a player placed on a lower plane than the browser to become visible. Added ManualTest wpe/video-player-holepunch-external.html to test the feature. * PlatformWPE.cmake: * platform/HolePunch.cmake: Added. * platform/graphics/MediaPlayer.cpp: (WebCore::buildMediaEnginesVector): * platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp: Added. (WebCore::MediaPlayerPrivateHolePunch::MediaPlayerPrivateHolePunch): (WebCore::MediaPlayerPrivateHolePunch::~MediaPlayerPrivateHolePunch): (WebCore::MediaPlayerPrivateHolePunch::platformLayer const): (WebCore::MediaPlayerPrivateHolePunch::naturalSize const): (WebCore::MediaPlayerPrivateHolePunch::pushNextHolePunchBuffer): (WebCore::MediaPlayerPrivateHolePunch::swapBuffersIfNeeded): (WebCore::MediaPlayerPrivateHolePunch::proxy const): (WebCore::mimeTypeCache): (WebCore::MediaPlayerPrivateHolePunch::getSupportedTypes): (WebCore::MediaPlayerPrivateHolePunch::supportsType): (WebCore::MediaPlayerPrivateHolePunch::registerMediaEngine): (WebCore::MediaPlayerPrivateHolePunch::notifyReadyState): * platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h: Added. * platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp: (WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper): Canonical link: https://commits.webkit.org/209357@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-25 09:20:01 +00:00
2019-02-25 Miguel Gomez <magomez@igalia.com>
[WPE] Add support for holepunch using an external video player
https://bugs.webkit.org/show_bug.cgi?id=194899
Reviewed by Xabier Rodriguez-Calvar.
Add EXTERNAL_HOLEPUNCH option to the WPE port. Add a manual test to check the
feature. Rename and update the test for GStreamer holepunch to avoid confusion.
* ManualTests/wpe/video-player-holepunch-external.html: Added.
* ManualTests/wpe/video-player-holepunch-gstreamer.html: Renamed from ManualTests/wpe/video-player-holepunch.html.
* Source/cmake/OptionsWPE.cmake:
Web Inspector: Change the InspectorOverlay to use native rather than canvas https://bugs.webkit.org/show_bug.cgi?id=105023 <rdar://problem/13443692> Reviewed by Brian Burg. .: * ManualTests/inspector/overlay-nodes.html: Added. * ManualTests/inspector/overlay-rulers.html: Added. Source/JavaScriptCore: * inspector/protocol/OverlayTypes.json: Removed. Now that the overlay is entirely generated in C++, we no longer need the special prototol types for transferring data to a JavaScript context. * inspector/protocol/Debugger.json: * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::setOverlayMessage): Deleted. Remove `Debugger.setOverlayMessage` command as it hasn't been used and is no longer supported. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources.make: Source/WebCore: Should be no change in observed functionality. * inspector/InspectorOverlay.h: * inspector/InspectorOverlay.cpp: (WebCore::truncateWithEllipsis): Added. (WebCore::localPointToRootPoint): Added. (WebCore::contentsQuadToCoordinateSystem): (WebCore::effectiveElementForNode): Added. (WebCore::quadToPath): Added. (WebCore::drawOutlinedQuadWithClip): Added. (WebCore::drawOutlinedQuad): Added. (WebCore::drawFragmentHighlight): Added. (WebCore::drawShapeHighlight): Added. (WebCore::InspectorOverlay::paint): (WebCore::InspectorOverlay::setIndicating): (WebCore::InspectorOverlay::shouldShowOverlay const): (WebCore::InspectorOverlay::update): (WebCore::InspectorOverlay::setShowPaintRects): Added. (WebCore::InspectorOverlay::showPaintRect): (WebCore::InspectorOverlay::updatePaintRectsTimerFired): (WebCore::InspectorOverlay::drawNodeHighlight): (WebCore::InspectorOverlay::drawQuadHighlight): (WebCore::InspectorOverlay::drawPaintRects): (WebCore::InspectorOverlay::drawBounds): Added. (WebCore::InspectorOverlay::drawRulers): (WebCore::InspectorOverlay::drawElementTitle): Added. (WebCore::contentsQuadToPage): Deleted. (WebCore::InspectorOverlay::setPausedInDebuggerMessage): Deleted. (WebCore::buildObjectForPoint): Deleted. (WebCore::buildObjectForRect): Deleted. (WebCore::buildArrayForQuad): Deleted. (WebCore::buildObjectForHighlight): Deleted. (WebCore::buildObjectForSize): Deleted. (WebCore::InspectorOverlay::setShowingPaintRects): Deleted. (WebCore::buildArrayForRendererFragments): Deleted. (WebCore::localPointToRoot): Deleted. (WebCore::appendPathCommandAndPoints): Deleted. (WebCore::appendPathSegment): Deleted. (WebCore::buildObjectForShapeOutside): Deleted. (WebCore::buildObjectForElementData): Deleted. (WebCore::InspectorOverlay::buildHighlightObjectForNode const): Deleted. (WebCore::InspectorOverlay::buildObjectForHighlightedNodes const): Deleted. (WebCore::InspectorOverlay::drawPausedInDebuggerMessage): Deleted. (WebCore::InspectorOverlay::overlayPage): Deleted. (WebCore::InspectorOverlay::forcePaint): Deleted. (WebCore::InspectorOverlay::reset): Deleted. (WebCore::evaluateCommandInOverlay): Deleted. (WebCore::InspectorOverlay::evaluateInOverlay): Deleted. (WebCore::InspectorOverlay::freePage): Deleted. * inspector/agents/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::disable): (WebCore::InspectorPageAgent::setShowPaintRects): Drive-by: rename `setShowingPaintRects` to better match the protocol. * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::PageDebuggerAgent): (WebCore::PageDebuggerAgent::setOverlayMessage): Deleted. Remove `Debugger.setOverlayMessage` command as it hasn't been used and is no longer supported. * inspector/InspectorController.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::createLazyAgents): (WebCore::InspectorController::disconnectFrontend): (WebCore::InspectorController::disconnectAllFrontends): (WebCore::InspectorController::buildObjectForHighlightedNodes const): Deleted. * testing/Internals.h: * testing/Internals.idl: * testing/Internals.cpp: (WebCore::Internals::inspectorHighlightObject): Deleted. * inspector/InspectorOverlayPage.css: Removed. * inspector/InspectorOverlayPage.html: Removed. * inspector/InspectorOverlayPage.js: Removed. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: Source/WebInspectorUI: * UserInterface/Base/Main.js: (WI.initializeTarget): * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js: * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js: * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js: * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js: * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js: * UserInterface/Protocol/Legacy/12.2/InspectorBackendCommands.js: * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js: * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js: * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js: * Versions/Inspector-iOS-10.0.json: * Versions/Inspector-iOS-10.3.json: * Versions/Inspector-iOS-11.0.json: * Versions/Inspector-iOS-11.3.json: * Versions/Inspector-iOS-12.0.json: * Versions/Inspector-iOS-12.2.json: * Versions/Inspector-iOS-8.0.json: * Versions/Inspector-iOS-9.0.json: * Versions/Inspector-iOS-9.3.json: Remove `Debugger.setOverlayMessage` command as it hasn't been used and is no longer supported. LayoutTests: * http/tests/inspector/dom/shapes-test.js: Removed. * inspector/dom/hideHighlight.html: Removed. * inspector/dom/hideHighlight-expected.txt: Removed. * inspector/dom/highlight-shape-outside.html: Removed. * inspector/dom/highlight-shape-outside-expected.txt: Removed. * inspector/dom/highlight-shape-outside-margin.html: Removed. * inspector/dom/highlight-shape-outside-margin-expected.txt: Removed. * inspector/dom/highlightFrame.html: Removed. * inspector/dom/highlightFrame-expected.txt: Removed. * inspector/dom/highlightNode.html: Removed. * inspector/dom/highlightNode-expected.txt: Removed. * inspector/dom/highlightNodeList.html: Removed. * inspector/dom/highlightNodeList-expected.txt: Removed. * inspector/dom/highlightSelector.html: Removed. * inspector/dom/highlightSelector-expected.txt: Removed. * platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/209354@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-25 04:41:53 +00:00
2019-02-24 Devin Rousso <drousso@apple.com>
Web Inspector: Change the InspectorOverlay to use native rather than canvas
https://bugs.webkit.org/show_bug.cgi?id=105023
<rdar://problem/13443692>
Reviewed by Brian Burg.
* ManualTests/inspector/overlay-nodes.html: Added.
* ManualTests/inspector/overlay-rulers.html: Added.
2019-02-22 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Bump version numbers
* Source/cmake/OptionsWPE.cmake:
2019-02-21 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Bump version numbers
* Source/cmake/OptionsGTK.cmake:
2019-02-21 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Do not hardcode WPEBackend-fdo library name for linking tests
https://bugs.webkit.org/show_bug.cgi?id=194901
Unreviewed build fix.
* Source/cmake/FindWPEBackend-fdo.cmake: Use WPEBACKEND_FDO as prefix
for the output variables instead of WPEBackend-fdo, for consistency
with other usages of of find_package_handle_standard_args().
[GTK][WPE] Add content extensions support in WKTR and unskip layout tests https://bugs.webkit.org/show_bug.cgi?id=193622 Reviewed by Michael Catanzaro. .: * Source/cmake/OptionsGTK.cmake: Enable CONTENT_EXTENSIONS by default. * Source/cmake/OptionsWPE.cmake: Ditto. * Source/cmake/WebKitFeatures.cmake: Add a private CONTENT_EXTENSIONS option. Source/WebCore: No new tests needed. * SourcesCocoa.txt: Remove loader/ResourceLoadInfo.cpp, it's not Cocoa-specific anymore. * Sources.txt: Add loader/ResourceLoadInfo.cpp, all ports use it now. Source/WebKit: * NetworkProcess/cache/NetworkCacheData.h: Define an adoptAndMapFile() implementation for GFileIOStream objects. * NetworkProcess/cache/NetworkCacheDataSoup.cpp: (WebKit::NetworkCache::adoptAndMapFile): Added implementation, which extracts the file descriptor from a GFileIOStream, as it inherits from GFileDescriptorBased, and then reuses the version of adoptAndMapFile() which takes a file descritor for the actual work. * NetworkProcess/NetworkLoadChecker.cpp: (Webkit::NetworkLoadChecker::checkRequest): Use "this" when referring to processContentExtensionRulesForLoad() in order to avoid ambiguity. * Sources.txt: Add WKUserContentExtensionStoreRef.cpp, all ports use it now. * SourcesCocoa.txt: Remove WKUserContentExtensionStoreRef.cpp, because it is not Cocoa-specific anymore. * SourcesGTK.txt: Add APIContentRuleListStoreGLib.cpp. * SourcesWPE.txt: Ditto. * UIProcess/API/C/WKUserContentExtensionStoreRef.cpp: (WKUserContentExtensionStoreCreate): Added. (toResult): Added. (WKUserContentExtensionStoreCompile): Added. (WKUserContentExtensionStoreLookup): Added. (WKUserContentExtensionStoreRemove): Added. * UIProcess/API/C/WKUserContentExtensionStoreRef.h: Add declarations for the new C API functions and for the WKUserContentExtensionStoreResult status enum. * UIProcess/API/glib/APIContentRuleListStoreGLib.cpp: Added. (API::ContentRuleListStore::defaultStorePath): Add a dummy implementation. The public API for the GLib based ports (GTK+ and WPE) will not allow using the default store and will always indicating a path. Tools: This adds support for loading content extension rule sets from the JSON files which accompany the corresponding layout test, using the C API. The Cocoa specific parts of WKTR for this could be removed, but that is left for a follow-up patch with cleanups. * Scripts/webkitperl/FeatureList.pm: Add an option to toggle CONTENT_EXTENSIONS. * WebKitTestRunner/TestController.cpp: (WTR::testPath): Subtract one from the length when constructing the result std::string to avoid having the null-terminator copied into the result. (WTR::TestController::configureViewForTest): Call configureContentExtensionForTest() as part of the preparations to run a test. (WTR::ContentExtensionStoreCallbackContext::ContentExtensionStoreCallbackContext): Added. (WTR::contentExtensionStoreCallback): Added. (WTR::contentExtensionJSONPath): Used to calculate the path to the JSON rule set to be used for content extensions test. (WTR::TestController::configureContentExtensionForTest): Added, handles enabling content extensions and compiling the JSON rule set for tests involving content extensions. (WTR::TestController::resetContentExtensions): Removes the content extension built for testing and disables content extensions. (WTR::TestController::resetPreferencesToConsistentValues): Add a call to resetContentExtensions(). (WTR::TestController::userContentController): Added implementation for ports other than Cocoa. * WebKitTestRunner/TestController.h: Add declarations for resetContentExtensions(), configureContentExtensionForTest(), and userContentController(). LayoutTests: * platform/gtk/TestExpectations: Un-skip tests for content extensions and add expectations. Canonical link: https://commits.webkit.org/208942@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241283 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-12 00:07:21 +00:00
2019-02-11 Adrian Perez de Castro <aperez@igalia.com>
[GTK][WPE] Add content extensions support in WKTR and unskip layout tests
https://bugs.webkit.org/show_bug.cgi?id=193622
Reviewed by Michael Catanzaro.
* Source/cmake/OptionsGTK.cmake: Enable CONTENT_EXTENSIONS by default.
* Source/cmake/OptionsWPE.cmake: Ditto.
* Source/cmake/WebKitFeatures.cmake: Add a private CONTENT_EXTENSIONS option.
[WPE] Implement GStreamer based holepunch https://bugs.webkit.org/show_bug.cgi?id=193715 Reviewed by Xabier Rodriguez-Calvar. .: Add GSTREAMER_HOLEPUNCH option to the WPE port with a manual test to check the feature. * ManualTests/wpe/video-player-holepunch.html: Added. * Source/cmake/OptionsWPE.cmake: Source/WebCore: Implement GStreamer based holepunch functionality. Instead of getting the video frames from the video sink and drawing then, the player just draws a transparent rectangle on the position where the video should be. MediaPlayerPrivateGStreamerBase will instantiate a platform dependant video sink which will be in charge of displaying the video frames in some way (usually on a plane below the browser), and will push empty frames to the compositor indicating that the rectangle to draw should overwrite the existent content. TextureMapperPlatformLayerBuffer::HolePunchClient is used to tell the video sink where to position the video so it's set below the browser transparent hole. Added ManualTest wpe/video-player-holepunch.html to test the feature. * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::shouldIgnoreIntrinsicSize): * platform/graphics/MediaPlayer.h: * platform/graphics/MediaPlayerPrivate.h: (WebCore::MediaPlayerPrivateInterface::shouldIgnoreIntrinsicSize): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize const): (WebCore::MediaPlayerPrivateGStreamerBase::swapBuffersIfNeeded): (WebCore::setRectangleToVideoSink): (WebCore::GStreamerHolePunchClient::GStreamerHolePunchClient): (WebCore::MediaPlayerPrivateGStreamerBase::createHolePunchVideoSink): (WebCore::MediaPlayerPrivateGStreamerBase::pushNextHolePunchBuffer): (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: * platform/graphics/texmap/TextureMapper.h: * platform/graphics/texmap/TextureMapperGL.cpp: (WebCore::TextureMapperGL::drawSolidColor): * platform/graphics/texmap/TextureMapperGL.h: * platform/graphics/texmap/TextureMapperLayer.cpp: (WebCore::TextureMapperLayer::paintSelf): * platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp: (WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper): * platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h: (WebCore::TextureMapperPlatformLayerBuffer::setHolePunchClient): * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer): * rendering/RenderVideo.cpp: (WebCore::RenderVideo::videoBox const): Source/WebKit: Add a new parameter to the calls of TextureMapper::drawSolidColor(). * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext): Canonical link: https://commits.webkit.org/208810@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-02-07 14:42:32 +00:00
2019-02-07 Miguel Gomez <magomez@igalia.com>
[WPE] Implement GStreamer based holepunch
https://bugs.webkit.org/show_bug.cgi?id=193715
Reviewed by Xabier Rodriguez-Calvar.
Add GSTREAMER_HOLEPUNCH option to the WPE port with a manual test to
check the feature.
* ManualTests/wpe/video-player-holepunch.html: Added.
* Source/cmake/OptionsWPE.cmake:
2019-02-01 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Enable font variations
https://bugs.webkit.org/show_bug.cgi?id=194148
Reviewed by Žan Doberšek.
Enable variation fonts when required dependencies are available.
* Source/cmake/OptionsWPE.cmake:
[JSC] Reenable baseline JIT on mips https://bugs.webkit.org/show_bug.cgi?id=192983 Reviewed by Mark Lam. .: Use baseline JIT by default on MIPS. * Source/cmake/WebKitFeatures.cmake: JSTests: Added a new test for a case that was triggering a RELEASE_ASSERT when testing. Disable some slow tests that were already disabled for arm and x86. * stress/json-parse-big-object.js: Added. * stress/new-largeish-contiguous-array-with-size.js: * stress/op_add.js: * stress/op_bitand.js: * stress/op_bitor.js: * stress/op_bitxor.js: * stress/op_lshift-ConstVar.js: * stress/op_lshift-VarConst.js: * stress/op_lshift-VarVar.js: * stress/op_mod-ConstVar.js: * stress/op_mod-VarConst.js: * stress/op_mod-VarVar.js: * stress/op_mul-ConstVar.js: * stress/op_mul-VarConst.js: * stress/op_mul-VarVar.js: * stress/op_rshift-ConstVar.js: * stress/op_rshift-VarConst.js: * stress/op_rshift-VarVar.js: * stress/op_sub-ConstVar.js: * stress/op_sub-VarConst.js: * stress/op_sub-VarVar.js: * stress/op_urshift-ConstVar.js: * stress/op_urshift-VarConst.js: * stress/op_urshift-VarVar.js: * stress/sampling-profiler-richards.js: * stress/spread-forward-call-varargs-stack-overflow.js: Source/JavaScriptCore: Use $s0 as metadata register and make sure it's properly saved and restored. * jit/GPRInfo.h: * jit/RegisterSet.cpp: (JSC::RegisterSet::vmCalleeSaveRegisters): (JSC::RegisterSet::llintBaselineCalleeSaveRegisters): * llint/LowLevelInterpreter.asm: * offlineasm/mips.rb: Source/WTF: Use baseline JIT by default on MIPS. * wtf/Platform.h: Canonical link: https://commits.webkit.org/208278@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-01-24 12:04:36 +00:00
2019-01-24 Guillaume Emont <guijemont@igalia.com>
[JSC] Reenable baseline JIT on mips
https://bugs.webkit.org/show_bug.cgi?id=192983
Reviewed by Mark Lam.
Use baseline JIT by default on MIPS.
* Source/cmake/WebKitFeatures.cmake:
2019-01-24 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Support JPEG 2000 images
https://bugs.webkit.org/show_bug.cgi?id=186272
Reviewed by Žan Doberšek.
Add USE_OPENJPEG build option.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds https://bugs.webkit.org/show_bug.cgi?id=189553 Reviewed by Tim Horton. .: * Makefile.shared: PerformanceTests: * MediaTime/Configurations/Base.xcconfig: * MediaTime/Configurations/SDKVariant.xcconfig: Added. Source/bmalloc: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/JavaScriptCore: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/ThirdParty/ANGLE: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/ThirdParty/libwebrtc: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebCore: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. * Configurations/WebCore.xcconfig: Source/WebCore/PAL: * Configurations/Base.xcconfig: * Configurations/PAL.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebInspectorUI: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebKit: * Configurations/Base.xcconfig: * Configurations/BaseTarget.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebKitLegacy/mac: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. * Configurations/WebKitLegacy.xcconfig: Source/WTF: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Tools: Add a check-webkit-style check that ensures all SDKVariant.xcconfig files match. * ContentExtensionTester/Configurations/Base.xcconfig: * ContentExtensionTester/Configurations/SDKVariant.xcconfig: Added. * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/SDKVariant.xcconfig: Added. * ImageDiff/cg/Configurations/Base.xcconfig: * ImageDiff/cg/Configurations/SDKVariant.xcconfig: Added. * MiniBrowser/Configurations/Base.xcconfig: * MiniBrowser/Configurations/SDKVariant.xcconfig: Added. * MobileMiniBrowser/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/SDKVariant.xcconfig: Added. * Scripts/webkitpy/style/checker.py: (_all_categories): (FileType): (CheckerDispatcher._file_type): (CheckerDispatcher._create_checker): * Scripts/webkitpy/style/checkers/sdkvariant.py: Added. (SDKVariantChecker): (SDKVariantChecker.__init__): (SDKVariantChecker.check): * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/SDKVariant.xcconfig: Added. * WebEditingTester/Configurations/Base.xcconfig: * WebEditingTester/Configurations/SDKVariant.xcconfig: Added. * WebKitLauncher/Configurations/SDKVariant.xcconfig: Added. * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/SDKVariant.xcconfig: Added. * lldb/lldbWebKitTester/Configurations/Base.xcconfig: * lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig: Added. Canonical link: https://commits.webkit.org/208098@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-01-18 22:53:49 +00:00
2019-01-18 Jer Noble <jer.noble@apple.com>
SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
https://bugs.webkit.org/show_bug.cgi?id=189553
Reviewed by Tim Horton.
* Makefile.shared:
[WPE] Add Qt extension https://bugs.webkit.org/show_bug.cgi?id=191464 Reviewed by Carlos Garcia Campos. .: * Source/cmake/OptionsWPE.cmake: Add ENABLE_WPE_QT_API CMake option. Disabled by default. Source/WebKit: This new extension is a QML plugin embedding a WPE ViewBackend implementation. It provides a public API very similar to Qt's WebView module. It comes with a simple mini-browser implemented in QML. QtWPE is known to work with the Wayland-EGL (in GNOME and Weston compositors) and EGLFS QPAs. * PlatformWPE.cmake: * UIProcess/API/wpe/qt/WPEQmlExtensionPlugin.cpp: Added. (WPEQmlExtensionPlugin::registerTypes): * UIProcess/API/wpe/qt/WPEQmlExtensionPlugin.h: Added. * UIProcess/API/wpe/qt/WPEQtView.cpp: Added. (WPEQtView::WPEQtView): (WPEQtView::~WPEQtView): (WPEQtView::geometryChanged): (WPEQtView::configureWindow): (WPEQtView::createOffscreen): (WPEQtView::backendCreated): (WPEQtView::notifyUrlChangedCallback): (WPEQtView::notifyTitleChangedCallback): (WPEQtView::notifyLoadProgressCallback): (WPEQtView::notifyLoadChangedCallback): (WPEQtView::notifyLoadFailedCallback): (WPEQtView::updatePaintNode): (WPEQtView::url const): (WPEQtView::setUrl): (WPEQtView::loadProgress const): (WPEQtView::title const): (WPEQtView::canGoBack const): (WPEQtView::isLoading const): (WPEQtView::canGoForward const): (WPEQtView::goBack): (WPEQtView::goForward): (WPEQtView::reload): (WPEQtView::stop): (WPEQtView::loadHtml): (WPEQtView::jsAsyncReadyCallback): (WPEQtView::handleJsResult): (WPEQtView::runJavaScript): (WPEQtView::mousePressEvent): (WPEQtView::mouseReleaseEvent): (WPEQtView::hoverEnterEvent): (WPEQtView::hoverLeaveEvent): (WPEQtView::hoverMoveEvent): (WPEQtView::wheelEvent): (WPEQtView::keyPressEvent): (WPEQtView::keyReleaseEvent): (WPEQtView::touchEvent): * UIProcess/API/wpe/qt/WPEQtView.h: Added. * UIProcess/API/wpe/qt/WPEQtViewBackend.cpp: Added. (configureCallback): (WPEQtViewBackend::WPEQtViewBackend): (WPEQtViewBackend::~WPEQtViewBackend): (WPEQtViewBackend::configureGlibEglDisplay): (WPEQtViewBackend::configureEglDisplay): (WPEQtViewBackend::initialize): (WPEQtViewBackend::backend const): (WPEQtViewBackend::resize): (WPEQtViewBackend::getTexture): (WPEQtViewBackend::initSurface): (WPEQtViewBackend::displayImage): (WPEQtViewBackend::modifiers const): (WPEQtViewBackend::dispatchHoverEnterEvent): (WPEQtViewBackend::dispatchHoverLeaveEvent): (WPEQtViewBackend::dispatchHoverMoveEvent): (WPEQtViewBackend::dispatchMousePressEvent): (WPEQtViewBackend::dispatchMouseReleaseEvent): (WPEQtViewBackend::dispatchWheelEvent): (WPEQtViewBackend::dispatchKeyEvent): (WPEQtViewBackend::dispatchTouchEvent): * UIProcess/API/wpe/qt/WPEQtViewBackend.h: Added. * UIProcess/API/wpe/qt/WPEQtViewLoadRequest.cpp: Added. (WPEQtViewLoadRequest::WPEQtViewLoadRequest): (WPEQtViewLoadRequest::~WPEQtViewLoadRequest): (WPEQtViewLoadRequest::url const): (WPEQtViewLoadRequest::status const): (WPEQtViewLoadRequest::errorString const): * UIProcess/API/wpe/qt/WPEQtViewLoadRequest.h: Added. * UIProcess/API/wpe/qt/WPEQtViewLoadRequestPrivate.h: Added. (WPEQtViewLoadRequestPrivate::WPEQtViewLoadRequestPrivate): (WPEQtViewLoadRequestPrivate::~WPEQtViewLoadRequestPrivate): * UIProcess/API/wpe/qt/qmldir: Added. Tools: MiniBrowser and API tests for the WPE Qt API. To run the MiniBrowser a new script is introduced. Example invocation: $ run-qt-wpe-minibrowser -platform wayland https://webkit.org Also note-worthy is the introduction of the python2-subprocess32 dependency to run the GLib API tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/qt/CMakeLists.txt: Added. * MiniBrowser/wpe/qt/main.cpp: Added. (main): * MiniBrowser/wpe/qt/main.qml: Added. * MiniBrowser/wpe/qt/qml.qrc: Added. * Scripts/run-gtk-tests: (GtkTestRunner.is_google_test): (GtkTestRunner): (GtkTestRunner.is_qt_test): * Scripts/run-qt-wpe-minibrowser: Added. * Scripts/run-wpe-tests: (WPETestRunner): (WPETestRunner.is_google_test): (WPETestRunner.is_qt_test): * TestWebKitAPI/Tests/WPEQt/TestLoad.cpp: Added. (TestLoad::main): * TestWebKitAPI/Tests/WPEQt/TestLoadHtml.cpp: Added. (TestLoadHtml::main): * TestWebKitAPI/Tests/WPEQt/TestLoadRequest.cpp: Added. (TestLoadRequest::main): * TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp: Added. (TestRunJavaScript::main): * TestWebKitAPI/Tests/WPEQt/WPEQtTest.cpp: Added. (waitForSignal): * TestWebKitAPI/Tests/WPEQt/WPEQtTest.h: Added. (LoadSpy::LoadSpy): (LoadSpy::~LoadSpy): (LoadSpy::onLoadingChanged): (LoadStartedCatcher::LoadStartedCatcher): (LoadStartedCatcher::~LoadStartedCatcher): (LoadStartedCatcher::onLoadingChanged): (waitForLoadSucceeded): (waitForLoadFailed): * TestWebKitAPI/glib/CMakeLists.txt: * flatpak/flatpakutils.py: (WebkitFlatpak.load_from_args): (WebkitFlatpak.__init__): (WebkitFlatpak.clean_args): (WebkitFlatpak.run_in_sandbox): * flatpak/org.webkit.CommonModules.yaml: * flatpak/org.webkit.WPE.yaml: * flatpak/org.webkit.WPEModules.yaml: * flatpak/org.webkit.WPEQT.yaml: Copied from Tools/flatpak/org.webkit.WebKit.yaml. * flatpak/org.webkit.WebKit.yaml: * glib/api_test_runner.py: (TestRunner._run_test_qt): (TestRunner.is_qt_test): (TestRunner._run_test): Canonical link: https://commits.webkit.org/208067@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240141 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-01-18 13:07:38 +00:00
2019-01-18 Philippe Normand <pnormand@igalia.com>
[WPE] Add Qt extension
https://bugs.webkit.org/show_bug.cgi?id=191464
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsWPE.cmake: Add ENABLE_WPE_QT_API CMake option. Disabled by default.
2019-01-17 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r240124.
This commit broke an internal build.
Reverted changeset:
"SDK_VARIANT build destinations should be separate from non-
SDK_VARIANT builds"
https://bugs.webkit.org/show_bug.cgi?id=189553
https://trac.webkit.org/changeset/240124
SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds https://bugs.webkit.org/show_bug.cgi?id=189553 Reviewed by Tim Horton. .: * Makefile.shared: PerformanceTests: * MediaTime/Configurations/Base.xcconfig: * MediaTime/Configurations/SDKVariant.xcconfig: Added. Source/bmalloc: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/JavaScriptCore: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/ThirdParty/ANGLE: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/ThirdParty/libwebrtc: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebCore: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. * Configurations/WebCore.xcconfig: Source/WebCore/PAL: * Configurations/Base.xcconfig: * Configurations/PAL.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebInspectorUI: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebKit: * Configurations/Base.xcconfig: * Configurations/BaseTarget.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Source/WebKitLegacy/mac: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. * Configurations/WebKitLegacy.xcconfig: Source/WTF: * Configurations/Base.xcconfig: * Configurations/SDKVariant.xcconfig: Added. Tools: Add a check-webkit-style check that ensures all SDKVariant.xcconfig files match. * ContentExtensionTester/Configurations/Base.xcconfig: * ContentExtensionTester/Configurations/SDKVariant.xcconfig: Added. * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/SDKVariant.xcconfig: Added. * ImageDiff/cg/Configurations/Base.xcconfig: * ImageDiff/cg/Configurations/SDKVariant.xcconfig: Added. * MiniBrowser/Configurations/Base.xcconfig: * MiniBrowser/Configurations/SDKVariant.xcconfig: Added. * MobileMiniBrowser/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/SDKVariant.xcconfig: Added. * Scripts/webkitpy/style/checker.py: (_all_categories): (FileType): (CheckerDispatcher._file_type): (CheckerDispatcher._create_checker): * Scripts/webkitpy/style/checkers/sdkvariant.py: Added. (SDKVariantChecker): (SDKVariantChecker.__init__): (SDKVariantChecker.check): * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/SDKVariant.xcconfig: Added. * WebEditingTester/Configurations/Base.xcconfig: * WebEditingTester/Configurations/SDKVariant.xcconfig: Added. * WebKitLauncher/Configurations/SDKVariant.xcconfig: Added. * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/SDKVariant.xcconfig: Added. * lldb/lldbWebKitTester/Configurations/Base.xcconfig: * lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig: Added. Canonical link: https://commits.webkit.org/208052@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-01-17 20:46:05 +00:00
2019-01-17 Jer Noble <jer.noble@apple.com>
SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
https://bugs.webkit.org/show_bug.cgi?id=189553
Reviewed by Tim Horton.
* Makefile.shared:
2019-01-17 Per Arne Vollan <pvollan@apple.com>
[Win] gperf command not found
https://bugs.webkit.org/show_bug.cgi?id=193538
<rdar://problem/47250549>
Reviewed by Brent Fulgham.
CMake only searches for gperf if ENABLE_WEBCORE is on. ENABLE_WEBCORE needs to be set to ON.
* Source/cmake/OptionsAppleWin.cmake:
2019-01-14 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.23.3 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers
2019-01-08 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.23.2 release
* Source/cmake/OptionsGTK.cmake: Bump version numbers
2019-01-07 Don Olmstead <don.olmstead@sony.com>
[CMake] Add ENABLE_CSS_TYPED_OM option
https://bugs.webkit.org/show_bug.cgi?id=193216
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitFeatures.cmake:
2018-12-30 Yusuke Suzuki <yusukesuzuki@slowstart.org>
gperf is only used in WebCore
https://bugs.webkit.org/show_bug.cgi?id=193061
Reviewed by Don Olmstead.
gperf is only used in WebCore. So if the port does not have WebCore,
it is not necessary. For example, JSCOnly port does not require it.
This patch removes gperf dependency in these ports by checking
ENABLE_WEBCORE.
* Source/cmake/WebKitCommon.cmake:
2018-12-28 Yusuke Suzuki <yusukesuzuki@slowstart.org>
Add ENABLE_UNIFIED_BUILDS option to cmake ports
https://bugs.webkit.org/show_bug.cgi?id=193045
Reviewed by Don Olmstead.
This patch adds ENABLE_UNIFIED_BUILDS option to cmake ports, which allows us to disable Unified Builds in WebKit.
This makes `compile_commands.json` sane when the unified builds is disabled, and various tools can use this
compilation database. For example, YouCompleteMe completion server can use it.
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/WebKitMacros.cmake:
2018-12-27 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=192658
Reviewed by Yusuke Suzuki.
* Source/cmake/OptionsMac.cmake:
2018-12-19 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Cannot build with CMake <3.7
https://bugs.webkit.org/show_bug.cgi?id=192865
Reviewed by Michael Catanzaro.
* Source/cmake/OptionsGTK.cmake: Convert usage of VERSION_GREATER_EQUAL to a
combination of VERSION_GREATER + STREQUAL.
2018-12-19 Lucas Stach <l.stach@pengutronix.de>
Fix build on 64bit ARM with arm64 SYSTEM_PROCESSOR
https://bugs.webkit.org/show_bug.cgi?id=192497
Reviewed by Philippe Normand.
Android and some embedded Linux build systems use arm64 instead of
aarch64 as the CMAKE_HOST_PROCESSOR. Fix the JIT build for this scenario.
* CMakeLists.txt:
[FreeType] Add initial implementation of variation fonts https://bugs.webkit.org/show_bug.cgi?id=192151 Reviewed by Michael Catanzaro. .: Enable variation fonts in GTK+ port when required dependencies are available. * Source/cmake/OptionsGTK.cmake: Source/WebCore: * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::font): Remove platform ifdefs. * loader/cache/CachedFont.cpp: (WebCore::CachedFont::platformDataFromCustomData): Ditto. * platform/graphics/FontPlatformData.h: (WebCore::FontPlatformData::isFixedWidth const): * platform/graphics/cairo/FontCustomPlatformData.h: Use RefPtr for cairo_font_face_t. * platform/graphics/freetype/FontCacheFreeType.cpp: (WebCore::getFontPropertiesFromPattern): Helper function to get several font properties from the fontconfig pattern. (WebCore::FontCache::systemFallbackForCharacters): Use getFontPropertiesFromPattern(). (WebCore::FontCache::createFontPlatformData): Pass FC_VARIABLE to the pattern and call buildVariationSettings() before creating the FontPlatformData to set FC_FONT_VARIATIONS on the pattern. (WebCore::defaultVariationValues): Parse font variations table. (WebCore::buildVariationSettings): Build a font variations string from the settings that can be passed to cairo. * platform/graphics/freetype/FontCacheFreeType.h: Added. * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: (WebCore::FontCustomPlatformData::FontCustomPlatformData): Use RefPtr and make freeTypeFaceKey global. (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Remove explicit destroy. (WebCore::defaultFontconfigOptions): Moved here from FontCacheFreeType. (WebCore::FontCustomPlatformData::fontPlatformData): Call buildVariationSettings() before creating the FontPlatformData to set FC_FONT_VARIATIONS on the pattern. (WebCore::FontCustomPlatformData::supportsFormat): Add variation formats. * platform/graphics/freetype/FontPlatformDataFreeType.cpp: (WebCore::setCairoFontOptionsFromFontConfigPattern): Call cairo_font_options_set_variations() with the FC_FONT_VARIATIONS value from the pattern. (WebCore::FontPlatformData::FontPlatformData): Use a single constructor that always receives a valid fontconfig pattern. (WebCore::FontPlatformData::fcPattern const): Return the fontconfig pattern. (WebCore::FontPlatformData::platformIsEqual const): Update the condition now that m_pattern can't be nullptr. (WebCore::FontPlatformData::buildScaledFont): Use m_pattern unconditionally. * platform/graphics/freetype/SimpleFontDataFreeType.cpp: (WebCore::Font::platformCreateScaledFont const): Update it to use the new FontPlatformData constructor. * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp: (WebCore::HarfBuzzFace::createFont): Pass variations to HarfBuzz. * platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData): * platform/graphics/win/FontCustomPlatformData.h: Tools: Add cairo patch to avoid crashes. * gtk/jhbuild.modules: * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added. LayoutTests: Unskip variation fonts tests that are now passing in GTK+ port. * platform/gtk/TestExpectations: Canonical link: https://commits.webkit.org/207235@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-12-13 09:17:31 +00:00
2018-12-12 Carlos Garcia Campos <cgarcia@igalia.com>
[FreeType] Add initial implementation of variation fonts
https://bugs.webkit.org/show_bug.cgi?id=192151
Reviewed by Michael Catanzaro.
Enable variation fonts in GTK+ port when required dependencies are available.
* Source/cmake/OptionsGTK.cmake:
Unreviewed manual rollout of r239100-r239102 and r239114 https://bugs.webkit.org/show_bug.cgi?id=192151 <rdar://problem/46655586> .: * Source/cmake/OptionsGTK.cmake: Source/WebCore: * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::font): * loader/cache/CachedFont.cpp: (WebCore::CachedFont::platformDataFromCustomData): * platform/FreeType.cmake: * platform/graphics/FontPlatformData.h: (WebCore::FontPlatformData::isFixedWidth const): Deleted. * platform/graphics/cairo/FontCustomPlatformData.h: * platform/graphics/freetype/FontCacheFreeType.cpp: (WebCore::FontCache::systemFallbackForCharacters): (WebCore::FontCache::createFontPlatformData): (WebCore::getFontPropertiesFromPattern): Deleted. (WebCore::defaultVariationValues): Deleted. (WebCore::buildVariationSettings): Deleted. * platform/graphics/freetype/FontCacheFreeType.h: Removed. * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: (WebCore::FontCustomPlatformData::FontCustomPlatformData): (WebCore::FontCustomPlatformData::~FontCustomPlatformData): (WebCore::FontCustomPlatformData::fontPlatformData): (WebCore::FontCustomPlatformData::supportsFormat): (WebCore::defaultFontconfigOptions): Deleted. * platform/graphics/freetype/FontPlatformDataFreeType.cpp: (WebCore::setCairoFontOptionsFromFontConfigPattern): (WebCore::getDefaultFontconfigOptions): (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::operator=): (WebCore::FontPlatformData::harfBuzzFace const): (WebCore::FontPlatformData::platformIsEqual const): (WebCore::FontPlatformData::buildScaledFont): (WebCore::FontPlatformData::fcPattern const): Deleted. (WebCore::FontPlatformData::createOpenTypeMathHarfBuzzFont const): Deleted. * platform/graphics/freetype/SimpleFontDataFreeType.cpp: (WebCore::Font::platformCreateScaledFont const): * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: (WebCore::fontFeatures): (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): (WebCore::floatToHarfBuzzPosition): Deleted. (WebCore::doubleToHarfBuzzPosition): Deleted. (WebCore::harfBuzzFontFunctions): Deleted. (WebCore::findScriptForVerticalGlyphSubstitution): Deleted. * platform/graphics/harfbuzz/HarfBuzzFace.cpp: Added. (WebCore::HarfBuzzFace::CacheEntry::CacheEntry): (WebCore::HarfBuzzFace::CacheEntry::~CacheEntry): (WebCore::HarfBuzzFace::cache): (WebCore::HarfBuzzFace::HarfBuzzFace): (WebCore::HarfBuzzFace::~HarfBuzzFace): (WebCore::findScriptForVerticalGlyphSubstitution): (WebCore::HarfBuzzFace::setScriptForVerticalGlyphSubstitution): * platform/graphics/harfbuzz/HarfBuzzFace.h: Added. (WebCore::HarfBuzzFace::CacheEntry::create): (WebCore::HarfBuzzFace::CacheEntry::face): (WebCore::HarfBuzzFace::CacheEntry::glyphCache): * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp: Added. (WebCore::floatToHarfBuzzPosition): (WebCore::doubleToHarfBuzzPosition): (WebCore::CairoGetGlyphWidthAndExtents): (WebCore::harfBuzzGetGlyph): (WebCore::harfBuzzGetGlyphHorizontalAdvance): (WebCore::harfBuzzGetGlyphHorizontalOrigin): (WebCore::harfBuzzGetGlyphExtents): (WebCore::harfBuzzCairoTextGetFontFuncs): (WebCore::harfBuzzCairoGetTable): (WebCore::HarfBuzzFace::createFace): (WebCore::HarfBuzzFace::createFont): * platform/graphics/harfbuzz/HbUniquePtr.h: (WebCore::HbPtrDeleter<hb_face_t>::operator() const): Deleted. * platform/graphics/opentype/OpenTypeMathData.cpp: (WebCore::OpenTypeMathData::OpenTypeMathData): * platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData): * platform/graphics/win/FontCustomPlatformData.h: * platform/graphics/win/FontCustomPlatformDataCairo.cpp: (WebCore::FontCustomPlatformData::fontPlatformData): Tools: * gtk/jhbuild.modules: * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Removed. LayoutTests: * platform/gtk/TestExpectations: * platform/gtk/mathml/opentype/opentype-stretchy-expected.png: * platform/gtk/mathml/opentype/opentype-stretchy-expected.txt: Canonical link: https://commits.webkit.org/207203@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-12-12 19:02:53 +00:00
2018-12-12 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed manual rollout of r239100-r239102 and r239116
Unreviewed manual rollout of r239100-r239102 and r239114 https://bugs.webkit.org/show_bug.cgi?id=192151 <rdar://problem/46655586> .: * Source/cmake/OptionsGTK.cmake: Source/WebCore: * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::font): * loader/cache/CachedFont.cpp: (WebCore::CachedFont::platformDataFromCustomData): * platform/FreeType.cmake: * platform/graphics/FontPlatformData.h: (WebCore::FontPlatformData::isFixedWidth const): Deleted. * platform/graphics/cairo/FontCustomPlatformData.h: * platform/graphics/freetype/FontCacheFreeType.cpp: (WebCore::FontCache::systemFallbackForCharacters): (WebCore::FontCache::createFontPlatformData): (WebCore::getFontPropertiesFromPattern): Deleted. (WebCore::defaultVariationValues): Deleted. (WebCore::buildVariationSettings): Deleted. * platform/graphics/freetype/FontCacheFreeType.h: Removed. * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: (WebCore::FontCustomPlatformData::FontCustomPlatformData): (WebCore::FontCustomPlatformData::~FontCustomPlatformData): (WebCore::FontCustomPlatformData::fontPlatformData): (WebCore::FontCustomPlatformData::supportsFormat): (WebCore::defaultFontconfigOptions): Deleted. * platform/graphics/freetype/FontPlatformDataFreeType.cpp: (WebCore::setCairoFontOptionsFromFontConfigPattern): (WebCore::getDefaultFontconfigOptions): (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::operator=): (WebCore::FontPlatformData::harfBuzzFace const): (WebCore::FontPlatformData::platformIsEqual const): (WebCore::FontPlatformData::buildScaledFont): (WebCore::FontPlatformData::fcPattern const): Deleted. (WebCore::FontPlatformData::createOpenTypeMathHarfBuzzFont const): Deleted. * platform/graphics/freetype/SimpleFontDataFreeType.cpp: (WebCore::Font::platformCreateScaledFont const): * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: (WebCore::fontFeatures): (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): (WebCore::floatToHarfBuzzPosition): Deleted. (WebCore::doubleToHarfBuzzPosition): Deleted. (WebCore::harfBuzzFontFunctions): Deleted. (WebCore::findScriptForVerticalGlyphSubstitution): Deleted. * platform/graphics/harfbuzz/HarfBuzzFace.cpp: Added. (WebCore::HarfBuzzFace::CacheEntry::CacheEntry): (WebCore::HarfBuzzFace::CacheEntry::~CacheEntry): (WebCore::HarfBuzzFace::cache): (WebCore::HarfBuzzFace::HarfBuzzFace): (WebCore::HarfBuzzFace::~HarfBuzzFace): (WebCore::findScriptForVerticalGlyphSubstitution): (WebCore::HarfBuzzFace::setScriptForVerticalGlyphSubstitution): * platform/graphics/harfbuzz/HarfBuzzFace.h: Added. (WebCore::HarfBuzzFace::CacheEntry::create): (WebCore::HarfBuzzFace::CacheEntry::face): (WebCore::HarfBuzzFace::CacheEntry::glyphCache): * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp: Added. (WebCore::floatToHarfBuzzPosition): (WebCore::doubleToHarfBuzzPosition): (WebCore::CairoGetGlyphWidthAndExtents): (WebCore::harfBuzzGetGlyph): (WebCore::harfBuzzGetGlyphHorizontalAdvance): (WebCore::harfBuzzGetGlyphHorizontalOrigin): (WebCore::harfBuzzGetGlyphExtents): (WebCore::harfBuzzCairoTextGetFontFuncs): (WebCore::harfBuzzCairoGetTable): (WebCore::HarfBuzzFace::createFace): (WebCore::HarfBuzzFace::createFont): * platform/graphics/harfbuzz/HbUniquePtr.h: (WebCore::HbPtrDeleter<hb_face_t>::operator() const): Deleted. * platform/graphics/opentype/OpenTypeMathData.cpp: (WebCore::OpenTypeMathData::OpenTypeMathData): * platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData): * platform/graphics/win/FontCustomPlatformData.h: * platform/graphics/win/FontCustomPlatformDataCairo.cpp: (WebCore::FontCustomPlatformData::fontPlatformData): Tools: * gtk/jhbuild.modules: * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Removed. LayoutTests: * platform/gtk/TestExpectations: * platform/gtk/mathml/opentype/opentype-stretchy-expected.png: * platform/gtk/mathml/opentype/opentype-stretchy-expected.txt: Canonical link: https://commits.webkit.org/207203@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-12-12 19:02:53 +00:00
https://bugs.webkit.org/show_bug.cgi?id=192151
<rdar://problem/46655586>
* Source/cmake/OptionsGTK.cmake:
[FreeType] Add initial implementation of variation fonts https://bugs.webkit.org/show_bug.cgi?id=192151 Reviewed by Michael Catanzaro. .: Enable variation fonts in GTK+ port when required dependencies are available. * Source/cmake/OptionsGTK.cmake: Source/WebCore: * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::font): Remove platform ifdefs. * loader/cache/CachedFont.cpp: (WebCore::CachedFont::platformDataFromCustomData): Ditto. * platform/graphics/FontPlatformData.h: (WebCore::FontPlatformData::isFixedWidth const): * platform/graphics/cairo/FontCustomPlatformData.h: Use RefPtr for cairo_font_face_t. * platform/graphics/freetype/FontCacheFreeType.cpp: (WebCore::getFontPropertiesFromPattern): Helper function to get several font properties from the fontconfig pattern. (WebCore::FontCache::systemFallbackForCharacters): Use getFontPropertiesFromPattern(). (WebCore::FontCache::createFontPlatformData): Pass FC_VARIABLE to the pattern and call buildVariationSettings() before creating the FontPlatformData to set FC_FONT_VARIATIONS on the pattern. (WebCore::defaultVariationValues): Parse font variations table. (WebCore::buildVariationSettings): Build a font variations string from the settings that can be passed to cairo. * platform/graphics/freetype/FontCacheFreeType.h: Added. * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: (WebCore::FontCustomPlatformData::FontCustomPlatformData): Use RefPtr and make freeTypeFaceKey global. (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Remove explicit destroy. (WebCore::defaultFontconfigOptions): Moved here from FontCacheFreeType. (WebCore::FontCustomPlatformData::fontPlatformData): Call buildVariationSettings() before creating the FontPlatformData to set FC_FONT_VARIATIONS on the pattern. (WebCore::FontCustomPlatformData::supportsFormat): Add variation formats. * platform/graphics/freetype/FontPlatformDataFreeType.cpp: (WebCore::setCairoFontOptionsFromFontConfigPattern): Call cairo_font_options_set_variations() with the FC_FONT_VARIATIONS value from the pattern. (WebCore::FontPlatformData::FontPlatformData): Use a single constructor that always receives a valid fontconfig pattern. (WebCore::FontPlatformData::fcPattern const): Return the fontconfig pattern. (WebCore::FontPlatformData::platformIsEqual const): Update the condition now that m_pattern can't be nullptr. (WebCore::FontPlatformData::buildScaledFont): Use m_pattern unconditionally. * platform/graphics/freetype/SimpleFontDataFreeType.cpp: (WebCore::Font::platformCreateScaledFont const): Update it to use the new FontPlatformData constructor. * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp: (WebCore::HarfBuzzFace::createFont): Pass variations to HarfBuzz. * platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData): * platform/graphics/win/FontCustomPlatformData.h: Tools: Add cairo patch to avoid crashes. * gtk/jhbuild.modules: * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added. LayoutTests: Unskip variation fonts tests that are now passing in GTK+ port. * platform/gtk/TestExpectations: Canonical link: https://commits.webkit.org/207190@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-12-12 09:07:19 +00:00
2018-12-12 Carlos Garcia Campos <cgarcia@igalia.com>
[FreeType] Add initial implementation of variation fonts
https://bugs.webkit.org/show_bug.cgi?id=192151
Reviewed by Michael Catanzaro.
Enable variation fonts in GTK+ port when required dependencies are available.
* Source/cmake/OptionsGTK.cmake:
2018-12-10 Don Olmstead <don.olmstead@sony.com>
[CMake] Add ENABLE_RESOURCE_LOAD_STATISTICS to WebKitFeatures.cmake
https://bugs.webkit.org/show_bug.cgi?id=192574
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitFeatures.cmake:
2018-12-10 Ross Kirsling <ross.kirsling@sony.com>
Add test262-results directory to .gitignore.
https://bugs.webkit.org/show_bug.cgi?id=192547
Reviewed by Dean Jackson.
* .gitignore:
2018-12-06 Carlos Eduardo Ramalho <cadubentzen@gmail.com>
[GStreamer] -DENABLE_VIDEO=ON -DENABLE_OPENGL=OFF still tries to build GstreamerGL
https://bugs.webkit.org/show_bug.cgi?id=191998
Reviewed by Philippe Normand.
Fix compilation with -DENABLE_VIDEO=ON and -DENABLE_OPENGL=OFF due to GStreamerGL.
* Source/cmake/GStreamerDependencies.cmake: "DEFINED ENABLE_OPENGL" is always false because ENABLE_OPENGL
is not a CMake variable (WEBKIT_OPTION_DEFINE macro does not define ENABLE_OPENGL variable per se, but other
variables and appends it to a list).
* Source/cmake/OptionsGTK.cmake: GStreamerDefinitions.cmake was included twice by mistake. Second should be GStreamerDependencies.cmake.
2018-12-06 Carlos Eduardo Ramalho <cadubentzen@gmail.com>
REGRESSION(r231043): [GTK] Undefined references to WebCore::LayerRepresentation::* with -DENABLE_OPENGL=OFF builds
https://bugs.webkit.org/show_bug.cgi?id=191997
Reviewed by Philippe Normand.
Fix build with -DENABLE_OPENGL=OFF and -DENABLE_VIDEO=OFF
* Source/cmake/OptionsGTK.cmake: make ENABLE_ASYNC_SCROLLING depend on ENABLE_OPENGL
[PlayStation] Enable WebCore https://bugs.webkit.org/show_bug.cgi?id=192384 Reviewed by Brent Fulgham. .: Adds CMake options for building WebCore on PlayStation. * Source/cmake/FindLibPSL.cmake: * Source/cmake/FindNghttp2.cmake: Copied from Source/cmake/FindWPE.cmake. * Source/cmake/FindPixman.cmake: Added. * Source/cmake/FindWPE.cmake: * Source/cmake/OptionsPlayStation.cmake: Source/WebCore: Implements WebCore for the PlayStation platform. * PlatformPlayStation.cmake: Added. * loader/cache/CachedResourceLoader.cpp: * platform/generic/KeyedDecoderGeneric.cpp: Added. (WebCore::KeyedDecoder::decoder): (WebCore::KeyedDecoderGeneric::KeyedDecoderGeneric): (WebCore::KeyedDecoderGeneric::~KeyedDecoderGeneric): (WebCore::KeyedDecoderGeneric::decodeBytes): (WebCore::KeyedDecoderGeneric::decodeBool): (WebCore::KeyedDecoderGeneric::decodeUInt32): (WebCore::KeyedDecoderGeneric::decodeUInt64): (WebCore::KeyedDecoderGeneric::decodeInt32): (WebCore::KeyedDecoderGeneric::decodeInt64): (WebCore::KeyedDecoderGeneric::decodeFloat): (WebCore::KeyedDecoderGeneric::decodeDouble): (WebCore::KeyedDecoderGeneric::decodeString): (WebCore::KeyedDecoderGeneric::beginObject): (WebCore::KeyedDecoderGeneric::endObject): (WebCore::KeyedDecoderGeneric::beginArray): (WebCore::KeyedDecoderGeneric::beginArrayElement): (WebCore::KeyedDecoderGeneric::endArrayElement): (WebCore::KeyedDecoderGeneric::endArray): * platform/generic/KeyedDecoderGeneric.h: Added. * platform/generic/KeyedEncoderGeneric.cpp: Added. (WebCore::KeyedEncoder::encoder): (WebCore::KeyedEncoderGeneric::KeyedEncoderGeneric): (WebCore::KeyedEncoderGeneric::~KeyedEncoderGeneric): (WebCore::KeyedEncoderGeneric::encodeBytes): (WebCore::KeyedEncoderGeneric::encodeBool): (WebCore::KeyedEncoderGeneric::encodeUInt32): (WebCore::KeyedEncoderGeneric::encodeUInt64): (WebCore::KeyedEncoderGeneric::encodeInt32): (WebCore::KeyedEncoderGeneric::encodeInt64): (WebCore::KeyedEncoderGeneric::encodeFloat): (WebCore::KeyedEncoderGeneric::encodeDouble): (WebCore::KeyedEncoderGeneric::encodeString): (WebCore::KeyedEncoderGeneric::beginObject): (WebCore::KeyedEncoderGeneric::endObject): (WebCore::KeyedEncoderGeneric::beginArray): (WebCore::KeyedEncoderGeneric::beginArrayElement): (WebCore::KeyedEncoderGeneric::endArrayElement): (WebCore::KeyedEncoderGeneric::endArray): (WebCore::KeyedEncoderGeneric::finishEncoding): * platform/generic/KeyedEncoderGeneric.h: Added. * platform/network/curl/NetworkStorageSessionCurl.cpp: (WebCore::defaultCookieJarPath): * platform/network/playstation/CurlSSLHandlePlayStation.cpp: Added. (WebCore::getCACertPathEnv): (WebCore::CurlSSLHandle::platformInitialize): * platform/network/playstation/NetworkStateNotifierPlayStation.cpp: Added. (WebCore::NetworkStateNotifier::updateStateWithoutNotifying): (WebCore::NetworkStateNotifier::startObserving): * platform/playstation/EventLoopPlayStation.cpp: Added. (WebCore::EventLoop::cycle): * platform/playstation/MIMETypeRegistryPlayStation.cpp: Added. (WebCore::MIMETypeRegistry::getMIMETypeForExtension): (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType): (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): * platform/playstation/PlatformScreenPlayStation.cpp: Added. (WebCore::screenDepth): (WebCore::screenDepthPerComponent): (WebCore::screenIsMonochrome): (WebCore::screenHasInvertedColors): (WebCore::screenRect): (WebCore::screenAvailableRect): (WebCore::screenSupportsExtendedColor): * platform/playstation/ScrollbarThemePlayStation.cpp: Added. (WebCore::ScrollbarTheme::nativeTheme): (WebCore::ScrollbarThemePlayStation::scrollbarThickness): (WebCore::ScrollbarThemePlayStation::hasButtons): (WebCore::ScrollbarThemePlayStation::hasThumb): (WebCore::ScrollbarThemePlayStation::backButtonRect): (WebCore::ScrollbarThemePlayStation::forwardButtonRect): (WebCore::ScrollbarThemePlayStation::trackRect): (WebCore::ScrollbarThemePlayStation::paintTrackBackground): (WebCore::ScrollbarThemePlayStation::paintThumb): * platform/playstation/ScrollbarThemePlayStation.h: Added. * platform/playstation/UserAgentPlayStation.cpp: Added. (WebCore::standardUserAgent): (WebCore::standardUserAgentForURL): * rendering/RenderThemePlayStation.cpp: Added. (WebCore::RenderTheme::singleton): (WebCore::RenderThemePlayStation::updateCachedSystemFontDescription const): * rendering/RenderThemePlayStation.h: Added. Source/WebCore/PAL: Implements PAL for the PlayStation platform. * pal/PlatformPlayStation.cmake: Added. Canonical link: https://commits.webkit.org/207044@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-12-05 23:25:47 +00:00
2018-12-05 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Enable WebCore
https://bugs.webkit.org/show_bug.cgi?id=192384
Reviewed by Brent Fulgham.
Adds CMake options for building WebCore on PlayStation.
* Source/cmake/FindLibPSL.cmake:
* Source/cmake/FindNghttp2.cmake: Copied from Source/cmake/FindWPE.cmake.
* Source/cmake/FindPixman.cmake: Added.
* Source/cmake/FindWPE.cmake:
* Source/cmake/OptionsPlayStation.cmake:
[WPE] Add gtk-doc https://bugs.webkit.org/show_bug.cgi?id=178900 Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-12-04 Reviewed by Michael Catanzaro. Add gtk-doc to WPE port. This patch tries to reuse as much code from WebKitGTK+ as possible. .: * Source/PlatformGTK.cmake: include GtkDoc.cmake instead of defining macro. * Source/PlatformWPE.cmake: Added documentation generation. * Source/cmake/GtkDoc.cmake: Added. * Source/cmake/OptionsWPE.cmake: Added ENABLE_GTKDOC build option and added pkg-config path variables. Source/WebKit: * PlatformWPE.cmake: Write variables to gtkdoc-wpe.cfg and gtkdoc-webextensions that is used by python script later. * UIProcess/API/wpe/WebKitWebContext.h: Placed sandbox functions in the same location as in the WebKitGTK+ for consistency. * UIProcess/API/wpe/docs/wpe-0.1-sections.txt: Added. * UIProcess/API/wpe/docs/wpe-docs.sgml: Added. * WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h: Placed webkit_web_page_get_dom_document in the same position as in the WebKitGTK+ for consistency. * WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-0.1-sections.txt: Added. * WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-docs.sgml: Added. Tools: * gtkdoc/generate-gtkdoc: Renamed from Tools/gtk/generate-gtkdoc. (get_gtkdoc_module_paths): Add GDK and GTK only if building for GTK. (prepare_environment_for_gtkdoc_generation): (build_gtkdoc_for_wpe): Code to generate doc for WPE. (build_gtkdoc_for_wkgtk): Code to generate doc for WebKitGTK+. Moved from main. * gtkdoc/gtkdoc.py: Renamed from Tools/gtk/gtkdoc.py. (GTKDoc.__init__): Initialized required variables according to pylint. (GTKDoc.api_missing_documentation): * wpe/install-dependencies: Add gtkdoc dependency. Canonical link: https://commits.webkit.org/206993@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-12-04 16:33:22 +00:00
2018-12-04 Carlos Eduardo Ramalho <cadubentzen@gmail.com>
[WPE] Add gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=178900
Reviewed by Michael Catanzaro.
Add gtk-doc to WPE port. This patch tries to reuse as much code from
WebKitGTK+ as possible.
* Source/PlatformGTK.cmake: include GtkDoc.cmake instead of defining macro.
* Source/PlatformWPE.cmake: Added documentation generation.
* Source/cmake/GtkDoc.cmake: Added.
* Source/cmake/OptionsWPE.cmake: Added ENABLE_GTKDOC build option and added pkg-config path variables.
2018-12-03 Don Olmstead <don.olmstead@sony.com>
[CMake] Sync feature defines
https://bugs.webkit.org/show_bug.cgi?id=191167
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitFeatures.cmake:
2018-12-01 Don Olmstead <don.olmstead@sony.com>
Cleanup WebKit Features
https://bugs.webkit.org/show_bug.cgi?id=192262
Reviewed by Michael Catanzaro.
Removes unused ENABLE flags from the listing in WebKitFeatures.cmake
and any other associated code. Synced the options in FeatureList.pm to
the feature listing. Sorts the ENABLE flags.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
Rename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO https://bugs.webkit.org/show_bug.cgi?id=192197 Reviewed by Jiewen Tan. .: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: No new tests. No change in behavior. * Configurations/FeatureDefines.xcconfig: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::readTerminal): * crypto/CommonCryptoUtilities.cpp: * crypto/CommonCryptoUtilities.h: * crypto/CryptoAlgorithm.cpp: * crypto/CryptoAlgorithm.h: * crypto/CryptoAlgorithmIdentifier.h: * crypto/CryptoAlgorithmParameters.h: * crypto/CryptoAlgorithmParameters.idl: * crypto/CryptoAlgorithmRegistry.cpp: * crypto/CryptoAlgorithmRegistry.h: * crypto/CryptoKey.cpp: * crypto/CryptoKey.h: * crypto/CryptoKey.idl: * crypto/CryptoKeyFormat.h: * crypto/CryptoKeyPair.h: * crypto/CryptoKeyPair.idl: * crypto/CryptoKeyType.h: * crypto/CryptoKeyUsage.h: * crypto/CryptoKeyUsage.idl: * crypto/JsonWebKey.h: * crypto/JsonWebKey.idl: * crypto/RsaOtherPrimesInfo.h: * crypto/RsaOtherPrimesInfo.idl: * crypto/SerializedCryptoKeyWrap.h: * crypto/SubtleCrypto.cpp: * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: * crypto/algorithms/CryptoAlgorithmAES_CBC.h: * crypto/algorithms/CryptoAlgorithmAES_CFB.cpp: * crypto/algorithms/CryptoAlgorithmAES_CFB.h: * crypto/algorithms/CryptoAlgorithmAES_CTR.cpp: * crypto/algorithms/CryptoAlgorithmAES_CTR.h: * crypto/algorithms/CryptoAlgorithmAES_GCM.cpp: * crypto/algorithms/CryptoAlgorithmAES_GCM.h: * crypto/algorithms/CryptoAlgorithmAES_KW.cpp: * crypto/algorithms/CryptoAlgorithmAES_KW.h: * crypto/algorithms/CryptoAlgorithmECDH.cpp: * crypto/algorithms/CryptoAlgorithmECDH.h: * crypto/algorithms/CryptoAlgorithmECDSA.cpp: * crypto/algorithms/CryptoAlgorithmECDSA.h: * crypto/algorithms/CryptoAlgorithmHKDF.cpp: * crypto/algorithms/CryptoAlgorithmHKDF.h: * crypto/algorithms/CryptoAlgorithmHMAC.cpp: * crypto/algorithms/CryptoAlgorithmHMAC.h: * crypto/algorithms/CryptoAlgorithmPBKDF2.cpp: * crypto/algorithms/CryptoAlgorithmPBKDF2.h: * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp: * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h: * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: * crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp: * crypto/algorithms/CryptoAlgorithmRSA_PSS.h: * crypto/algorithms/CryptoAlgorithmSHA1.cpp: * crypto/algorithms/CryptoAlgorithmSHA1.h: * crypto/algorithms/CryptoAlgorithmSHA224.cpp: * crypto/algorithms/CryptoAlgorithmSHA224.h: * crypto/algorithms/CryptoAlgorithmSHA256.cpp: * crypto/algorithms/CryptoAlgorithmSHA256.h: * crypto/algorithms/CryptoAlgorithmSHA384.cpp: * crypto/algorithms/CryptoAlgorithmSHA384.h: * crypto/algorithms/CryptoAlgorithmSHA512.cpp: * crypto/algorithms/CryptoAlgorithmSHA512.h: * crypto/gcrypt/CryptoAlgorithmAES_CBCGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmAES_CFBGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmAES_CTRGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmAES_GCMGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmAES_KWGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp: * crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp: * crypto/gcrypt/CryptoKeyECGCrypt.cpp: * crypto/gcrypt/CryptoKeyRSAGCrypt.cpp: * crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp: * crypto/keys/CryptoAesKeyAlgorithm.idl: * crypto/keys/CryptoEcKeyAlgorithm.idl: * crypto/keys/CryptoHmacKeyAlgorithm.idl: * crypto/keys/CryptoKeyAES.cpp: * crypto/keys/CryptoKeyAES.h: * crypto/keys/CryptoKeyAlgorithm.idl: * crypto/keys/CryptoKeyEC.cpp: * crypto/keys/CryptoKeyEC.h: * crypto/keys/CryptoKeyHMAC.cpp: * crypto/keys/CryptoKeyHMAC.h: * crypto/keys/CryptoKeyRSA.cpp: * crypto/keys/CryptoKeyRSA.h: * crypto/keys/CryptoKeyRSAComponents.cpp: * crypto/keys/CryptoKeyRSAComponents.h: * crypto/keys/CryptoKeyRaw.cpp: * crypto/keys/CryptoKeyRaw.h: * crypto/keys/CryptoRsaHashedKeyAlgorithm.idl: * crypto/keys/CryptoRsaKeyAlgorithm.idl: * crypto/mac/CommonCryptoDERUtilities.cpp: * crypto/mac/CommonCryptoDERUtilities.h: * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: * crypto/mac/CryptoAlgorithmAES_CFBMac.cpp: * crypto/mac/CryptoAlgorithmAES_CTRMac.cpp: * crypto/mac/CryptoAlgorithmAES_GCMMac.cpp: * crypto/mac/CryptoAlgorithmAES_KWMac.cpp: * crypto/mac/CryptoAlgorithmECDHMac.cpp: * crypto/mac/CryptoAlgorithmECDSAMac.cpp: * crypto/mac/CryptoAlgorithmHKDFMac.cpp: * crypto/mac/CryptoAlgorithmHMACMac.cpp: * crypto/mac/CryptoAlgorithmPBKDF2Mac.cpp: * crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: * crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp: * crypto/mac/CryptoAlgorithmRegistryMac.cpp: * crypto/mac/CryptoDigestAlgorithm.h: * crypto/mac/CryptoKeyECMac.cpp: * crypto/mac/CryptoKeyMac.cpp: * crypto/mac/CryptoKeyRSAMac.cpp: * crypto/mac/SerializedCryptoKeyWrapMac.mm: * crypto/parameters/AesCbcCfbParams.idl: * crypto/parameters/AesCtrParams.idl: * crypto/parameters/AesGcmParams.idl: * crypto/parameters/AesKeyParams.idl: * crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h: * crypto/parameters/CryptoAlgorithmAesCtrParams.h: * crypto/parameters/CryptoAlgorithmAesGcmParams.h: * crypto/parameters/CryptoAlgorithmAesKeyParams.h: * crypto/parameters/CryptoAlgorithmEcKeyParams.h: * crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h: * crypto/parameters/CryptoAlgorithmEcdsaParams.h: * crypto/parameters/CryptoAlgorithmHkdfParams.h: * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: * crypto/parameters/CryptoAlgorithmPbkdf2Params.h: * crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h: * crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h: * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: * crypto/parameters/CryptoAlgorithmRsaOaepParams.h: * crypto/parameters/CryptoAlgorithmRsaPssParams.h: * crypto/parameters/EcKeyParams.idl: * crypto/parameters/EcdhKeyDeriveParams.idl: * crypto/parameters/EcdsaParams.idl: * crypto/parameters/HkdfParams.idl: * crypto/parameters/HmacKeyParams.idl: * crypto/parameters/Pbkdf2Params.idl: * crypto/parameters/RsaHashedImportParams.idl: * crypto/parameters/RsaHashedKeyGenParams.idl: * crypto/parameters/RsaKeyGenParams.idl: * crypto/parameters/RsaOaepParams.idl: * crypto/parameters/RsaPssParams.idl: * dom/Document.cpp: * dom/Document.h: * dom/ScriptExecutionContext.h: * page/ChromeClient.h: * page/Crypto.cpp: (WebCore::Crypto::Crypto): * page/Crypto.h: * page/Crypto.idl: * platform/GCrypt.cmake: * platform/LocalizedStrings.cpp: * platform/LocalizedStrings.h: * workers/WorkerGlobalScope.cpp: * workers/WorkerGlobalScope.h: * worklets/WorkletGlobalScope.h: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: * pal/PlatformGTK.cmake: * pal/PlatformWPE.cmake: Source/WebKit: * Configurations/FeatureDefines.xcconfig: * UIProcess/API/C/WKPage.cpp: (WKPageSetPageNavigationClient): * UIProcess/WebPageProxy.cpp: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * WebProcess/WebCoreSupport/WebChromeClient.cpp: * WebProcess/WebCoreSupport/WebChromeClient.h: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/206898@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-11-30 22:23:17 +00:00
2018-11-30 Don Olmstead <don.olmstead@sony.com>
Rename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO
https://bugs.webkit.org/show_bug.cgi?id=192197
Reviewed by Jiewen Tan.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
2018-11-28 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Automatically disable JIT and enable USE_SYSTEM_MALLOC on unfamiliar architectures
https://bugs.webkit.org/show_bug.cgi?id=186722
Reviewed by Žan Doberšek.
Time for part #2! This change was defeated for GTK and WPE by the code that makes the
options public. We have three options: (a) duplicate the architecture check currently in
WebKitFeatures.cmake in both OptionsGTK.cmake and OptionsWPE.cmake, (b) rely on the result
of that check in OptionsGTK.cmake and OptionsWPE.cmake by using ENABLE_JIT_DEFAULT and
USE_SYSTEM_MALLOC_DEFAULT, a fragile encapsulation violation, or (c) just make the options
private. They have been public up until now because they needed to be turned off on
unsupported architectures. But now they are off by default and enabled only for particular
whitelisted architectures, so they shouldn't be needed anymore.
Note we have to hide ENABLE_SAMPLING_PROFILER as well, since it needs to match the value of
ENABLE_JIT. Again, this is handled properly in WebKitFeatures.cmake, and defeated here in
OptionsGTK.cmake. (This is not a problem for WPE.)
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2018-11-26 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] Remove ENABLE_ACCESSIBILITY CMake variable
https://bugs.webkit.org/show_bug.cgi?id=191831
Reviewed by Michael Catanzaro.
ENABLE_ACCESSIBILITY is a bit confusing name because there is no
such ENABLE_ACCESSIBILITY macros in C++ source files.
* Source/cmake/OptionsGTK.cmake: Removed ENABLE_ACCESSIBILITY.
* Source/cmake/OptionsWPE.cmake: Ditto.
* Source/cmake/OptionsWin.cmake: Ditto.
* Source/cmake/WebKitFeatures.cmake: Ditto.
2018-11-26 Alberto Garcia <berto@igalia.com>
[GTK] [2.22.0] Fails to build in armel
https://bugs.webkit.org/show_bug.cgi?id=188862
Disable the JIT and enable C_LOOP on ARM CPUs without Thumb2
support.
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitFeatures.cmake:
2018-11-22 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.23.1 release.
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
Enable JIT on ARM/Linux https://bugs.webkit.org/show_bug.cgi?id=191548 Reviewed by Yusuke Suzuki. .: Enable JIT by default on ARMv7/Linux after it was disabled with recent bytcode format change. * Source/cmake/WebKitFeatures.cmake: JSTests: Disable test on system with limited memory. Program was killed by the OS before the exception was thrown. * slowMicrobenchmarks/function-constructor-with-huge-strings.js: Source/bmalloc: * bmalloc/IsoPageInlines.h: (bmalloc::IsoPage<Config>::startAllocating): Source/JavaScriptCore: Enable JIT by default on ARMv7/Linux after it was disabled with recent bytcode format change. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::getICStatusMap): * bytecode/CodeBlock.h: (JSC::CodeBlock::metadata): * bytecode/InByIdStatus.cpp: (JSC::InByIdStatus::computeFor): * bytecode/Instruction.h: (JSC::Instruction::cast): * bytecode/MetadataTable.h: (JSC::MetadataTable::forEach): * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFor): (JSC::PutByIdStatus::hasExitSite): Deleted. * bytecode/PutByIdStatus.h: * dfg/DFGOSRExit.cpp: (JSC::DFG::reifyInlinedCallFrames): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): * generator/Argument.rb: * generator/Opcode.rb: * jit/GPRInfo.h: * jit/JIT.h: * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJump): (JSC::JIT::emit_compareUnsignedAndJump): (JSC::JIT::emit_compareUnsigned): (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emit_op_unsigned): (JSC::JIT::emit_op_inc): (JSC::JIT::emit_op_dec): (JSC::JIT::emitBinaryDoubleOp): (JSC::JIT::emit_op_mod): (JSC::JIT::emitSlow_op_mod): * jit/JITCall32_64.cpp: (JSC::JIT::emitPutCallResult): (JSC::JIT::emit_op_ret): (JSC::JIT::emitSlow_op_call): (JSC::JIT::emitSlow_op_tail_call): (JSC::JIT::emitSlow_op_call_eval): (JSC::JIT::emitSlow_op_call_varargs): (JSC::JIT::emitSlow_op_tail_call_varargs): (JSC::JIT::emitSlow_op_tail_call_forward_arguments): (JSC::JIT::emitSlow_op_construct_varargs): (JSC::JIT::emitSlow_op_construct): (JSC::JIT::emit_op_call): (JSC::JIT::emit_op_tail_call): (JSC::JIT::emit_op_call_eval): (JSC::JIT::emit_op_call_varargs): (JSC::JIT::emit_op_tail_call_varargs): (JSC::JIT::emit_op_tail_call_forward_arguments): (JSC::JIT::emit_op_construct_varargs): (JSC::JIT::emit_op_construct): (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase): (JSC::JIT::compileSetupVarargsFrame): Deleted. * jit/JITInlines.h: (JSC::JIT::updateTopCallFrame): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_catch): (JSC::JIT::emitSlow_op_loop_hint): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_mov): (JSC::JIT::emit_op_end): (JSC::JIT::emit_op_jmp): (JSC::JIT::emit_op_new_object): (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_overrides_has_instance): (JSC::JIT::emit_op_instanceof): (JSC::JIT::emit_op_instanceof_custom): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emit_op_is_empty): (JSC::JIT::emit_op_is_undefined): (JSC::JIT::emit_op_is_boolean): (JSC::JIT::emit_op_is_number): (JSC::JIT::emit_op_is_cell_with_type): (JSC::JIT::emit_op_is_object): (JSC::JIT::emit_op_to_primitive): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_not): (JSC::JIT::emit_op_jfalse): (JSC::JIT::emit_op_jtrue): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::emit_op_jneq_ptr): (JSC::JIT::emit_op_eq): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emit_op_jeq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emit_op_neq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emit_op_jneq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::compileOpStrictEq): (JSC::JIT::emit_op_stricteq): (JSC::JIT::emit_op_nstricteq): (JSC::JIT::compileOpStrictEqJump): (JSC::JIT::emit_op_jstricteq): (JSC::JIT::emit_op_jnstricteq): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_throw): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_to_string): (JSC::JIT::emit_op_to_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_identity_with_profile): (JSC::JIT::emit_op_get_parent_scope): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_enter): (JSC::JIT::emit_op_get_scope): (JSC::JIT::emit_op_create_this): (JSC::JIT::emit_op_to_this): (JSC::JIT::emit_op_check_tdz): (JSC::JIT::emit_op_has_structure_property): (JSC::JIT::privateCompileHasIndexedProperty): (JSC::JIT::emit_op_has_indexed_property): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_get_direct_pname): (JSC::JIT::emit_op_enumerator_structure_pname): (JSC::JIT::emit_op_enumerator_generic_pname): (JSC::JIT::emit_op_profile_type): (JSC::JIT::emit_op_log_shadow_chicken_prologue): (JSC::JIT::emit_op_log_shadow_chicken_tail): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emit_op_get_by_val): (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emit_op_put_by_val_direct): (JSC::JIT::emit_op_put_by_val): (JSC::JIT::emitGenericContiguousPutByVal): (JSC::JIT::emitArrayStoragePutByVal): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_try_get_by_id): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emit_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emit_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emit_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emit_op_put_by_id): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emit_op_in_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emit_op_resolve_scope): (JSC::JIT::emit_op_get_from_scope): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emit_op_put_to_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): * jit/RegisterSet.cpp: (JSC::RegisterSet::vmCalleeSaveRegisters): * llint/LLIntData.cpp: (JSC::LLInt::Data::performAssertions): * llint/LowLevelInterpreter.asm: * runtime/SamplingProfiler.cpp: (JSC::tryGetBytecodeIndex): Source/WTF: Enable JIT by default on ARMv7/Linux after it was disabled with recent bytcode format change. * wtf/Platform.h: Canonical link: https://commits.webkit.org/206589@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-11-21 11:03:29 +00:00
2018-11-21 Dominik Infuehr <dinfuehr@igalia.com>
Enable JIT on ARM/Linux
https://bugs.webkit.org/show_bug.cgi?id=191548
Reviewed by Yusuke Suzuki.
Enable JIT by default on ARMv7/Linux after it was disabled with
recent bytcode format change.
* Source/cmake/WebKitFeatures.cmake:
Add USE(LIBWPE) to WebCore https://bugs.webkit.org/show_bug.cgi?id=191401 Reviewed by Michael Catanzaro. .: Exposes USE_LIBWPE to the build. * Source/cmake/OptionsWPE.cmake: Source/WebCore: No new tests. No change in behavior. Migrates all PLATFORM(WPE) code that calls into wpe_* APIs to USE(LIBWPE) instead. Renames classes and files to use the suffix LibWPE. * PlatformWPE.cmake: * SourcesWPE.txt: * platform/Pasteboard.h: * platform/PasteboardStrategy.h: * platform/PlatformKeyboardEvent.h: * platform/PlatformPasteboard.h: * platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::createPlatformDisplay): * platform/graphics/PlatformDisplay.h: * platform/graphics/egl/GLContextEGL.h: * platform/graphics/egl/GLContextEGLLibWPE.cpp: Renamed from Source/WebCore/platform/graphics/egl/GLContextEGLWPE.cpp. (WebCore::GLContextEGL::createWPEContext): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: (WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext): * platform/graphics/libwpe/PlatformDisplayLibWPE.cpp: Renamed from Source/WebCore/platform/graphics/wpe/PlatformDisplayWPE.cpp. (WebCore::PlatformDisplayLibWPE::create): (WebCore::PlatformDisplayLibWPE::PlatformDisplayLibWPE): (WebCore::PlatformDisplayLibWPE::~PlatformDisplayLibWPE): (WebCore::PlatformDisplayLibWPE::initialize): * platform/graphics/libwpe/PlatformDisplayLibWPE.h: Renamed from Source/WebCore/platform/graphics/wpe/PlatformDisplayWPE.h. * platform/libwpe/PasteboardLibWPE.cpp: Renamed from Source/WebCore/platform/wpe/PasteboardWPE.cpp. * platform/libwpe/PlatformKeyboardEventLibWPE.cpp: Renamed from Source/WebCore/platform/wpe/PlatformKeyboardEventWPE.cpp. * platform/libwpe/PlatformPasteboardLibWPE.cpp: Renamed from Source/WebCore/platform/wpe/PlatformPasteboardWPE.cpp. Source/WebKit: Rename PlatformDisplayWPE to PlatformDisplayLibWPE. * WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp: (WebKit::AcceleratedSurfaceWPE::initialize): * WebProcess/wpe/WebProcessMainWPE.cpp: Canonical link: https://commits.webkit.org/206477@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238282 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-11-16 16:38:53 +00:00
2018-11-16 Don Olmstead <don.olmstead@sony.com>
Add USE(LIBWPE) to WebCore
https://bugs.webkit.org/show_bug.cgi?id=191401
Reviewed by Michael Catanzaro.
Exposes USE_LIBWPE to the build.
* Source/cmake/OptionsWPE.cmake:
2018-11-12 Ryosuke Niwa <rniwa@webkit.org>
Add HTTPS git remote to ReadMe.md
https://bugs.webkit.org/show_bug.cgi?id=191561
Reviewed by Zalan Bujtas.
* ReadMe.md:
Resurrect WebKitTestRunner for Windows port https://bugs.webkit.org/show_bug.cgi?id=189257 Patch by Takashi Komori <Takashi.Komori@sony.com> on 2018-11-12 Reviewed by Fujii Hironori. .: * Source/cmake/OptionsWin.cmake: Source/WebKit: * PlatformWin.cmake: Tools: Implement WebKitTestRunner for WinCairo. * PlatformWin.cmake: * Scripts/build-webkittestrunner: * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/EventSenderProxy.h: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp: * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::rangeToStr): (WTR::InjectedBundlePage::dumpDOMAsWebArchive): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::TestRunner): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/InjectedBundle/win/AccessibilityControllerWin.cpp: Added. (WTR::AccessibilityController::resetToConsistentState): (WTR::AccessibilityController::accessibleElementById): (WTR::AccessibilityController::platformName): (WTR::AccessibilityController::rootElement): (WTR::AccessibilityController::focusedElement): (WTR::AccessibilityController::addNotificationListener): (WTR::AccessibilityController::removeNotificationListener): * WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp: Added. (WTR::AccessibilityUIElement::AccessibilityUIElement): (WTR::AccessibilityUIElement::~AccessibilityUIElement): (WTR::AccessibilityUIElement::isEqual): (WTR::AccessibilityUIElement::getChildren): (WTR::AccessibilityUIElement::getChildrenWithRange): (WTR::AccessibilityUIElement::childrenCount): (WTR::AccessibilityUIElement::elementAtPoint): (WTR::AccessibilityUIElement::indexOfChild): (WTR::AccessibilityUIElement::childAtIndex): (WTR::AccessibilityUIElement::linkedUIElementAtIndex): (WTR::AccessibilityUIElement::ariaOwnsElementAtIndex): (WTR::AccessibilityUIElement::ariaFlowToElementAtIndex): (WTR::AccessibilityUIElement::ariaControlsElementAtIndex): (WTR::AccessibilityUIElement::disclosedRowAtIndex): (WTR::AccessibilityUIElement::rowAtIndex): (WTR::AccessibilityUIElement::selectedChildAtIndex const): (WTR::AccessibilityUIElement::selectedChildrenCount const): (WTR::AccessibilityUIElement::selectedRowAtIndex): (WTR::AccessibilityUIElement::titleUIElement): (WTR::AccessibilityUIElement::parentElement): (WTR::AccessibilityUIElement::disclosedByRow): (WTR::AccessibilityUIElement::attributesOfLinkedUIElements): (WTR::AccessibilityUIElement::attributesOfDocumentLinks): (WTR::AccessibilityUIElement::attributesOfChildren): (WTR::AccessibilityUIElement::allAttributes): (WTR::AccessibilityUIElement::stringAttributeValue): (WTR::AccessibilityUIElement::numberAttributeValue): (WTR::AccessibilityUIElement::uiElementArrayAttributeValue const): (WTR::AccessibilityUIElement::rowHeaders const): (WTR::AccessibilityUIElement::columnHeaders const): (WTR::AccessibilityUIElement::uiElementAttributeValue const): (WTR::AccessibilityUIElement::boolAttributeValue): (WTR::AccessibilityUIElement::isAttributeSettable): (WTR::AccessibilityUIElement::isAttributeSupported): (WTR::AccessibilityUIElement::parameterizedAttributeNames): (WTR::AccessibilityUIElement::role): (WTR::AccessibilityUIElement::subrole): (WTR::AccessibilityUIElement::roleDescription): (WTR::AccessibilityUIElement::computedRoleString): (WTR::AccessibilityUIElement::title): (WTR::AccessibilityUIElement::description): (WTR::AccessibilityUIElement::orientation const): (WTR::AccessibilityUIElement::stringValue): (WTR::AccessibilityUIElement::language): (WTR::AccessibilityUIElement::helpText const): (WTR::AccessibilityUIElement::x): (WTR::AccessibilityUIElement::y): (WTR::AccessibilityUIElement::width): (WTR::AccessibilityUIElement::height): (WTR::AccessibilityUIElement::clickPointX): (WTR::AccessibilityUIElement::clickPointY): (WTR::AccessibilityUIElement::intValue const): (WTR::AccessibilityUIElement::minValue): (WTR::AccessibilityUIElement::maxValue): (WTR::AccessibilityUIElement::valueDescription): (WTR::AccessibilityUIElement::insertionPointLineNumber): (WTR::AccessibilityUIElement::isPressActionSupported): (WTR::AccessibilityUIElement::isIncrementActionSupported): (WTR::AccessibilityUIElement::isDecrementActionSupported): (WTR::AccessibilityUIElement::isEnabled): (WTR::AccessibilityUIElement::isRequired const): (WTR::AccessibilityUIElement::isFocused const): (WTR::AccessibilityUIElement::isSelected const): (WTR::AccessibilityUIElement::isSelectedOptionActive const): (WTR::AccessibilityUIElement::isExpanded const): (WTR::AccessibilityUIElement::isChecked const): (WTR::AccessibilityUIElement::isIndeterminate const): (WTR::AccessibilityUIElement::hierarchicalLevel const): (WTR::AccessibilityUIElement::speakAs): (WTR::AccessibilityUIElement::ariaIsGrabbed const): (WTR::AccessibilityUIElement::ariaDropEffects const): (WTR::AccessibilityUIElement::lineForIndex): (WTR::AccessibilityUIElement::rangeForLine): (WTR::AccessibilityUIElement::rangeForPosition): (WTR::AccessibilityUIElement::boundsForRange): (WTR::AccessibilityUIElement::stringForRange): (WTR::AccessibilityUIElement::attributedStringForRange): (WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled): (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate): (WTR::AccessibilityUIElement::uiElementForSearchPredicate): (WTR::AccessibilityUIElement::selectTextWithCriteria): (WTR::AccessibilityUIElement::attributesOfColumnHeaders): (WTR::AccessibilityUIElement::attributesOfRowHeaders): (WTR::AccessibilityUIElement::attributesOfColumns): (WTR::AccessibilityUIElement::attributesOfRows): (WTR::AccessibilityUIElement::attributesOfVisibleCells): (WTR::AccessibilityUIElement::attributesOfHeader): (WTR::AccessibilityUIElement::rowCount): (WTR::AccessibilityUIElement::columnCount): (WTR::AccessibilityUIElement::indexInTable): (WTR::AccessibilityUIElement::rowIndexRange): (WTR::AccessibilityUIElement::columnIndexRange): (WTR::AccessibilityUIElement::cellForColumnAndRow): (WTR::AccessibilityUIElement::horizontalScrollbar const): (WTR::AccessibilityUIElement::verticalScrollbar const): (WTR::AccessibilityUIElement::selectedTextRange): (WTR::AccessibilityUIElement::setSelectedTextRange): (WTR::AccessibilityUIElement::increment): (WTR::AccessibilityUIElement::decrement): (WTR::AccessibilityUIElement::showMenu): (WTR::AccessibilityUIElement::press): (WTR::AccessibilityUIElement::setSelectedChild const): (WTR::AccessibilityUIElement::setSelectedChildAtIndex const): (WTR::AccessibilityUIElement::removeSelectionAtIndex const): (WTR::AccessibilityUIElement::clearSelectedChildren const): (WTR::AccessibilityUIElement::accessibilityValue const): (WTR::AccessibilityUIElement::documentEncoding): (WTR::AccessibilityUIElement::documentURI): (WTR::AccessibilityUIElement::url): (WTR::AccessibilityUIElement::addNotificationListener): (WTR::AccessibilityUIElement::removeNotificationListener): (WTR::AccessibilityUIElement::isFocusable const): (WTR::AccessibilityUIElement::isSelectable const): (WTR::AccessibilityUIElement::isMultiSelectable const): (WTR::AccessibilityUIElement::isVisible const): (WTR::AccessibilityUIElement::isOffScreen const): (WTR::AccessibilityUIElement::isCollapsed const): (WTR::AccessibilityUIElement::isIgnored const): (WTR::AccessibilityUIElement::isSingleLine const): (WTR::AccessibilityUIElement::isMultiLine const): (WTR::AccessibilityUIElement::hasPopup const): (WTR::AccessibilityUIElement::takeFocus): (WTR::AccessibilityUIElement::takeSelection): (WTR::AccessibilityUIElement::addSelection): (WTR::AccessibilityUIElement::removeSelection): (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): (WTR::AccessibilityUIElement::textMarkerRangeForElement): (WTR::AccessibilityUIElement::textMarkerRangeLength): (WTR::AccessibilityUIElement::previousTextMarker): (WTR::AccessibilityUIElement::nextTextMarker): (WTR::AccessibilityUIElement::stringForTextMarkerRange): (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): (WTR::AccessibilityUIElement::endTextMarkerForBounds): (WTR::AccessibilityUIElement::startTextMarkerForBounds): (WTR::AccessibilityUIElement::textMarkerForPoint): (WTR::AccessibilityUIElement::accessibilityElementForTextMarker): (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange): (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): (WTR::AccessibilityUIElement::indexForTextMarker): (WTR::AccessibilityUIElement::isTextMarkerValid): (WTR::AccessibilityUIElement::textMarkerForIndex): (WTR::AccessibilityUIElement::startTextMarker): (WTR::AccessibilityUIElement::endTextMarker): (WTR::AccessibilityUIElement::setSelectedVisibleTextRange): (WTR::AccessibilityUIElement::scrollToMakeVisible): (WTR::AccessibilityUIElement::scrollToGlobalPoint): (WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus): (WTR::AccessibilityUIElement::supportedActions const): (WTR::AccessibilityUIElement::pathDescription const): (WTR::AccessibilityUIElement::mathPostscriptsDescription const): (WTR::AccessibilityUIElement::mathPrescriptsDescription const): (WTR::AccessibilityUIElement::classList const): (WTR::AccessibilityUIElement::characterAtOffset): (WTR::AccessibilityUIElement::wordAtOffset): (WTR::AccessibilityUIElement::lineAtOffset): (WTR::AccessibilityUIElement::sentenceAtOffset): * WebKitTestRunner/InjectedBundle/win/ActivateFontsWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. (WTR::activateFonts): (WTR::installFakeHelvetica): (WTR::uninstallFakeHelvetica): * WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. (WTR::InjectedBundle::platformInitialize): * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.cpp: Added. * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. * WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. (WTR::TestRunner::pathToLocalResource): (WTR::TestRunner::inspectorTestStubURL): (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer): (WTR::TestRunner::platformInitialize): (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded): (WTR::TestRunner::installFakeHelvetica): * WebKitTestRunner/PlatformWebView.h: * WebKitTestRunner/PlatformWin.cmake: Added. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::createTestURL): * WebKitTestRunner/TestInvocation.cpp: * WebKitTestRunner/WebKitTestRunnerPrefix.h: * WebKitTestRunner/win/EventSenderProxyWin.cpp: Added. (WTR::EventSenderProxy::EventSenderProxy): (WTR::EventSenderProxy::~EventSenderProxy): (WTR::EventSenderProxy::mouseDown): (WTR::EventSenderProxy::mouseUp): (WTR::EventSenderProxy::mouseMoveTo): (WTR::EventSenderProxy::mouseScrollBy): (WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): (WTR::EventSenderProxy::continuousMouseScrollBy): (WTR::EventSenderProxy::leapForward): (WTR::EventSenderProxy::keyDown): * WebKitTestRunner/win/PlatformWebViewWin.cpp: Added. (WTR::registerWindowClass): (WTR::PlatformWebView::PlatformWebView): (WTR::PlatformWebView::~PlatformWebView): (WTR::PlatformWebView::resizeTo): (WTR::PlatformWebView::page): (WTR::PlatformWebView::focus): (WTR::PlatformWebView::windowFrame): (WTR::PlatformWebView::setWindowFrame): (WTR::PlatformWebView::didInitializeClients): (WTR::PlatformWebView::addChromeInputField): (WTR::PlatformWebView::removeChromeInputField): (WTR::PlatformWebView::addToWindow): (WTR::PlatformWebView::removeFromWindow): (WTR::PlatformWebView::setWindowIsKey): (WTR::PlatformWebView::makeWebViewFirstResponder): (WTR::generateCairoSurfaceFromBitmap): (WTR::PlatformWebView::windowSnapshotImage): (WTR::PlatformWebView::changeWindowScaleIfNeeded): (WTR::PlatformWebView::setNavigationGesturesEnabled): (WTR::PlatformWebView::forceWindowFramesChanged): (WTR::PlatformWebView::drawsBackground const): (WTR::PlatformWebView::setDrawsBackground): * WebKitTestRunner/win/TestControllerWin.cpp: Added. (WTR::exceptionFilter): (WTR::runRunLoopUntil): (WTR::TestController::notifyDone): (WTR::TestController::setHidden): (WTR::TestController::platformInitialize): (WTR::TestController::platformPreferences): (WTR::TestController::platformDestroy): (WTR::toWK): (WTR::TestController::platformInitializeContext): (WTR::TestController::platformRunUntil): (WTR::TestController::platformDidCommitLoadForFrame): (WTR::TestController::initializeInjectedBundlePath): (WTR::TestController::initializeTestPluginDirectory): (WTR::TestController::runModal): (WTR::TestController::platformContext): (WTR::TestController::platformLibraryPathForTesting): (WTR::TestController::platformConfigureViewForTest): (WTR::TestController::platformResetPreferencesToConsistentValues): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): * WebKitTestRunner/win/WebKitTestRunnerPrefix.cpp: Added. * WebKitTestRunner/win/main.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. (dllLauncherEntryPoint): Canonical link: https://commits.webkit.org/206310@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-11-12 18:58:01 +00:00
2018-11-12 Takashi Komori <Takashi.Komori@sony.com>
Resurrect WebKitTestRunner for Windows port
https://bugs.webkit.org/show_bug.cgi?id=189257
Reviewed by Fujii Hironori.
* Source/cmake/OptionsWin.cmake:
2018-11-07 Carlos Garcia Campos <cgarcia@igalia.com>
[Linux] Use memfd_create when available in SharedMemory implementation
https://bugs.webkit.org/show_bug.cgi?id=189741
Reviewed by Michael Catanzaro.
Add include check for linux/memfd.h header.
* Source/cmake/OptionsCommon.cmake:
2018-11-05 Dominik Infuehr <dinfuehr@igalia.com>
Enable LLInt on ARMv7/Linux
https://bugs.webkit.org/show_bug.cgi?id=191190
Reviewed by Yusuke Suzuki.
After enabling the new bytecode format in r237547, C_LOOP was
forced on all 32-bit platforms. Now enable LLInt again on
ARMv7-Thumb2/Linux by default.
* Source/cmake/WebKitFeatures.cmake:
2018-11-05 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Expose ENABLE_MEDIA_SOURCE as public option
https://bugs.webkit.org/show_bug.cgi?id=191223
Reviewed by Xabier Rodriguez-Calvar.
This option should be public because it needs to be disabled to build with GStreamer older
than 1.14.4.
* Source/cmake/GStreamerDefinitions.cmake:
2018-11-04 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] Use C++14, not C++17
https://bugs.webkit.org/show_bug.cgi?id=191101
Reviewed by Alex Christensen.
Based on the webkit-dev discussion, this change switches Windows
port from C++17 to C++14.
<https://lists.webkit.org/pipermail/webkit-dev/2018-September/030186.html>
* Source/cmake/OptionsMSVC.cmake: Replaced /std:c++17 with /std:c++14 switch.
2018-10-30 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Enable JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=191072
Reviewed by Brent Fulgham.
Add support for building the PlayStation port through JavaScriptCore.
* CMakeLists.txt:
* Source/cmake/OptionsPlayStation.cmake: Added.
New bytecode format for JSC https://bugs.webkit.org/show_bug.cgi?id=187373 <rdar://problem/44186758> Reviewed by Filip Pizlo. .: Disable JIT by default on 32-bit platforms * Source/cmake/WebKitFeatures.cmake: JSTests: Add tests to ensure that the inferred inline capacity for a narrow op_new_object will be capped at 255. * stress/maximum-inline-capacity.js: Added. (test1): (test3.Foo): (test3): Source/JavaScriptCore: Replace unlinked and linked bytecode with a new immutable bytecode that does not embed any addresses. Instructions can be encoded as narrow (1-byte operands) or wide (4-byte operands) and might contain an extra operand, the metadataID. The metadataID is used to access the instruction's mutable data in a side table in the CodeBlock (the MetadataTable). Bytecodes now must be structs declared in the new BytecodeList.rb. All bytecodes give names and types to all its operands. Additionally, reading a bytecode from the instruction stream requires decoding the whole bytecode, i.e. it's no longer possible to access arbitrary operands directly from the stream. * CMakeLists.txt: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * assembler/MacroAssemblerCodeRef.h: (JSC::ReturnAddressPtr::ReturnAddressPtr): (JSC::ReturnAddressPtr::value const): (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr): (JSC::MacroAssemblerCodePtr::createFromExecutableAddress): * bytecode/ArithProfile.h: (JSC::ArithProfile::ArithProfile): * bytecode/ArrayAllocationProfile.h: (JSC::ArrayAllocationProfile::ArrayAllocationProfile): * bytecode/ArrayProfile.h: * bytecode/BytecodeBasicBlock.cpp: (JSC::isJumpTarget): (JSC::BytecodeBasicBlock::computeImpl): (JSC::BytecodeBasicBlock::compute): * bytecode/BytecodeBasicBlock.h: (JSC::BytecodeBasicBlock::leaderOffset const): (JSC::BytecodeBasicBlock::totalLength const): (JSC::BytecodeBasicBlock::offsets const): (JSC::BytecodeBasicBlock::BytecodeBasicBlock): (JSC::BytecodeBasicBlock::addLength): * bytecode/BytecodeDumper.cpp: (JSC::BytecodeDumper<Block>::printLocationAndOp): (JSC::BytecodeDumper<Block>::dumpBytecode): (JSC::BytecodeDumper<Block>::dumpIdentifiers): (JSC::BytecodeDumper<Block>::dumpConstants): (JSC::BytecodeDumper<Block>::dumpExceptionHandlers): (JSC::BytecodeDumper<Block>::dumpSwitchJumpTables): (JSC::BytecodeDumper<Block>::dumpStringSwitchJumpTables): (JSC::BytecodeDumper<Block>::dumpBlock): * bytecode/BytecodeDumper.h: (JSC::BytecodeDumper::dumpOperand): (JSC::BytecodeDumper::dumpValue): (JSC::BytecodeDumper::BytecodeDumper): (JSC::BytecodeDumper::block const): * bytecode/BytecodeGeneratorification.cpp: (JSC::BytecodeGeneratorification::BytecodeGeneratorification): (JSC::BytecodeGeneratorification::enterPoint const): (JSC::BytecodeGeneratorification::instructions const): (JSC::GeneratorLivenessAnalysis::run): (JSC::BytecodeGeneratorification::run): (JSC::performGeneratorification): * bytecode/BytecodeGeneratorification.h: * bytecode/BytecodeGraph.h: (JSC::BytecodeGraph::blockContainsBytecodeOffset): (JSC::BytecodeGraph::findBasicBlockForBytecodeOffset): (JSC::BytecodeGraph::findBasicBlockWithLeaderOffset): (JSC::BytecodeGraph::BytecodeGraph): * bytecode/BytecodeKills.h: * bytecode/BytecodeList.json: Removed. * bytecode/BytecodeList.rb: Added. * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::BytecodeLivenessAnalysis::dumpResults): * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::isValidRegisterForLiveness): (JSC::BytecodeLivenessPropagation::stepOverInstruction): * bytecode/BytecodeRewriter.cpp: (JSC::BytecodeRewriter::applyModification): (JSC::BytecodeRewriter::execute): (JSC::BytecodeRewriter::adjustJumpTargetsInFragment): (JSC::BytecodeRewriter::insertImpl): (JSC::BytecodeRewriter::adjustJumpTarget): (JSC::BytecodeRewriter::adjustJumpTargets): * bytecode/BytecodeRewriter.h: (JSC::BytecodeRewriter::InsertionPoint::InsertionPoint): (JSC::BytecodeRewriter::Fragment::Fragment): (JSC::BytecodeRewriter::Fragment::appendInstruction): (JSC::BytecodeRewriter::BytecodeRewriter): (JSC::BytecodeRewriter::insertFragmentBefore): (JSC::BytecodeRewriter::insertFragmentAfter): (JSC::BytecodeRewriter::removeBytecode): (JSC::BytecodeRewriter::adjustAbsoluteOffset): (JSC::BytecodeRewriter::adjustJumpTarget): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFromLLInt): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::estimatedSize): (JSC::CodeBlock::visitChildren): (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::finalizeLLIntInlineCaches): (JSC::CodeBlock::addJITAddIC): (JSC::CodeBlock::addJITMulIC): (JSC::CodeBlock::addJITSubIC): (JSC::CodeBlock::addJITNegIC): (JSC::CodeBlock::stronglyVisitStrongReferences): (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffset): (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffsetSlow): (JSC::CodeBlock::hasOpDebugForLineAndColumn): (JSC::CodeBlock::getArrayProfile): (JSC::CodeBlock::updateAllArrayPredictions): (JSC::CodeBlock::predictedMachineCodeSize): (JSC::CodeBlock::tryGetValueProfileForBytecodeOffset): (JSC::CodeBlock::valueProfilePredictionForBytecodeOffset): (JSC::CodeBlock::valueProfileForBytecodeOffset): (JSC::CodeBlock::validate): (JSC::CodeBlock::outOfLineJumpOffset): (JSC::CodeBlock::outOfLineJumpTarget): (JSC::CodeBlock::arithProfileForBytecodeOffset): (JSC::CodeBlock::arithProfileForPC): (JSC::CodeBlock::couldTakeSpecialFastCase): (JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler): * bytecode/CodeBlock.h: (JSC::CodeBlock::addMathIC): (JSC::CodeBlock::outOfLineJumpOffset): (JSC::CodeBlock::bytecodeOffset): (JSC::CodeBlock::instructions const): (JSC::CodeBlock::instructionCount const): (JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters): (JSC::CodeBlock::metadata): (JSC::CodeBlock::metadataSizeInBytes): (JSC::CodeBlock::numberOfNonArgumentValueProfiles): (JSC::CodeBlock::totalNumberOfValueProfiles): * bytecode/CodeBlockInlines.h: Added. (JSC::CodeBlock::forEachValueProfile): (JSC::CodeBlock::forEachArrayProfile): (JSC::CodeBlock::forEachArrayAllocationProfile): (JSC::CodeBlock::forEachObjectAllocationProfile): (JSC::CodeBlock::forEachLLIntCallLinkInfo): * bytecode/Fits.h: Added. * bytecode/GetByIdMetadata.h: Copied from Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h. * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeFromLLInt): * bytecode/Instruction.h: (JSC::Instruction::Instruction): (JSC::Instruction::Impl::opcodeID const): (JSC::Instruction::opcodeID const): (JSC::Instruction::name const): (JSC::Instruction::isWide const): (JSC::Instruction::size const): (JSC::Instruction::is const): (JSC::Instruction::as const): (JSC::Instruction::cast): (JSC::Instruction::cast const): (JSC::Instruction::narrow const): (JSC::Instruction::wide const): * bytecode/InstructionStream.cpp: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. (JSC::InstructionStream::InstructionStream): (JSC::InstructionStream::sizeInBytes const): * bytecode/InstructionStream.h: Added. (JSC::InstructionStream::BaseRef::BaseRef): (JSC::InstructionStream::BaseRef::operator=): (JSC::InstructionStream::BaseRef::operator-> const): (JSC::InstructionStream::BaseRef::ptr const): (JSC::InstructionStream::BaseRef::operator!= const): (JSC::InstructionStream::BaseRef::next const): (JSC::InstructionStream::BaseRef::offset const): (JSC::InstructionStream::BaseRef::isValid const): (JSC::InstructionStream::BaseRef::unwrap const): (JSC::InstructionStream::MutableRef::freeze const): (JSC::InstructionStream::MutableRef::operator->): (JSC::InstructionStream::MutableRef::ptr): (JSC::InstructionStream::MutableRef::operator Ref): (JSC::InstructionStream::MutableRef::unwrap): (JSC::InstructionStream::iterator::operator*): (JSC::InstructionStream::iterator::operator++): (JSC::InstructionStream::begin const): (JSC::InstructionStream::end const): (JSC::InstructionStream::at const): (JSC::InstructionStream::size const): (JSC::InstructionStreamWriter::InstructionStreamWriter): (JSC::InstructionStreamWriter::ref): (JSC::InstructionStreamWriter::seek): (JSC::InstructionStreamWriter::position): (JSC::InstructionStreamWriter::write): (JSC::InstructionStreamWriter::rewind): (JSC::InstructionStreamWriter::finalize): (JSC::InstructionStreamWriter::swap): (JSC::InstructionStreamWriter::iterator::operator*): (JSC::InstructionStreamWriter::iterator::operator++): (JSC::InstructionStreamWriter::begin): (JSC::InstructionStreamWriter::end): * bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp: (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::LLIntPrototypeLoadAdaptiveStructureWatchpoint): (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal): (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::clearLLIntGetByIdCache): * bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h: * bytecode/MetadataTable.cpp: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. (JSC::MetadataTable::MetadataTable): (JSC::DeallocTable::withOpcodeType): (JSC::MetadataTable::~MetadataTable): (JSC::MetadataTable::sizeInBytes): * bytecode/MetadataTable.h: Copied from Source/JavaScriptCore/runtime/Watchdog.h. (JSC::MetadataTable::get): (JSC::MetadataTable::forEach): (JSC::MetadataTable::getImpl): * bytecode/Opcode.cpp: (JSC::metadataSize): * bytecode/Opcode.h: (JSC::padOpcodeName): * bytecode/OpcodeInlines.h: (JSC::isOpcodeShape): (JSC::getOpcodeType): * bytecode/OpcodeSize.h: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. * bytecode/PreciseJumpTargets.cpp: (JSC::getJumpTargetsForInstruction): (JSC::computePreciseJumpTargetsInternal): (JSC::computePreciseJumpTargets): (JSC::recomputePreciseJumpTargets): (JSC::findJumpTargetsForInstruction): * bytecode/PreciseJumpTargets.h: * bytecode/PreciseJumpTargetsInlines.h: (JSC::jumpTargetForInstruction): (JSC::extractStoredJumpTargetsForInstruction): (JSC::updateStoredJumpTargetsForInstruction): * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFromLLInt): * bytecode/SpecialPointer.cpp: (WTF::printInternal): * bytecode/SpecialPointer.h: * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): (JSC::UnlinkedCodeBlock::visitChildren): (JSC::UnlinkedCodeBlock::estimatedSize): (JSC::UnlinkedCodeBlock::lineNumberForBytecodeOffset): (JSC::dumpLineColumnEntry): (JSC::UnlinkedCodeBlock::expressionRangeForBytecodeOffset const): (JSC::UnlinkedCodeBlock::setInstructions): (JSC::UnlinkedCodeBlock::instructions const): (JSC::UnlinkedCodeBlock::applyModification): (JSC::UnlinkedCodeBlock::addOutOfLineJumpTarget): (JSC::UnlinkedCodeBlock::outOfLineJumpOffset): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::addPropertyAccessInstruction): (JSC::UnlinkedCodeBlock::propertyAccessInstructions const): (JSC::UnlinkedCodeBlock::addOpProfileControlFlowBytecodeOffset): (JSC::UnlinkedCodeBlock::opProfileControlFlowBytecodeOffsets const): (JSC::UnlinkedCodeBlock::metadata): (JSC::UnlinkedCodeBlock::metadataSizeInBytes): (JSC::UnlinkedCodeBlock::outOfLineJumpOffset): (JSC::UnlinkedCodeBlock::replaceOutOfLineJumpTargets): * bytecode/UnlinkedInstructionStream.cpp: Removed. * bytecode/UnlinkedInstructionStream.h: Removed. * bytecode/UnlinkedMetadataTable.h: Copied from Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h. * bytecode/UnlinkedMetadataTableInlines.h: Added. (JSC::UnlinkedMetadataTable::UnlinkedMetadataTable): (JSC::UnlinkedMetadataTable::~UnlinkedMetadataTable): (JSC::UnlinkedMetadataTable::addEntry): (JSC::UnlinkedMetadataTable::sizeInBytes): (JSC::UnlinkedMetadataTable::finalize): (JSC::UnlinkedMetadataTable::link): (JSC::UnlinkedMetadataTable::unlink): * bytecode/VirtualRegister.cpp: (JSC::VirtualRegister::VirtualRegister): * bytecode/VirtualRegister.h: * bytecompiler/BytecodeGenerator.cpp: (JSC::Label::setLocation): (JSC::Label::bind): (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeVarLexicalEnvironment): (JSC::BytecodeGenerator::emitEnter): (JSC::BytecodeGenerator::emitLoopHint): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitCheckTraps): (JSC::BytecodeGenerator::rewind): (JSC::BytecodeGenerator::fuseCompareAndJump): (JSC::BytecodeGenerator::fuseTestAndJmp): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall): (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply): (JSC::BytecodeGenerator::moveLinkTimeConstant): (JSC::BytecodeGenerator::moveEmptyValue): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::emitBinaryOp): (JSC::BytecodeGenerator::emitToObject): (JSC::BytecodeGenerator::emitToNumber): (JSC::BytecodeGenerator::emitToString): (JSC::BytecodeGenerator::emitTypeOf): (JSC::BytecodeGenerator::emitInc): (JSC::BytecodeGenerator::emitDec): (JSC::BytecodeGenerator::emitEqualityOp): (JSC::BytecodeGenerator::emitProfileType): (JSC::BytecodeGenerator::emitProfileControlFlow): (JSC::BytecodeGenerator::pushLexicalScopeInternal): (JSC::BytecodeGenerator::emitResolveScopeForHoistingFuncDeclInEval): (JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration): (JSC::BytecodeGenerator::emitOverridesHasInstance): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitInstanceOfCustom): (JSC::BytecodeGenerator::emitInByVal): (JSC::BytecodeGenerator::emitInById): (JSC::BytecodeGenerator::emitTryGetById): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitDirectGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitDirectPutById): (JSC::BytecodeGenerator::emitPutGetterById): (JSC::BytecodeGenerator::emitPutSetterById): (JSC::BytecodeGenerator::emitPutGetterSetter): (JSC::BytecodeGenerator::emitPutGetterByVal): (JSC::BytecodeGenerator::emitPutSetterByVal): (JSC::BytecodeGenerator::emitDeleteById): (JSC::BytecodeGenerator::emitGetByVal): (JSC::BytecodeGenerator::emitPutByVal): (JSC::BytecodeGenerator::emitDirectPutByVal): (JSC::BytecodeGenerator::emitDeleteByVal): (JSC::BytecodeGenerator::emitSuperSamplerBegin): (JSC::BytecodeGenerator::emitSuperSamplerEnd): (JSC::BytecodeGenerator::emitIdWithProfile): (JSC::BytecodeGenerator::emitUnreachable): (JSC::BytecodeGenerator::emitGetArgument): (JSC::BytecodeGenerator::emitCreateThis): (JSC::BytecodeGenerator::emitTDZCheck): (JSC::BytecodeGenerator::emitNewObject): (JSC::BytecodeGenerator::emitNewArrayBuffer): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewArrayWithSpread): (JSC::BytecodeGenerator::emitNewArrayWithSize): (JSC::BytecodeGenerator::emitNewRegExp): (JSC::BytecodeGenerator::emitNewFunctionExpressionCommon): (JSC::BytecodeGenerator::emitNewDefaultConstructor): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitSetFunctionNameIfNeeded): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitCallInTailPosition): (JSC::BytecodeGenerator::emitCallEval): (JSC::BytecodeGenerator::emitExpectedFunctionSnippet): (JSC::BytecodeGenerator::emitCallVarargs): (JSC::BytecodeGenerator::emitCallVarargsInTailPosition): (JSC::BytecodeGenerator::emitConstructVarargs): (JSC::BytecodeGenerator::emitCallForwardArgumentsInTailPosition): (JSC::BytecodeGenerator::emitLogShadowChickenPrologueIfNecessary): (JSC::BytecodeGenerator::emitLogShadowChickenTailIfNecessary): (JSC::BytecodeGenerator::emitCallDefineProperty): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitEnd): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitStrcat): (JSC::BytecodeGenerator::emitToPrimitive): (JSC::BytecodeGenerator::emitGetScope): (JSC::BytecodeGenerator::emitPushWithScope): (JSC::BytecodeGenerator::emitGetParentScope): (JSC::BytecodeGenerator::emitDebugHook): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitThrow): (JSC::BytecodeGenerator::emitArgumentCount): (JSC::BytecodeGenerator::emitThrowStaticError): (JSC::BytecodeGenerator::beginSwitch): (JSC::prepareJumpTableForSwitch): (JSC::prepareJumpTableForStringSwitch): (JSC::BytecodeGenerator::endSwitch): (JSC::BytecodeGenerator::emitGetEnumerableLength): (JSC::BytecodeGenerator::emitHasGenericProperty): (JSC::BytecodeGenerator::emitHasIndexedProperty): (JSC::BytecodeGenerator::emitHasStructureProperty): (JSC::BytecodeGenerator::emitGetPropertyEnumerator): (JSC::BytecodeGenerator::emitEnumeratorStructurePropertyName): (JSC::BytecodeGenerator::emitEnumeratorGenericPropertyName): (JSC::BytecodeGenerator::emitToIndexString): (JSC::BytecodeGenerator::emitIsCellWithType): (JSC::BytecodeGenerator::emitIsObject): (JSC::BytecodeGenerator::emitIsNumber): (JSC::BytecodeGenerator::emitIsUndefined): (JSC::BytecodeGenerator::emitIsEmpty): (JSC::BytecodeGenerator::emitRestParameter): (JSC::BytecodeGenerator::emitRequireObjectCoercible): (JSC::BytecodeGenerator::emitYieldPoint): (JSC::BytecodeGenerator::emitYield): (JSC::BytecodeGenerator::emitGetAsyncIterator): (JSC::BytecodeGenerator::emitDelegateYield): (JSC::BytecodeGenerator::emitFinallyCompletion): (JSC::BytecodeGenerator::emitJumpIf): (JSC::ForInContext::finalize): (JSC::StructureForInContext::finalize): (JSC::IndexedForInContext::finalize): (JSC::StaticPropertyAnalysis::record): (JSC::BytecodeGenerator::emitToThis): * bytecompiler/BytecodeGenerator.h: (JSC::StructureForInContext::addGetInst): (JSC::BytecodeGenerator::recordOpcode): (JSC::BytecodeGenerator::addMetadataFor): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::kill): (JSC::BytecodeGenerator::instructions const): (JSC::BytecodeGenerator::write): (JSC::BytecodeGenerator::withWriter): * bytecompiler/Label.h: (JSC::Label::Label): (JSC::Label::bind): * bytecompiler/NodesCodegen.cpp: (JSC::ArrayNode::emitBytecode): (JSC::BytecodeIntrinsicNode::emit_intrinsic_argumentCount): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::BitwiseNotNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode): (JSC::StrictEqualNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ForInNode::emitBytecode): (JSC::CaseBlockNode::emitBytecodeForBlock): (JSC::FunctionNode::emitBytecode): (JSC::ClassExprNode::emitBytecode): * bytecompiler/ProfileTypeBytecodeFlag.cpp: Copied from Source/JavaScriptCore/bytecode/VirtualRegister.cpp. (WTF::printInternal): * bytecompiler/ProfileTypeBytecodeFlag.h: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. * bytecompiler/RegisterID.h: * bytecompiler/StaticPropertyAnalysis.h: (JSC::StaticPropertyAnalysis::create): (JSC::StaticPropertyAnalysis::StaticPropertyAnalysis): * bytecompiler/StaticPropertyAnalyzer.h: (JSC::StaticPropertyAnalyzer::createThis): (JSC::StaticPropertyAnalyzer::newObject): (JSC::StaticPropertyAnalyzer::putById): (JSC::StaticPropertyAnalyzer::mov): (JSC::StaticPropertyAnalyzer::kill): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::addCall): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::getArrayMode): (JSC::DFG::ByteCodeParser::handleCall): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::handleRecursiveTailCall): (JSC::DFG::ByteCodeParser::inlineCall): (JSC::DFG::ByteCodeParser::handleCallVariant): (JSC::DFG::ByteCodeParser::handleVarargsInlining): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::handleMinMax): (JSC::DFG::ByteCodeParser::handleIntrinsicCall): (JSC::DFG::ByteCodeParser::handleDOMJITCall): (JSC::DFG::ByteCodeParser::handleIntrinsicGetter): (JSC::DFG::ByteCodeParser::handleDOMJITGetter): (JSC::DFG::ByteCodeParser::handleModuleNamespaceLoad): (JSC::DFG::ByteCodeParser::handleTypedArrayConstructor): (JSC::DFG::ByteCodeParser::handleConstantInternalFunction): (JSC::DFG::ByteCodeParser::handleGetById): (JSC::DFG::ByteCodeParser::handlePutById): (JSC::DFG::ByteCodeParser::parseGetById): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): (JSC::DFG::ByteCodeParser::handlePutAccessorById): (JSC::DFG::ByteCodeParser::handlePutAccessorByVal): (JSC::DFG::ByteCodeParser::handleNewFunc): (JSC::DFG::ByteCodeParser::handleNewFuncExp): (JSC::DFG::ByteCodeParser::parse): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGCapabilities.h: (JSC::DFG::capabilityLevel): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareCatchOSREntry): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileValueNegate): (JSC::DFG::SpeculativeJIT::compileArithMul): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub): (JSC::FTL::DFG::LowerDFGToB3::compileArithMul): (JSC::FTL::DFG::LowerDFGToB3::compileValueNegate): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * generate-bytecode-files: Removed. * generator/Argument.rb: Added. * generator/Assertion.rb: Added. * generator/DSL.rb: Added. * generator/Fits.rb: Added. * generator/GeneratedFile.rb: Added. * generator/Metadata.rb: Added. * generator/Opcode.rb: Added. * generator/OpcodeGroup.rb: Added. * generator/Options.rb: Added. * generator/Section.rb: Added. * generator/Template.rb: Added. * generator/Type.rb: Added. * generator/main.rb: Added. * interpreter/AbstractPC.h: * interpreter/CallFrame.cpp: (JSC::CallFrame::currentVPC const): (JSC::CallFrame::setCurrentVPC): * interpreter/CallFrame.h: (JSC::CallSiteIndex::CallSiteIndex): (JSC::ExecState::setReturnPC): * interpreter/Interpreter.cpp: (WTF::printInternal): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::dump const): * interpreter/VMEntryRecord.h: * jit/JIT.cpp: (JSC::JIT::JIT): (JSC::JIT::emitSlowCaseCall): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::compileWithoutLinking): (JSC::JIT::link): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_op_jless): (JSC::JIT::emit_op_jlesseq): (JSC::JIT::emit_op_jgreater): (JSC::JIT::emit_op_jgreatereq): (JSC::JIT::emit_op_jnless): (JSC::JIT::emit_op_jnlesseq): (JSC::JIT::emit_op_jngreater): (JSC::JIT::emit_op_jngreatereq): (JSC::JIT::emitSlow_op_jless): (JSC::JIT::emitSlow_op_jlesseq): (JSC::JIT::emitSlow_op_jgreater): (JSC::JIT::emitSlow_op_jgreatereq): (JSC::JIT::emitSlow_op_jnless): (JSC::JIT::emitSlow_op_jnlesseq): (JSC::JIT::emitSlow_op_jngreater): (JSC::JIT::emitSlow_op_jngreatereq): (JSC::JIT::emit_op_below): (JSC::JIT::emit_op_beloweq): (JSC::JIT::emit_op_jbelow): (JSC::JIT::emit_op_jbeloweq): (JSC::JIT::emit_op_unsigned): (JSC::JIT::emit_compareAndJump): (JSC::JIT::emit_compareUnsignedAndJump): (JSC::JIT::emit_compareUnsigned): (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emit_op_inc): (JSC::JIT::emit_op_dec): (JSC::JIT::emit_op_mod): (JSC::JIT::emitSlow_op_mod): (JSC::JIT::emit_op_negate): (JSC::JIT::emitSlow_op_negate): (JSC::JIT::emitBitBinaryOpFastPath): (JSC::JIT::emit_op_bitand): (JSC::JIT::emit_op_bitor): (JSC::JIT::emit_op_bitxor): (JSC::JIT::emit_op_lshift): (JSC::JIT::emitRightShiftFastPath): (JSC::JIT::emit_op_rshift): (JSC::JIT::emit_op_urshift): (JSC::getOperandTypes): (JSC::JIT::emit_op_add): (JSC::JIT::emitSlow_op_add): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): (JSC::JIT::emit_op_div): (JSC::JIT::emit_op_mul): (JSC::JIT::emitSlow_op_mul): (JSC::JIT::emit_op_sub): (JSC::JIT::emitSlow_op_sub): * jit/JITCall.cpp: (JSC::JIT::emitPutCallResult): (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileTailCall): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase): (JSC::JIT::emit_op_call): (JSC::JIT::emit_op_tail_call): (JSC::JIT::emit_op_call_eval): (JSC::JIT::emit_op_call_varargs): (JSC::JIT::emit_op_tail_call_varargs): (JSC::JIT::emit_op_tail_call_forward_arguments): (JSC::JIT::emit_op_construct_varargs): (JSC::JIT::emit_op_construct): (JSC::JIT::emitSlow_op_call): (JSC::JIT::emitSlow_op_tail_call): (JSC::JIT::emitSlow_op_call_eval): (JSC::JIT::emitSlow_op_call_varargs): (JSC::JIT::emitSlow_op_tail_call_varargs): (JSC::JIT::emitSlow_op_tail_call_forward_arguments): (JSC::JIT::emitSlow_op_construct_varargs): (JSC::JIT::emitSlow_op_construct): * jit/JITDisassembler.cpp: (JSC::JITDisassembler::JITDisassembler): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITInlines.h: (JSC::JIT::emitDoubleGetByVal): (JSC::JIT::emitLoadForArrayMode): (JSC::JIT::emitContiguousGetByVal): (JSC::JIT::emitArrayStorageGetByVal): (JSC::JIT::appendCallWithExceptionCheckSetJSValueResultWithProfile): (JSC::JIT::sampleInstruction): (JSC::JIT::emitValueProfilingSiteIfProfiledOpcode): (JSC::JIT::emitValueProfilingSite): (JSC::JIT::jumpTarget): (JSC::JIT::copiedGetPutInfo): (JSC::JIT::copiedArithProfile): * jit/JITMathIC.h: (JSC::isProfileEmpty): (JSC::JITBinaryMathIC::JITBinaryMathIC): (JSC::JITUnaryMathIC::JITUnaryMathIC): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_mov): (JSC::JIT::emit_op_end): (JSC::JIT::emit_op_jmp): (JSC::JIT::emit_op_new_object): (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_overrides_has_instance): (JSC::JIT::emit_op_instanceof): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_instanceof_custom): (JSC::JIT::emit_op_is_empty): (JSC::JIT::emit_op_is_undefined): (JSC::JIT::emit_op_is_boolean): (JSC::JIT::emit_op_is_number): (JSC::JIT::emit_op_is_cell_with_type): (JSC::JIT::emit_op_is_object): (JSC::JIT::emit_op_ret): (JSC::JIT::emit_op_to_primitive): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_not): (JSC::JIT::emit_op_jfalse): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::emit_op_jneq_ptr): (JSC::JIT::emit_op_eq): (JSC::JIT::emit_op_jeq): (JSC::JIT::emit_op_jtrue): (JSC::JIT::emit_op_neq): (JSC::JIT::emit_op_jneq): (JSC::JIT::emit_op_throw): (JSC::JIT::compileOpStrictEq): (JSC::JIT::emit_op_stricteq): (JSC::JIT::emit_op_nstricteq): (JSC::JIT::compileOpStrictEqJump): (JSC::JIT::emit_op_jstricteq): (JSC::JIT::emit_op_jnstricteq): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_to_string): (JSC::JIT::emit_op_to_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_identity_with_profile): (JSC::JIT::emit_op_get_parent_scope): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_enter): (JSC::JIT::emit_op_get_scope): (JSC::JIT::emit_op_to_this): (JSC::JIT::emit_op_create_this): (JSC::JIT::emit_op_check_tdz): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emit_op_loop_hint): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emit_op_check_traps): (JSC::JIT::emit_op_nop): (JSC::JIT::emit_op_super_sampler_begin): (JSC::JIT::emit_op_super_sampler_end): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_new_generator_func): (JSC::JIT::emit_op_new_async_generator_func): (JSC::JIT::emit_op_new_async_func): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_func_exp): (JSC::JIT::emit_op_new_generator_func_exp): (JSC::JIT::emit_op_new_async_func_exp): (JSC::JIT::emit_op_new_async_generator_func_exp): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emit_op_has_structure_property): (JSC::JIT::privateCompileHasIndexedProperty): (JSC::JIT::emit_op_has_indexed_property): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_get_direct_pname): (JSC::JIT::emit_op_enumerator_structure_pname): (JSC::JIT::emit_op_enumerator_generic_pname): (JSC::JIT::emit_op_profile_type): (JSC::JIT::emit_op_log_shadow_chicken_prologue): (JSC::JIT::emit_op_log_shadow_chicken_tail): (JSC::JIT::emit_op_profile_control_flow): (JSC::JIT::emit_op_argument_count): (JSC::JIT::emit_op_get_rest_length): (JSC::JIT::emit_op_get_argument): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_to_this): * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_by_val): (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emit_op_put_by_val_direct): (JSC::JIT::emit_op_put_by_val): (JSC::JIT::emitGenericContiguousPutByVal): (JSC::JIT::emitArrayStoragePutByVal): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emit_op_try_get_by_id): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emit_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emit_op_get_by_id): (JSC::JIT::emit_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emit_op_put_by_id): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emit_op_in_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emit_op_resolve_scope): (JSC::JIT::emit_op_get_from_scope): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emit_op_put_to_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::privateCompileGetByValWithCachedId): (JSC::JIT::privateCompilePutByVal): (JSC::JIT::privateCompilePutByValWithCachedId): (JSC::JIT::emitDoubleLoad): (JSC::JIT::emitContiguousLoad): (JSC::JIT::emitArrayStorageLoad): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): (JSC::JIT::emitIntTypedArrayGetByVal): (JSC::JIT::emitFloatTypedArrayGetByVal): (JSC::JIT::emitIntTypedArrayPutByVal): (JSC::JIT::emitFloatTypedArrayPutByVal): * jit/RegisterSet.cpp: (JSC::RegisterSet::llintBaselineCalleeSaveRegisters): * jit/SlowPathCall.h: (JSC::JITSlowPathCall::JITSlowPathCall): * llint/LLIntData.cpp: (JSC::LLInt::initialize): (JSC::LLInt::Data::performAssertions): * llint/LLIntData.h: (JSC::LLInt::exceptionInstructions): (JSC::LLInt::opcodeMap): (JSC::LLInt::opcodeMapWide): (JSC::LLInt::getOpcode): (JSC::LLInt::getOpcodeWide): (JSC::LLInt::getWideCodePtr): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator const Instruction*): (JSC::CLoop::execute): * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * offlineasm/arm64.rb: * offlineasm/asm.rb: * offlineasm/ast.rb: * offlineasm/cloop.rb: * offlineasm/generate_offset_extractor.rb: * offlineasm/instructions.rb: * offlineasm/offsets.rb: * offlineasm/parser.rb: * offlineasm/transform.rb: * offlineasm/x86.rb: * parser/ResultType.h: (JSC::ResultType::dump const): (JSC::OperandTypes::first const): (JSC::OperandTypes::second const): (JSC::OperandTypes::dump const): * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::BytecodeSequence): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): (JSC::updateArithProfileForUnaryArithOp): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/GetPutInfo.cpp: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. (JSC::GetPutInfo::dump const): (WTF::printInternal): * runtime/GetPutInfo.h: (JSC::GetPutInfo::operand const): * runtime/JSCPoison.h: * runtime/JSType.cpp: Added. (WTF::printInternal): * runtime/JSType.h: * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::StackFrame::displayName): * runtime/SamplingProfiler.h: (JSC::SamplingProfiler::UnprocessedStackFrame::UnprocessedStackFrame): * runtime/SlowPathReturnType.h: (JSC::encodeResult): (JSC::decodeResult): * runtime/VM.h: * runtime/Watchdog.h: * tools/HeapVerifier.cpp: Source/WTF: * wtf/Forward.h: Fix WTF_LAZY_FOR_EACH_TERM on MSVC and add WTF_LAZY_HAS_REST to check whether a macro was passed multiple arguments * wtf/Platform.h: Force ENABLE_JIT=false on all 32-bit platforms * wtf/Vector.h: (WTF::minCapacity>::insertVector): Allow vectors with different overflow handlers to be passed to insertVector Tools: Do not force ENABLE_JIT=true when $forceCLoop is false. * Scripts/build-jsc: LayoutTests: Don't use recursion on `equal` to avoid premature stack overflows when testing deep arrays. * fast/dom/Window/resources/postmessage-test.js: Canonical link: https://commits.webkit.org/205839@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-29 13:16:03 +00:00
2018-10-29 Tadeu Zagallo <tzagallo@apple.com>
New bytecode format for JSC
https://bugs.webkit.org/show_bug.cgi?id=187373
<rdar://problem/44186758>
Reviewed by Filip Pizlo.
Disable JIT by default on 32-bit platforms
* Source/cmake/WebKitFeatures.cmake:
2018-10-27 Charlie Turner <cturner@igalia.com>
Make VIDEO enabled if ENCRYPTED_MEDIA is enabled.
https://bugs.webkit.org/show_bug.cgi?id=190983
Unreviewed build update.
* Source/cmake/WebKitFeatures.cmake:
2018-10-27 Charlie Turner <cturner@igalia.com>
[GTK] Enable experimental encrypted media support
https://bugs.webkit.org/show_bug.cgi?id=190829
Reviewed by Michael Catanzaro.
* Source/cmake/OptionsGTK.cmake:
2018-10-26 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r237479 and r237484.
https://bugs.webkit.org/show_bug.cgi?id=190978
broke JSC on iOS (Requested by tadeuzagallo on #webkit).
Reverted changesets:
"New bytecode format for JSC"
https://bugs.webkit.org/show_bug.cgi?id=187373
https://trac.webkit.org/changeset/237479
"Gardening: Build fix after r237479."
https://bugs.webkit.org/show_bug.cgi?id=187373
https://trac.webkit.org/changeset/237484
New bytecode format for JSC https://bugs.webkit.org/show_bug.cgi?id=187373 <rdar://problem/44186758> Reviewed by Filip Pizlo. .: Disable JIT by default on 32-bit platforms * Source/cmake/WebKitFeatures.cmake: JSTests: Add tests to ensure that the inferred inline capacity for a narrow op_new_object will be capped at 255. * stress/maximum-inline-capacity.js: Added. (test1): (test3.Foo): (test3): Source/JavaScriptCore: Replace unlinked and linked bytecode with a new immutable bytecode that does not embed any addresses. Instructions can be encoded as narrow (1-byte operands) or wide (4-byte operands) and might contain an extra operand, the metadataID. The metadataID is used to access the instruction's mutable data in a side table in the CodeBlock (the MetadataTable). Bytecodes now must be structs declared in the new BytecodeList.rb. All bytecodes give names and types to all its operands. Additionally, reading a bytecode from the instruction stream requires decoding the whole bytecode, i.e. it's no longer possible to access arbitrary operands directly from the stream. * CMakeLists.txt: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * assembler/MacroAssemblerCodeRef.h: (JSC::ReturnAddressPtr::ReturnAddressPtr): (JSC::ReturnAddressPtr::value const): (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr): (JSC::MacroAssemblerCodePtr::createFromExecutableAddress): * bytecode/ArithProfile.h: (JSC::ArithProfile::ArithProfile): * bytecode/ArrayAllocationProfile.h: (JSC::ArrayAllocationProfile::ArrayAllocationProfile): * bytecode/ArrayProfile.h: * bytecode/BytecodeBasicBlock.cpp: (JSC::isJumpTarget): (JSC::BytecodeBasicBlock::computeImpl): (JSC::BytecodeBasicBlock::compute): * bytecode/BytecodeBasicBlock.h: (JSC::BytecodeBasicBlock::leaderOffset const): (JSC::BytecodeBasicBlock::totalLength const): (JSC::BytecodeBasicBlock::offsets const): (JSC::BytecodeBasicBlock::BytecodeBasicBlock): (JSC::BytecodeBasicBlock::addLength): * bytecode/BytecodeDumper.cpp: (JSC::BytecodeDumper<Block>::printLocationAndOp): (JSC::BytecodeDumper<Block>::dumpBytecode): (JSC::BytecodeDumper<Block>::dumpIdentifiers): (JSC::BytecodeDumper<Block>::dumpConstants): (JSC::BytecodeDumper<Block>::dumpExceptionHandlers): (JSC::BytecodeDumper<Block>::dumpSwitchJumpTables): (JSC::BytecodeDumper<Block>::dumpStringSwitchJumpTables): (JSC::BytecodeDumper<Block>::dumpBlock): * bytecode/BytecodeDumper.h: (JSC::BytecodeDumper::dumpOperand): (JSC::BytecodeDumper::dumpValue): (JSC::BytecodeDumper::BytecodeDumper): (JSC::BytecodeDumper::block const): * bytecode/BytecodeGeneratorification.cpp: (JSC::BytecodeGeneratorification::BytecodeGeneratorification): (JSC::BytecodeGeneratorification::enterPoint const): (JSC::BytecodeGeneratorification::instructions const): (JSC::GeneratorLivenessAnalysis::run): (JSC::BytecodeGeneratorification::run): (JSC::performGeneratorification): * bytecode/BytecodeGeneratorification.h: * bytecode/BytecodeGraph.h: (JSC::BytecodeGraph::blockContainsBytecodeOffset): (JSC::BytecodeGraph::findBasicBlockForBytecodeOffset): (JSC::BytecodeGraph::findBasicBlockWithLeaderOffset): (JSC::BytecodeGraph::BytecodeGraph): * bytecode/BytecodeKills.h: * bytecode/BytecodeList.json: Removed. * bytecode/BytecodeList.rb: Added. * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::BytecodeLivenessAnalysis::dumpResults): * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::isValidRegisterForLiveness): (JSC::BytecodeLivenessPropagation::stepOverInstruction): * bytecode/BytecodeRewriter.cpp: (JSC::BytecodeRewriter::applyModification): (JSC::BytecodeRewriter::execute): (JSC::BytecodeRewriter::adjustJumpTargetsInFragment): (JSC::BytecodeRewriter::insertImpl): (JSC::BytecodeRewriter::adjustJumpTarget): (JSC::BytecodeRewriter::adjustJumpTargets): * bytecode/BytecodeRewriter.h: (JSC::BytecodeRewriter::InsertionPoint::InsertionPoint): (JSC::BytecodeRewriter::Fragment::Fragment): (JSC::BytecodeRewriter::Fragment::appendInstruction): (JSC::BytecodeRewriter::BytecodeRewriter): (JSC::BytecodeRewriter::insertFragmentBefore): (JSC::BytecodeRewriter::insertFragmentAfter): (JSC::BytecodeRewriter::removeBytecode): (JSC::BytecodeRewriter::adjustAbsoluteOffset): (JSC::BytecodeRewriter::adjustJumpTarget): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFromLLInt): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::estimatedSize): (JSC::CodeBlock::visitChildren): (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::finalizeLLIntInlineCaches): (JSC::CodeBlock::addJITAddIC): (JSC::CodeBlock::addJITMulIC): (JSC::CodeBlock::addJITSubIC): (JSC::CodeBlock::addJITNegIC): (JSC::CodeBlock::stronglyVisitStrongReferences): (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffset): (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffsetSlow): (JSC::CodeBlock::hasOpDebugForLineAndColumn): (JSC::CodeBlock::getArrayProfile): (JSC::CodeBlock::updateAllArrayPredictions): (JSC::CodeBlock::predictedMachineCodeSize): (JSC::CodeBlock::tryGetValueProfileForBytecodeOffset): (JSC::CodeBlock::valueProfilePredictionForBytecodeOffset): (JSC::CodeBlock::valueProfileForBytecodeOffset): (JSC::CodeBlock::validate): (JSC::CodeBlock::outOfLineJumpOffset): (JSC::CodeBlock::outOfLineJumpTarget): (JSC::CodeBlock::arithProfileForBytecodeOffset): (JSC::CodeBlock::arithProfileForPC): (JSC::CodeBlock::couldTakeSpecialFastCase): (JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler): * bytecode/CodeBlock.h: (JSC::CodeBlock::addMathIC): (JSC::CodeBlock::outOfLineJumpOffset): (JSC::CodeBlock::bytecodeOffset): (JSC::CodeBlock::instructions const): (JSC::CodeBlock::instructionCount const): (JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters): (JSC::CodeBlock::metadata): (JSC::CodeBlock::metadataSizeInBytes): (JSC::CodeBlock::numberOfNonArgumentValueProfiles): (JSC::CodeBlock::totalNumberOfValueProfiles): * bytecode/CodeBlockInlines.h: Added. (JSC::CodeBlock::forEachValueProfile): (JSC::CodeBlock::forEachArrayProfile): (JSC::CodeBlock::forEachArrayAllocationProfile): (JSC::CodeBlock::forEachObjectAllocationProfile): (JSC::CodeBlock::forEachLLIntCallLinkInfo): * bytecode/Fits.h: Added. * bytecode/GetByIdMetadata.h: Copied from Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h. * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeFromLLInt): * bytecode/Instruction.h: (JSC::Instruction::Instruction): (JSC::Instruction::Impl::opcodeID const): (JSC::Instruction::opcodeID const): (JSC::Instruction::name const): (JSC::Instruction::isWide const): (JSC::Instruction::size const): (JSC::Instruction::is const): (JSC::Instruction::as const): (JSC::Instruction::cast): (JSC::Instruction::cast const): (JSC::Instruction::narrow const): (JSC::Instruction::wide const): * bytecode/InstructionStream.cpp: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. (JSC::InstructionStream::InstructionStream): (JSC::InstructionStream::sizeInBytes const): * bytecode/InstructionStream.h: Added. (JSC::InstructionStream::BaseRef::BaseRef): (JSC::InstructionStream::BaseRef::operator=): (JSC::InstructionStream::BaseRef::operator-> const): (JSC::InstructionStream::BaseRef::ptr const): (JSC::InstructionStream::BaseRef::operator!= const): (JSC::InstructionStream::BaseRef::next const): (JSC::InstructionStream::BaseRef::offset const): (JSC::InstructionStream::BaseRef::isValid const): (JSC::InstructionStream::BaseRef::unwrap const): (JSC::InstructionStream::MutableRef::freeze const): (JSC::InstructionStream::MutableRef::operator->): (JSC::InstructionStream::MutableRef::ptr): (JSC::InstructionStream::MutableRef::operator Ref): (JSC::InstructionStream::MutableRef::unwrap): (JSC::InstructionStream::iterator::operator*): (JSC::InstructionStream::iterator::operator++): (JSC::InstructionStream::begin const): (JSC::InstructionStream::end const): (JSC::InstructionStream::at const): (JSC::InstructionStream::size const): (JSC::InstructionStreamWriter::InstructionStreamWriter): (JSC::InstructionStreamWriter::ref): (JSC::InstructionStreamWriter::seek): (JSC::InstructionStreamWriter::position): (JSC::InstructionStreamWriter::write): (JSC::InstructionStreamWriter::rewind): (JSC::InstructionStreamWriter::finalize): (JSC::InstructionStreamWriter::swap): (JSC::InstructionStreamWriter::iterator::operator*): (JSC::InstructionStreamWriter::iterator::operator++): (JSC::InstructionStreamWriter::begin): (JSC::InstructionStreamWriter::end): * bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp: (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::LLIntPrototypeLoadAdaptiveStructureWatchpoint): (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal): (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::clearLLIntGetByIdCache): * bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h: * bytecode/MetadataTable.cpp: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. (JSC::MetadataTable::MetadataTable): (JSC::DeallocTable::withOpcodeType): (JSC::MetadataTable::~MetadataTable): (JSC::MetadataTable::sizeInBytes): * bytecode/MetadataTable.h: Copied from Source/JavaScriptCore/runtime/Watchdog.h. (JSC::MetadataTable::get): (JSC::MetadataTable::forEach): (JSC::MetadataTable::getImpl): * bytecode/Opcode.cpp: (JSC::metadataSize): * bytecode/Opcode.h: (JSC::padOpcodeName): * bytecode/OpcodeInlines.h: (JSC::isOpcodeShape): (JSC::getOpcodeType): * bytecode/OpcodeSize.h: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. * bytecode/PreciseJumpTargets.cpp: (JSC::getJumpTargetsForInstruction): (JSC::computePreciseJumpTargetsInternal): (JSC::computePreciseJumpTargets): (JSC::recomputePreciseJumpTargets): (JSC::findJumpTargetsForInstruction): * bytecode/PreciseJumpTargets.h: * bytecode/PreciseJumpTargetsInlines.h: (JSC::jumpTargetForInstruction): (JSC::extractStoredJumpTargetsForInstruction): (JSC::updateStoredJumpTargetsForInstruction): * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFromLLInt): * bytecode/SpecialPointer.cpp: (WTF::printInternal): * bytecode/SpecialPointer.h: * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): (JSC::UnlinkedCodeBlock::visitChildren): (JSC::UnlinkedCodeBlock::estimatedSize): (JSC::UnlinkedCodeBlock::lineNumberForBytecodeOffset): (JSC::dumpLineColumnEntry): (JSC::UnlinkedCodeBlock::expressionRangeForBytecodeOffset const): (JSC::UnlinkedCodeBlock::setInstructions): (JSC::UnlinkedCodeBlock::instructions const): (JSC::UnlinkedCodeBlock::applyModification): (JSC::UnlinkedCodeBlock::addOutOfLineJumpTarget): (JSC::UnlinkedCodeBlock::outOfLineJumpOffset): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::addPropertyAccessInstruction): (JSC::UnlinkedCodeBlock::propertyAccessInstructions const): (JSC::UnlinkedCodeBlock::addOpProfileControlFlowBytecodeOffset): (JSC::UnlinkedCodeBlock::opProfileControlFlowBytecodeOffsets const): (JSC::UnlinkedCodeBlock::metadata): (JSC::UnlinkedCodeBlock::metadataSizeInBytes): (JSC::UnlinkedCodeBlock::outOfLineJumpOffset): (JSC::UnlinkedCodeBlock::replaceOutOfLineJumpTargets): * bytecode/UnlinkedInstructionStream.cpp: Removed. * bytecode/UnlinkedInstructionStream.h: Removed. * bytecode/UnlinkedMetadataTable.h: Copied from Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h. * bytecode/UnlinkedMetadataTableInlines.h: Added. (JSC::UnlinkedMetadataTable::UnlinkedMetadataTable): (JSC::UnlinkedMetadataTable::~UnlinkedMetadataTable): (JSC::UnlinkedMetadataTable::addEntry): (JSC::UnlinkedMetadataTable::sizeInBytes): (JSC::UnlinkedMetadataTable::finalize): (JSC::UnlinkedMetadataTable::link): (JSC::UnlinkedMetadataTable::unlink): * bytecode/VirtualRegister.cpp: (JSC::VirtualRegister::VirtualRegister): * bytecode/VirtualRegister.h: * bytecompiler/BytecodeGenerator.cpp: (JSC::Label::setLocation): (JSC::Label::bind): (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeVarLexicalEnvironment): (JSC::BytecodeGenerator::emitEnter): (JSC::BytecodeGenerator::emitLoopHint): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitCheckTraps): (JSC::BytecodeGenerator::rewind): (JSC::BytecodeGenerator::fuseCompareAndJump): (JSC::BytecodeGenerator::fuseTestAndJmp): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall): (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply): (JSC::BytecodeGenerator::moveLinkTimeConstant): (JSC::BytecodeGenerator::moveEmptyValue): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::emitBinaryOp): (JSC::BytecodeGenerator::emitToObject): (JSC::BytecodeGenerator::emitToNumber): (JSC::BytecodeGenerator::emitToString): (JSC::BytecodeGenerator::emitTypeOf): (JSC::BytecodeGenerator::emitInc): (JSC::BytecodeGenerator::emitDec): (JSC::BytecodeGenerator::emitEqualityOp): (JSC::BytecodeGenerator::emitProfileType): (JSC::BytecodeGenerator::emitProfileControlFlow): (JSC::BytecodeGenerator::pushLexicalScopeInternal): (JSC::BytecodeGenerator::emitResolveScopeForHoistingFuncDeclInEval): (JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration): (JSC::BytecodeGenerator::emitOverridesHasInstance): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitInstanceOfCustom): (JSC::BytecodeGenerator::emitInByVal): (JSC::BytecodeGenerator::emitInById): (JSC::BytecodeGenerator::emitTryGetById): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitDirectGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitDirectPutById): (JSC::BytecodeGenerator::emitPutGetterById): (JSC::BytecodeGenerator::emitPutSetterById): (JSC::BytecodeGenerator::emitPutGetterSetter): (JSC::BytecodeGenerator::emitPutGetterByVal): (JSC::BytecodeGenerator::emitPutSetterByVal): (JSC::BytecodeGenerator::emitDeleteById): (JSC::BytecodeGenerator::emitGetByVal): (JSC::BytecodeGenerator::emitPutByVal): (JSC::BytecodeGenerator::emitDirectPutByVal): (JSC::BytecodeGenerator::emitDeleteByVal): (JSC::BytecodeGenerator::emitSuperSamplerBegin): (JSC::BytecodeGenerator::emitSuperSamplerEnd): (JSC::BytecodeGenerator::emitIdWithProfile): (JSC::BytecodeGenerator::emitUnreachable): (JSC::BytecodeGenerator::emitGetArgument): (JSC::BytecodeGenerator::emitCreateThis): (JSC::BytecodeGenerator::emitTDZCheck): (JSC::BytecodeGenerator::emitNewObject): (JSC::BytecodeGenerator::emitNewArrayBuffer): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewArrayWithSpread): (JSC::BytecodeGenerator::emitNewArrayWithSize): (JSC::BytecodeGenerator::emitNewRegExp): (JSC::BytecodeGenerator::emitNewFunctionExpressionCommon): (JSC::BytecodeGenerator::emitNewDefaultConstructor): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitSetFunctionNameIfNeeded): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitCallInTailPosition): (JSC::BytecodeGenerator::emitCallEval): (JSC::BytecodeGenerator::emitExpectedFunctionSnippet): (JSC::BytecodeGenerator::emitCallVarargs): (JSC::BytecodeGenerator::emitCallVarargsInTailPosition): (JSC::BytecodeGenerator::emitConstructVarargs): (JSC::BytecodeGenerator::emitCallForwardArgumentsInTailPosition): (JSC::BytecodeGenerator::emitLogShadowChickenPrologueIfNecessary): (JSC::BytecodeGenerator::emitLogShadowChickenTailIfNecessary): (JSC::BytecodeGenerator::emitCallDefineProperty): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitEnd): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitStrcat): (JSC::BytecodeGenerator::emitToPrimitive): (JSC::BytecodeGenerator::emitGetScope): (JSC::BytecodeGenerator::emitPushWithScope): (JSC::BytecodeGenerator::emitGetParentScope): (JSC::BytecodeGenerator::emitDebugHook): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitThrow): (JSC::BytecodeGenerator::emitArgumentCount): (JSC::BytecodeGenerator::emitThrowStaticError): (JSC::BytecodeGenerator::beginSwitch): (JSC::prepareJumpTableForSwitch): (JSC::prepareJumpTableForStringSwitch): (JSC::BytecodeGenerator::endSwitch): (JSC::BytecodeGenerator::emitGetEnumerableLength): (JSC::BytecodeGenerator::emitHasGenericProperty): (JSC::BytecodeGenerator::emitHasIndexedProperty): (JSC::BytecodeGenerator::emitHasStructureProperty): (JSC::BytecodeGenerator::emitGetPropertyEnumerator): (JSC::BytecodeGenerator::emitEnumeratorStructurePropertyName): (JSC::BytecodeGenerator::emitEnumeratorGenericPropertyName): (JSC::BytecodeGenerator::emitToIndexString): (JSC::BytecodeGenerator::emitIsCellWithType): (JSC::BytecodeGenerator::emitIsObject): (JSC::BytecodeGenerator::emitIsNumber): (JSC::BytecodeGenerator::emitIsUndefined): (JSC::BytecodeGenerator::emitIsEmpty): (JSC::BytecodeGenerator::emitRestParameter): (JSC::BytecodeGenerator::emitRequireObjectCoercible): (JSC::BytecodeGenerator::emitYieldPoint): (JSC::BytecodeGenerator::emitYield): (JSC::BytecodeGenerator::emitGetAsyncIterator): (JSC::BytecodeGenerator::emitDelegateYield): (JSC::BytecodeGenerator::emitFinallyCompletion): (JSC::BytecodeGenerator::emitJumpIf): (JSC::ForInContext::finalize): (JSC::StructureForInContext::finalize): (JSC::IndexedForInContext::finalize): (JSC::StaticPropertyAnalysis::record): (JSC::BytecodeGenerator::emitToThis): * bytecompiler/BytecodeGenerator.h: (JSC::StructureForInContext::addGetInst): (JSC::BytecodeGenerator::recordOpcode): (JSC::BytecodeGenerator::addMetadataFor): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::kill): (JSC::BytecodeGenerator::instructions const): (JSC::BytecodeGenerator::write): (JSC::BytecodeGenerator::withWriter): * bytecompiler/Label.h: (JSC::Label::Label): (JSC::Label::bind): * bytecompiler/NodesCodegen.cpp: (JSC::ArrayNode::emitBytecode): (JSC::BytecodeIntrinsicNode::emit_intrinsic_argumentCount): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::BitwiseNotNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode): (JSC::StrictEqualNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ForInNode::emitBytecode): (JSC::CaseBlockNode::emitBytecodeForBlock): (JSC::FunctionNode::emitBytecode): (JSC::ClassExprNode::emitBytecode): * bytecompiler/ProfileTypeBytecodeFlag.cpp: Copied from Source/JavaScriptCore/bytecode/VirtualRegister.cpp. (WTF::printInternal): * bytecompiler/ProfileTypeBytecodeFlag.h: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. * bytecompiler/RegisterID.h: * bytecompiler/StaticPropertyAnalysis.h: (JSC::StaticPropertyAnalysis::create): (JSC::StaticPropertyAnalysis::StaticPropertyAnalysis): * bytecompiler/StaticPropertyAnalyzer.h: (JSC::StaticPropertyAnalyzer::createThis): (JSC::StaticPropertyAnalyzer::newObject): (JSC::StaticPropertyAnalyzer::putById): (JSC::StaticPropertyAnalyzer::mov): (JSC::StaticPropertyAnalyzer::kill): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::addCall): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::getArrayMode): (JSC::DFG::ByteCodeParser::handleCall): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::handleRecursiveTailCall): (JSC::DFG::ByteCodeParser::inlineCall): (JSC::DFG::ByteCodeParser::handleCallVariant): (JSC::DFG::ByteCodeParser::handleVarargsInlining): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::handleMinMax): (JSC::DFG::ByteCodeParser::handleIntrinsicCall): (JSC::DFG::ByteCodeParser::handleDOMJITCall): (JSC::DFG::ByteCodeParser::handleIntrinsicGetter): (JSC::DFG::ByteCodeParser::handleDOMJITGetter): (JSC::DFG::ByteCodeParser::handleModuleNamespaceLoad): (JSC::DFG::ByteCodeParser::handleTypedArrayConstructor): (JSC::DFG::ByteCodeParser::handleConstantInternalFunction): (JSC::DFG::ByteCodeParser::handleGetById): (JSC::DFG::ByteCodeParser::handlePutById): (JSC::DFG::ByteCodeParser::parseGetById): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): (JSC::DFG::ByteCodeParser::handlePutAccessorById): (JSC::DFG::ByteCodeParser::handlePutAccessorByVal): (JSC::DFG::ByteCodeParser::handleNewFunc): (JSC::DFG::ByteCodeParser::handleNewFuncExp): (JSC::DFG::ByteCodeParser::parse): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGCapabilities.h: (JSC::DFG::capabilityLevel): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareCatchOSREntry): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileValueNegate): (JSC::DFG::SpeculativeJIT::compileArithMul): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub): (JSC::FTL::DFG::LowerDFGToB3::compileArithMul): (JSC::FTL::DFG::LowerDFGToB3::compileValueNegate): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * generate-bytecode-files: Removed. * generator/Argument.rb: Added. * generator/Assertion.rb: Added. * generator/DSL.rb: Added. * generator/Fits.rb: Added. * generator/GeneratedFile.rb: Added. * generator/Metadata.rb: Added. * generator/Opcode.rb: Added. * generator/OpcodeGroup.rb: Added. * generator/Options.rb: Added. * generator/Section.rb: Added. * generator/Template.rb: Added. * generator/Type.rb: Added. * generator/main.rb: Added. * interpreter/AbstractPC.h: * interpreter/CallFrame.cpp: (JSC::CallFrame::currentVPC const): (JSC::CallFrame::setCurrentVPC): * interpreter/CallFrame.h: (JSC::CallSiteIndex::CallSiteIndex): (JSC::ExecState::setReturnPC): * interpreter/Interpreter.cpp: (WTF::printInternal): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::dump const): * interpreter/VMEntryRecord.h: * jit/JIT.cpp: (JSC::JIT::JIT): (JSC::JIT::emitSlowCaseCall): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::compileWithoutLinking): (JSC::JIT::link): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_op_jless): (JSC::JIT::emit_op_jlesseq): (JSC::JIT::emit_op_jgreater): (JSC::JIT::emit_op_jgreatereq): (JSC::JIT::emit_op_jnless): (JSC::JIT::emit_op_jnlesseq): (JSC::JIT::emit_op_jngreater): (JSC::JIT::emit_op_jngreatereq): (JSC::JIT::emitSlow_op_jless): (JSC::JIT::emitSlow_op_jlesseq): (JSC::JIT::emitSlow_op_jgreater): (JSC::JIT::emitSlow_op_jgreatereq): (JSC::JIT::emitSlow_op_jnless): (JSC::JIT::emitSlow_op_jnlesseq): (JSC::JIT::emitSlow_op_jngreater): (JSC::JIT::emitSlow_op_jngreatereq): (JSC::JIT::emit_op_below): (JSC::JIT::emit_op_beloweq): (JSC::JIT::emit_op_jbelow): (JSC::JIT::emit_op_jbeloweq): (JSC::JIT::emit_op_unsigned): (JSC::JIT::emit_compareAndJump): (JSC::JIT::emit_compareUnsignedAndJump): (JSC::JIT::emit_compareUnsigned): (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emit_op_inc): (JSC::JIT::emit_op_dec): (JSC::JIT::emit_op_mod): (JSC::JIT::emitSlow_op_mod): (JSC::JIT::emit_op_negate): (JSC::JIT::emitSlow_op_negate): (JSC::JIT::emitBitBinaryOpFastPath): (JSC::JIT::emit_op_bitand): (JSC::JIT::emit_op_bitor): (JSC::JIT::emit_op_bitxor): (JSC::JIT::emit_op_lshift): (JSC::JIT::emitRightShiftFastPath): (JSC::JIT::emit_op_rshift): (JSC::JIT::emit_op_urshift): (JSC::getOperandTypes): (JSC::JIT::emit_op_add): (JSC::JIT::emitSlow_op_add): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): (JSC::JIT::emit_op_div): (JSC::JIT::emit_op_mul): (JSC::JIT::emitSlow_op_mul): (JSC::JIT::emit_op_sub): (JSC::JIT::emitSlow_op_sub): * jit/JITCall.cpp: (JSC::JIT::emitPutCallResult): (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileTailCall): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase): (JSC::JIT::emit_op_call): (JSC::JIT::emit_op_tail_call): (JSC::JIT::emit_op_call_eval): (JSC::JIT::emit_op_call_varargs): (JSC::JIT::emit_op_tail_call_varargs): (JSC::JIT::emit_op_tail_call_forward_arguments): (JSC::JIT::emit_op_construct_varargs): (JSC::JIT::emit_op_construct): (JSC::JIT::emitSlow_op_call): (JSC::JIT::emitSlow_op_tail_call): (JSC::JIT::emitSlow_op_call_eval): (JSC::JIT::emitSlow_op_call_varargs): (JSC::JIT::emitSlow_op_tail_call_varargs): (JSC::JIT::emitSlow_op_tail_call_forward_arguments): (JSC::JIT::emitSlow_op_construct_varargs): (JSC::JIT::emitSlow_op_construct): * jit/JITDisassembler.cpp: (JSC::JITDisassembler::JITDisassembler): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITInlines.h: (JSC::JIT::emitDoubleGetByVal): (JSC::JIT::emitLoadForArrayMode): (JSC::JIT::emitContiguousGetByVal): (JSC::JIT::emitArrayStorageGetByVal): (JSC::JIT::appendCallWithExceptionCheckSetJSValueResultWithProfile): (JSC::JIT::sampleInstruction): (JSC::JIT::emitValueProfilingSiteIfProfiledOpcode): (JSC::JIT::emitValueProfilingSite): (JSC::JIT::jumpTarget): (JSC::JIT::copiedGetPutInfo): (JSC::JIT::copiedArithProfile): * jit/JITMathIC.h: (JSC::isProfileEmpty): (JSC::JITBinaryMathIC::JITBinaryMathIC): (JSC::JITUnaryMathIC::JITUnaryMathIC): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_mov): (JSC::JIT::emit_op_end): (JSC::JIT::emit_op_jmp): (JSC::JIT::emit_op_new_object): (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_overrides_has_instance): (JSC::JIT::emit_op_instanceof): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_instanceof_custom): (JSC::JIT::emit_op_is_empty): (JSC::JIT::emit_op_is_undefined): (JSC::JIT::emit_op_is_boolean): (JSC::JIT::emit_op_is_number): (JSC::JIT::emit_op_is_cell_with_type): (JSC::JIT::emit_op_is_object): (JSC::JIT::emit_op_ret): (JSC::JIT::emit_op_to_primitive): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_not): (JSC::JIT::emit_op_jfalse): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::emit_op_jneq_ptr): (JSC::JIT::emit_op_eq): (JSC::JIT::emit_op_jeq): (JSC::JIT::emit_op_jtrue): (JSC::JIT::emit_op_neq): (JSC::JIT::emit_op_jneq): (JSC::JIT::emit_op_throw): (JSC::JIT::compileOpStrictEq): (JSC::JIT::emit_op_stricteq): (JSC::JIT::emit_op_nstricteq): (JSC::JIT::compileOpStrictEqJump): (JSC::JIT::emit_op_jstricteq): (JSC::JIT::emit_op_jnstricteq): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_to_string): (JSC::JIT::emit_op_to_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_identity_with_profile): (JSC::JIT::emit_op_get_parent_scope): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_enter): (JSC::JIT::emit_op_get_scope): (JSC::JIT::emit_op_to_this): (JSC::JIT::emit_op_create_this): (JSC::JIT::emit_op_check_tdz): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emit_op_loop_hint): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emit_op_check_traps): (JSC::JIT::emit_op_nop): (JSC::JIT::emit_op_super_sampler_begin): (JSC::JIT::emit_op_super_sampler_end): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_new_generator_func): (JSC::JIT::emit_op_new_async_generator_func): (JSC::JIT::emit_op_new_async_func): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_func_exp): (JSC::JIT::emit_op_new_generator_func_exp): (JSC::JIT::emit_op_new_async_func_exp): (JSC::JIT::emit_op_new_async_generator_func_exp): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emit_op_has_structure_property): (JSC::JIT::privateCompileHasIndexedProperty): (JSC::JIT::emit_op_has_indexed_property): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_get_direct_pname): (JSC::JIT::emit_op_enumerator_structure_pname): (JSC::JIT::emit_op_enumerator_generic_pname): (JSC::JIT::emit_op_profile_type): (JSC::JIT::emit_op_log_shadow_chicken_prologue): (JSC::JIT::emit_op_log_shadow_chicken_tail): (JSC::JIT::emit_op_profile_control_flow): (JSC::JIT::emit_op_argument_count): (JSC::JIT::emit_op_get_rest_length): (JSC::JIT::emit_op_get_argument): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_to_this): * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_by_val): (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emit_op_put_by_val_direct): (JSC::JIT::emit_op_put_by_val): (JSC::JIT::emitGenericContiguousPutByVal): (JSC::JIT::emitArrayStoragePutByVal): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emit_op_try_get_by_id): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emit_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emit_op_get_by_id): (JSC::JIT::emit_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emit_op_put_by_id): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emit_op_in_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emit_op_resolve_scope): (JSC::JIT::emit_op_get_from_scope): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emit_op_put_to_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::privateCompileGetByValWithCachedId): (JSC::JIT::privateCompilePutByVal): (JSC::JIT::privateCompilePutByValWithCachedId): (JSC::JIT::emitDoubleLoad): (JSC::JIT::emitContiguousLoad): (JSC::JIT::emitArrayStorageLoad): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): (JSC::JIT::emitIntTypedArrayGetByVal): (JSC::JIT::emitFloatTypedArrayGetByVal): (JSC::JIT::emitIntTypedArrayPutByVal): (JSC::JIT::emitFloatTypedArrayPutByVal): * jit/RegisterSet.cpp: (JSC::RegisterSet::llintBaselineCalleeSaveRegisters): * jit/SlowPathCall.h: (JSC::JITSlowPathCall::JITSlowPathCall): * llint/LLIntData.cpp: (JSC::LLInt::initialize): (JSC::LLInt::Data::performAssertions): * llint/LLIntData.h: (JSC::LLInt::exceptionInstructions): (JSC::LLInt::opcodeMap): (JSC::LLInt::opcodeMapWide): (JSC::LLInt::getOpcode): (JSC::LLInt::getOpcodeWide): (JSC::LLInt::getWideCodePtr): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator const Instruction*): (JSC::CLoop::execute): * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * offlineasm/arm64.rb: * offlineasm/asm.rb: * offlineasm/ast.rb: * offlineasm/cloop.rb: * offlineasm/generate_offset_extractor.rb: * offlineasm/instructions.rb: * offlineasm/offsets.rb: * offlineasm/parser.rb: * offlineasm/transform.rb: * offlineasm/x86.rb: * parser/ResultType.h: (JSC::ResultType::dump const): (JSC::OperandTypes::first const): (JSC::OperandTypes::second const): (JSC::OperandTypes::dump const): * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::BytecodeSequence): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): (JSC::updateArithProfileForUnaryArithOp): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/GetPutInfo.cpp: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. (JSC::GetPutInfo::dump const): (WTF::printInternal): * runtime/GetPutInfo.h: (JSC::GetPutInfo::operand const): * runtime/JSCPoison.h: * runtime/JSType.cpp: Added. (WTF::printInternal): * runtime/JSType.h: * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::StackFrame::displayName): * runtime/SamplingProfiler.h: (JSC::SamplingProfiler::UnprocessedStackFrame::UnprocessedStackFrame): * runtime/SlowPathReturnType.h: (JSC::encodeResult): (JSC::decodeResult): * runtime/VM.h: * runtime/Watchdog.h: * tools/HeapVerifier.cpp: Source/WTF: * wtf/Forward.h: Fix WTF_LAZY_FOR_EACH_TERM on MSVC and add WTF_LAZY_HAS_REST to check whether a macro was passed multiple arguments * wtf/Platform.h: Force ENABLE_JIT=false on all 32-bit platforms * wtf/Vector.h: (WTF::minCapacity>::insertVector): Allow vectors with different overflow handlers to be passed to insertVector Tools: Do not force ENABLE_JIT=true when $forceCLoop is false. * Scripts/build-jsc: LayoutTests: Don't use recursion on `equal` to avoid premature stack overflows when testing deep arrays. * fast/dom/Window/resources/postmessage-test.js: Canonical link: https://commits.webkit.org/205808@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-26 19:54:24 +00:00
2018-10-26 Tadeu Zagallo <tzagallo@apple.com>
New bytecode format for JSC
https://bugs.webkit.org/show_bug.cgi?id=187373
<rdar://problem/44186758>
Reviewed by Filip Pizlo.
Disable JIT by default on 32-bit platforms
* Source/cmake/WebKitFeatures.cmake:
2018-10-25 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Reenable the sandbox
Previously reviewed by, er, myself. This just reverts the sabotague as our bots should have
the required deps now. Hopefully.
* Source/cmake/OptionsGTK.cmake:
2018-10-18 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang] Do not give -Wall to clang-cl because it is treated as -Weverything
https://bugs.webkit.org/show_bug.cgi?id=190514
Reviewed by Michael Catanzaro.
clang-cl maps /Wall and -Wall to -Weverything which reports tons
of compilation warnings. Do not give -Wall option to clang-cl.
Clang processes -Wall and -Wextra options differently than GCC.
Clang processes all warning options in left-to-right order, while
GCC processes -Wall and -Wextra options first. In order to get the
same effect in both compilers, -Wall and -Wextra should be
speficied before all -Wno-* options.
* Source/cmake/WebKitCompilerFlags.cmake: Put -Wall and -Wextra
options before all -Wno-* options.
* Source/cmake/OptionsMSVC.cmake: Prepend /W4 option, instead of
just replacing /W3 option.
2018-10-16 Philippe Normand <pnormand@igalia.com>
Unreviewed, GTK bots build fix
* Source/cmake/OptionsGTK.cmake: Disable Sandbox support until the
bots have all the needed dependencies installed.
Add WebGPU 2018 feature flag and experimental feature flag https://bugs.webkit.org/show_bug.cgi?id=190509 Reviewed by Dean Jackson. .: Update FeatureDefines for WebGPU -> WebMetal renaming, while preserving WebGPU references for 2018 WebGPU Sketch implementation. * Source/cmake/OptionsMac.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature for the 2018 WebGPU prototype. * Configurations/FeatureDefines.xcconfig: Source/WebCore: Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature for the 2018 WebGPU prototype. * Configurations/FeatureDefines.xcconfig: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setWebGPUEnabled): (WebCore::RuntimeEnabledFeatures::webGPUEnabled const): Source/WebCore/PAL: Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature for the 2018 WebGPU prototype. * Configurations/FeatureDefines.xcconfig: Source/WebKit: Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature for the 2018 WebGPU prototype. * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferences.yaml: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Source/WebKitLegacy/mac: Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature for the 2018 WebGPU prototype. * Configurations/FeatureDefines.xcconfig: * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences webGPUEnabled]): (-[WebPreferences setWebGPUEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Tools: Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature for the 2018 WebGPU prototype. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/205544@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-16 04:57:47 +00:00
2018-10-15 Justin Fan <justin_fan@apple.com>
Add WebGPU 2018 feature flag and experimental feature flag
https://bugs.webkit.org/show_bug.cgi?id=190509
Reviewed by Dean Jackson.
Update FeatureDefines for WebGPU -> WebMetal renaming, while preserving WebGPU
references for 2018 WebGPU Sketch implementation.
* Source/cmake/OptionsMac.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2018-10-15 Christopher Reid <chris.reid@sony.com>
[Curl][WinCairo] Add Public Suffix support to WinCairo
https://bugs.webkit.org/show_bug.cgi?id=183060
Reviewed by Alex Christensen.
* Source/cmake/FindLibPSL.cmake: Added.
* Source/cmake/OptionsWin.cmake:
* Source/cmake/OptionsWinCairo.cmake:
2018-10-15 Michael Catanzaro <mcatanzaro@igalia.com>
Add new files missing from previous commit.
* Source/cmake/FindLibseccomp.cmake: Added.
[GTK][WPE] Implement subprocess sandboxing https://bugs.webkit.org/show_bug.cgi?id=188568 Patch by Patrick Griffis <pgriffis@igalia.com> on 2018-10-15 Reviewed by Michael Catanzaro. .: Add ENABLE_BUBBLEWRAP_SANDBOX option for sandboxing. * Source/cmake/FindLibseccomp.cmake: Added. * Source/cmake/OptionsGTK.cmake: * Source/cmake/WebKitFeatures.cmake: Source/WebCore: Link against libseccomp. * PlatformGTK.cmake: Source/WebKit: This implements sandboxing of WebKitWebProcesses. The sandbox is opt-in at runtime as it is a behavior change. See webkit_web_context_set_sandbox_enabled() and the WEBKIT_FORCE_SANDBOX env var for developers. This is Linux specific using Namespaces, Seccomp, and a DBus proxy service. This introduces three new dependencies: - bwrap executable - libseccomp library - xdg-dbus-proxy executable The use of xdg-dbus-proxy will ideally be replaced once upstream DBus gains the same filtering abilities which is a work in progress. Currently the sandbox is not completed and there are a few large holes: - Pulseaudio: The Pipewire project will solve this. - DRI device access: No immediate solutions planned. - Webcam device access: Pipewire will also solve this. - Webprocess network access: Will require GStreamer changes. - DConf access: Custom proxy planned. - X11 access: Wayland solves this. That is not an exhaustive list but are the noteworthy ones. Filesystem access is still an evolving list as problems are found as is specific DBus name access. * PlatformGTK.cmake: * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitWebContext.cpp: (webkit_web_context_set_sandbox_enabled): (webkit_web_context_get_sandbox_enabled): * UIProcess/API/gtk/WebKitWebContext.h: * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: * UIProcess/API/wpe/WebKitWebContext.h: * UIProcess/ChildProcessProxy.cpp: (WebKit::ChildProcessProxy::getLaunchOptions): * UIProcess/ChildProcessProxy.h: (WebKit::ChildProcessProxy::platformGetLaunchOptions): * UIProcess/Launcher/ProcessLauncher.h: * UIProcess/Launcher/glib/BubblewrapLauncher.cpp: Added. (WebKit::memfd_create): (WebKit::argsToFd): (WebKit::XDGDBusProxyLauncher::setAddress): (WebKit::XDGDBusProxyLauncher::isRunning const): (WebKit::XDGDBusProxyLauncher::path const): (WebKit::XDGDBusProxyLauncher::proxyPath const): (WebKit::XDGDBusProxyLauncher::setPermissions): (WebKit::XDGDBusProxyLauncher::launch): (WebKit::XDGDBusProxyLauncher::childSetupFunc): (WebKit::XDGDBusProxyLauncher::makeProxyPath): (WebKit::XDGDBusProxyLauncher::dbusAddressToPath): (WebKit::bindIfExists): (WebKit::bindDBusSession): (WebKit::bindX11): (WebKit::bindDconf): (WebKit::bindWayland): (WebKit::bindPulse): (WebKit::bindFonts): (WebKit::bindGtkData): (WebKit::bindA11y): (WebKit::bindPathVar): (WebKit::bindGStreamerData): (WebKit::bindOpenGL): (WebKit::bindV4l): (WebKit::bindSymlinksRealPath): (WebKit::setupSeccomp): (WebKit::bubblewrapSpawn): * UIProcess/Launcher/glib/BubblewrapLauncher.h: Added. * UIProcess/Launcher/glib/FlatpakLauncher.cpp: Added. (WebKit::flatpakSpawn): * UIProcess/Launcher/glib/FlatpakLauncher.h: Added. * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: (WebKit::isInsideFlatpak): (WebKit::ProcessLauncher::launchProcess): * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::PluginProcessProxy::getLaunchOptions): * UIProcess/Plugins/PluginProcessProxy.h: * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: (WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes): * UIProcess/WebProcessPool.h: * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::platformGetLaunchOptions): * UIProcess/WebProcessProxy.h: * UIProcess/glib/WebProcessProxyGLib.cpp: Added. (WebKit::WebProcessProxy::platformGetLaunchOptions): Canonical link: https://commits.webkit.org/205481@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-15 15:02:59 +00:00
2018-10-15 Patrick Griffis <pgriffis@igalia.com>
[GTK][WPE] Implement subprocess sandboxing
https://bugs.webkit.org/show_bug.cgi?id=188568
Reviewed by Michael Catanzaro.
Add ENABLE_BUBBLEWRAP_SANDBOX option for sandboxing.
* Source/cmake/FindLibseccomp.cmake: Added.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitFeatures.cmake:
2018-10-14 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[JSC] Remove Option::useAsyncIterator
https://bugs.webkit.org/show_bug.cgi?id=190567
Reviewed by Saam Barati.
* Source/cmake/WebKitFeatures.cmake:
WebGPU: Rename old WebGPU prototype to WebMetal https://bugs.webkit.org/show_bug.cgi?id=190325 .: Reviewed by Dean Jackson. * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: <rdar://problem/44990443> Reviewed by Dean Jackson. Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface. * Configurations/FeatureDefines.xcconfig: * inspector/protocol/Canvas.json: * inspector/scripts/codegen/generator.py: Source/WebCore: <rdar://problem/44990443> Reviewed by Dean Jackson. Existing WebGPU tests also renamed to reflect WebGPU -> WebMetal change. Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface. * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * Sources.txt: * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSWebMetalRenderPassAttachmentDescriptorCustom.cpp: Renamed from Source/WebCore/bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp. (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSWebMetalRenderingContextCustom.cpp: Renamed from Source/WebCore/bindings/js/JSWebGPURenderingContextCustom.cpp. (WebCore::JSWebMetalRenderingContext::visitAdditionalChildren): * bindings/js/WebCoreBuiltinNames.h: * dom/Document.cpp: (WebCore::Document::getCSSCanvasContext): * dom/Document.h: * dom/Document.idl: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): (WebCore::HTMLCanvasElement::isWebMetalType): (WebCore::HTMLCanvasElement::createContextWebMetal): (WebCore::HTMLCanvasElement::getContextWebMetal): (WebCore::HTMLCanvasElement::isWebGPUType): Deleted. (WebCore::HTMLCanvasElement::createContextWebGPU): Deleted. (WebCore::HTMLCanvasElement::getContextWebGPU): Deleted. * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/canvas/CanvasRenderingContext.h: (WebCore::CanvasRenderingContext::isWebMetal const): (WebCore::CanvasRenderingContext::isWebGPU const): Deleted. * html/canvas/WebGPURenderingContext.cpp: Removed. * html/canvas/WebMetalBuffer.cpp: Renamed from Source/WebCore/html/canvas/WebGPUBuffer.cpp. (WebCore::WebMetalBuffer::create): (WebCore::WebMetalBuffer::WebMetalBuffer): * html/canvas/WebMetalBuffer.h: Renamed from Source/WebCore/html/canvas/WebGPUBuffer.h. * html/canvas/WebMetalBuffer.idl: Renamed from Source/WebCore/html/canvas/WebGPUBuffer.idl. * html/canvas/WebMetalCommandBuffer.cpp: Renamed from Source/WebCore/html/canvas/WebGPUCommandBuffer.cpp. (WebCore::WebMetalCommandBuffer::create): (WebCore::WebMetalCommandBuffer::WebMetalCommandBuffer): (WebCore::WebMetalCommandBuffer::~WebMetalCommandBuffer): (WebCore::WebMetalCommandBuffer::commit): (WebCore::WebMetalCommandBuffer::presentDrawable): (WebCore::WebMetalCommandBuffer::createRenderCommandEncoderWithDescriptor): (WebCore::WebMetalCommandBuffer::createComputeCommandEncoder): (WebCore::WebMetalCommandBuffer::completed): * html/canvas/WebMetalCommandBuffer.h: Renamed from Source/WebCore/html/canvas/WebGPUCommandBuffer.h. * html/canvas/WebMetalCommandBuffer.idl: Renamed from Source/WebCore/html/canvas/WebGPUCommandBuffer.idl. * html/canvas/WebMetalCommandQueue.cpp: Renamed from Source/WebCore/html/canvas/WebGPUCommandQueue.cpp. (WebCore::WebMetalCommandQueue::create): (WebCore::WebMetalCommandQueue::WebMetalCommandQueue): (WebCore::WebMetalCommandQueue::createCommandBuffer): * html/canvas/WebMetalCommandQueue.h: Renamed from Source/WebCore/html/canvas/WebGPUCommandQueue.h. * html/canvas/WebMetalCommandQueue.idl: Renamed from Source/WebCore/html/canvas/WebGPUCommandQueue.idl. * html/canvas/WebMetalComputeCommandEncoder.cpp: Renamed from Source/WebCore/html/canvas/WebGPUComputeCommandEncoder.cpp. (WebCore::GPUSizeMake): (WebCore::WebMetalComputeCommandEncoder::create): (WebCore::WebMetalComputeCommandEncoder::WebMetalComputeCommandEncoder): (WebCore::WebMetalComputeCommandEncoder::setComputePipelineState): (WebCore::WebMetalComputeCommandEncoder::setBuffer): (WebCore::WebMetalComputeCommandEncoder::dispatch): (WebCore::WebMetalComputeCommandEncoder::endEncoding): * html/canvas/WebMetalComputeCommandEncoder.h: Renamed from Source/WebCore/html/canvas/WebGPUComputeCommandEncoder.h. * html/canvas/WebMetalComputeCommandEncoder.idl: Renamed from Source/WebCore/html/canvas/WebGPUComputeCommandEncoder.idl. * html/canvas/WebMetalComputePipelineState.cpp: Renamed from Source/WebCore/html/canvas/WebGPUComputePipelineState.cpp. (WebCore::WebMetalComputePipelineState::create): (WebCore::WebMetalComputePipelineState::WebMetalComputePipelineState): * html/canvas/WebMetalComputePipelineState.h: Renamed from Source/WebCore/html/canvas/WebGPUComputePipelineState.h. * html/canvas/WebMetalComputePipelineState.idl: Renamed from Source/WebCore/html/canvas/WebGPUComputePipelineState.idl. * html/canvas/WebMetalDepthStencilDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.cpp. (WebCore::WebMetalDepthStencilDescriptor::create): (WebCore::WebMetalDepthStencilDescriptor::depthWriteEnabled const): (WebCore::WebMetalDepthStencilDescriptor::setDepthWriteEnabled): (WebCore::WebMetalDepthStencilDescriptor::depthCompareFunction const): (WebCore::WebMetalDepthStencilDescriptor::setDepthCompareFunction): * html/canvas/WebMetalDepthStencilDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.h. * html/canvas/WebMetalDepthStencilDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.idl. * html/canvas/WebMetalDepthStencilState.cpp: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilState.cpp. (WebCore::WebMetalDepthStencilState::create): (WebCore::WebMetalDepthStencilState::WebMetalDepthStencilState): (WebCore::WebMetalDepthStencilState::label const): (WebCore::WebMetalDepthStencilState::setLabel): * html/canvas/WebMetalDepthStencilState.h: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilState.h. * html/canvas/WebMetalDepthStencilState.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineState.idl. * html/canvas/WebMetalDrawable.cpp: Renamed from Source/WebCore/html/canvas/WebGPUDrawable.cpp. (WebCore::WebMetalDrawable::create): (WebCore::WebMetalDrawable::WebMetalDrawable): * html/canvas/WebMetalDrawable.h: Renamed from Source/WebCore/html/canvas/WebGPUDrawable.h. (WebCore::WebMetalDrawable::texture): * html/canvas/WebMetalDrawable.idl: Renamed from Source/WebCore/html/canvas/WebGPUDrawable.idl. * html/canvas/WebMetalEnums.cpp: Renamed from Source/WebCore/html/canvas/WebGPUEnums.cpp. (WebCore::toWebMetalCompareFunction): (WebCore::web3DCompareFunctionName): (WebCore::toGPUCompareFunction): * html/canvas/WebMetalEnums.h: Renamed from Source/WebCore/html/canvas/WebGPUEnums.h. * html/canvas/WebMetalEnums.idl: Renamed from Source/WebCore/html/canvas/WebGPUEnums.idl. * html/canvas/WebMetalFunction.cpp: Renamed from Source/WebCore/html/canvas/WebGPUFunction.cpp. (WebCore::WebMetalFunction::create): (WebCore::WebMetalFunction::WebMetalFunction): * html/canvas/WebMetalFunction.h: Renamed from Source/WebCore/html/canvas/WebGPUFunction.h. * html/canvas/WebMetalFunction.idl: Renamed from Source/WebCore/html/canvas/WebGPUFunction.idl. * html/canvas/WebMetalLibrary.cpp: Renamed from Source/WebCore/html/canvas/WebGPULibrary.cpp. (WebCore::WebMetalLibrary::create): (WebCore::WebMetalLibrary::WebMetalLibrary): (WebCore::WebMetalLibrary::functionNames const): (WebCore::WebMetalLibrary::functionWithName const): * html/canvas/WebMetalLibrary.h: Renamed from Source/WebCore/html/canvas/WebGPULibrary.h. * html/canvas/WebMetalLibrary.idl: Renamed from Source/WebCore/html/canvas/WebGPULibrary.idl. * html/canvas/WebMetalRenderCommandEncoder.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderCommandEncoder.cpp. (WebCore::WebMetalRenderCommandEncoder::create): (WebCore::WebMetalRenderCommandEncoder::WebMetalRenderCommandEncoder): (WebCore::WebMetalRenderCommandEncoder::setRenderPipelineState): (WebCore::WebMetalRenderCommandEncoder::setDepthStencilState): (WebCore::WebMetalRenderCommandEncoder::setVertexBuffer): (WebCore::WebMetalRenderCommandEncoder::setFragmentBuffer): (WebCore::WebMetalRenderCommandEncoder::drawPrimitives): (WebCore::WebMetalRenderCommandEncoder::endEncoding): * html/canvas/WebMetalRenderCommandEncoder.h: Renamed from Source/WebCore/html/canvas/WebGPURenderCommandEncoder.h. * html/canvas/WebMetalRenderCommandEncoder.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderCommandEncoder.idl. * html/canvas/WebMetalRenderPassAttachmentDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.cpp. (WebCore::WebMetalRenderPassAttachmentDescriptor::WebMetalRenderPassAttachmentDescriptor): (WebCore::WebMetalRenderPassAttachmentDescriptor::loadAction const): (WebCore::WebMetalRenderPassAttachmentDescriptor::setLoadAction): (WebCore::WebMetalRenderPassAttachmentDescriptor::storeAction const): (WebCore::WebMetalRenderPassAttachmentDescriptor::setStoreAction): (WebCore::WebMetalRenderPassAttachmentDescriptor::texture const): (WebCore::WebMetalRenderPassAttachmentDescriptor::setTexture): * html/canvas/WebMetalRenderPassAttachmentDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.h. * html/canvas/WebMetalRenderPassAttachmentDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.idl. * html/canvas/WebMetalRenderPassColorAttachmentDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.cpp. (WebCore::WebMetalRenderPassColorAttachmentDescriptor::create): (WebCore::WebMetalRenderPassColorAttachmentDescriptor::WebMetalRenderPassColorAttachmentDescriptor): (WebCore::WebMetalRenderPassColorAttachmentDescriptor::descriptor const): (WebCore::WebMetalRenderPassColorAttachmentDescriptor::clearColor const): (WebCore::WebMetalRenderPassColorAttachmentDescriptor::setClearColor): * html/canvas/WebMetalRenderPassColorAttachmentDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.h. * html/canvas/WebMetalRenderPassColorAttachmentDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl. * html/canvas/WebMetalRenderPassDepthAttachmentDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.cpp. (WebCore::WebMetalRenderPassDepthAttachmentDescriptor::create): (WebCore::WebMetalRenderPassDepthAttachmentDescriptor::WebMetalRenderPassDepthAttachmentDescriptor): (WebCore::WebMetalRenderPassDepthAttachmentDescriptor::clearDepth const): (WebCore::WebMetalRenderPassDepthAttachmentDescriptor::setClearDepth): (WebCore::WebMetalRenderPassDepthAttachmentDescriptor::descriptor const): * html/canvas/WebMetalRenderPassDepthAttachmentDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.h. * html/canvas/WebMetalRenderPassDepthAttachmentDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl. * html/canvas/WebMetalRenderPassDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDescriptor.cpp. (WebCore::WebMetalRenderPassDescriptor::create): (WebCore::WebMetalRenderPassDescriptor::depthAttachment): (WebCore::WebMetalRenderPassDescriptor::colorAttachments): * html/canvas/WebMetalRenderPassDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDescriptor.h. * html/canvas/WebMetalRenderPassDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPassDescriptor.idl. * html/canvas/WebMetalRenderPipelineColorAttachmentDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.cpp. (WebCore::WebMetalRenderPipelineColorAttachmentDescriptor::create): (WebCore::WebMetalRenderPipelineColorAttachmentDescriptor::WebMetalRenderPipelineColorAttachmentDescriptor): (WebCore::WebMetalRenderPipelineColorAttachmentDescriptor::pixelFormat const): (WebCore::WebMetalRenderPipelineColorAttachmentDescriptor::setPixelFormat): * html/canvas/WebMetalRenderPipelineColorAttachmentDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.h. * html/canvas/WebMetalRenderPipelineColorAttachmentDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl. * html/canvas/WebMetalRenderPipelineDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.cpp. (WebCore::WebMetalRenderPipelineDescriptor::create): (WebCore::WebMetalRenderPipelineDescriptor::vertexFunction const): (WebCore::WebMetalRenderPipelineDescriptor::setVertexFunction): (WebCore::WebMetalRenderPipelineDescriptor::fragmentFunction const): (WebCore::WebMetalRenderPipelineDescriptor::setFragmentFunction): (WebCore::WebMetalRenderPipelineDescriptor::colorAttachments): (WebCore::WebMetalRenderPipelineDescriptor::depthAttachmentPixelFormat const): (WebCore::WebMetalRenderPipelineDescriptor::setDepthAttachmentPixelFormat): (WebCore::WebMetalRenderPipelineDescriptor::reset): * html/canvas/WebMetalRenderPipelineDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.h. * html/canvas/WebMetalRenderPipelineDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.idl. * html/canvas/WebMetalRenderPipelineState.cpp: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineState.cpp. (WebCore::WebMetalRenderPipelineState::create): (WebCore::WebMetalRenderPipelineState::WebMetalRenderPipelineState): (WebCore::WebMetalRenderPipelineState::label const): (WebCore::WebMetalRenderPipelineState::setLabel): * html/canvas/WebMetalRenderPipelineState.h: Renamed from Source/WebCore/html/canvas/WebGPURenderPipelineState.h. * html/canvas/WebMetalRenderPipelineState.idl: Renamed from Source/WebCore/html/canvas/WebGPUDepthStencilState.idl. * html/canvas/WebMetalRenderingContext.cpp: Added. (WebCore::WebMetalRenderingContext::create): (WebCore::WebMetalRenderingContext::WebMetalRenderingContext): (WebCore::WebMetalRenderingContext::canvas const): (WebCore::WebMetalRenderingContext::initializeNewContext): (WebCore::WebMetalRenderingContext::clampedCanvasSize const): (WebCore::WebMetalRenderingContext::hasPendingActivity const): (WebCore::WebMetalRenderingContext::stop): (WebCore::WebMetalRenderingContext::activeDOMObjectName const): (WebCore::WebMetalRenderingContext::canSuspendForDocumentSuspension const): (WebCore::WebMetalRenderingContext::platformLayer const): (WebCore::WebMetalRenderingContext::markLayerComposited): (WebCore::WebMetalRenderingContext::reshape): (WebCore::WebMetalRenderingContext::createLibrary): (WebCore::WebMetalRenderingContext::createRenderPipelineState): (WebCore::WebMetalRenderingContext::createDepthStencilState): (WebCore::WebMetalRenderingContext::createComputePipelineState): (WebCore::WebMetalRenderingContext::createCommandQueue): (WebCore::WebMetalRenderingContext::nextDrawable): (WebCore::WebMetalRenderingContext::createBuffer): (WebCore::WebMetalRenderingContext::createTexture): * html/canvas/WebMetalRenderingContext.h: Renamed from Source/WebCore/html/canvas/WebGPURenderingContext.h. * html/canvas/WebMetalRenderingContext.idl: Renamed from Source/WebCore/html/canvas/WebGPURenderingContext.idl. * html/canvas/WebMetalSize.h: Renamed from Source/WebCore/html/canvas/WebGPUSize.h. * html/canvas/WebMetalSize.idl: Renamed from Source/WebCore/html/canvas/WebGPUSize.idl. * html/canvas/WebMetalTexture.cpp: Renamed from Source/WebCore/html/canvas/WebGPUTexture.cpp. (WebCore::WebMetalTexture::create): (WebCore::WebMetalTexture::WebMetalTexture): * html/canvas/WebMetalTexture.h: Renamed from Source/WebCore/html/canvas/WebGPUTexture.h. * html/canvas/WebMetalTexture.idl: Renamed from Source/WebCore/html/canvas/WebGPUTexture.idl. * html/canvas/WebMetalTextureDescriptor.cpp: Renamed from Source/WebCore/html/canvas/WebGPUTextureDescriptor.cpp. (WebCore::WebMetalTextureDescriptor::create): (WebCore::WebMetalTextureDescriptor::WebMetalTextureDescriptor): (WebCore::WebMetalTextureDescriptor::width const): (WebCore::WebMetalTextureDescriptor::setWidth): (WebCore::WebMetalTextureDescriptor::height const): (WebCore::WebMetalTextureDescriptor::setHeight): (WebCore::WebMetalTextureDescriptor::sampleCount const): (WebCore::WebMetalTextureDescriptor::setSampleCount): (WebCore::WebMetalTextureDescriptor::textureType const): (WebCore::WebMetalTextureDescriptor::setTextureType): (WebCore::WebMetalTextureDescriptor::storageMode const): (WebCore::WebMetalTextureDescriptor::setStorageMode): (WebCore::WebMetalTextureDescriptor::usage const): (WebCore::WebMetalTextureDescriptor::setUsage): * html/canvas/WebMetalTextureDescriptor.h: Renamed from Source/WebCore/html/canvas/WebGPUTextureDescriptor.h. * html/canvas/WebMetalTextureDescriptor.idl: Renamed from Source/WebCore/html/canvas/WebGPUTextureDescriptor.idl. * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::buildObjectForCanvas): * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::requestContent): (WebCore::contextAsScriptValue): * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setWebMetalEnabled): (WebCore::RuntimeEnabledFeatures::webMetalEnabled const): (WebCore::RuntimeEnabledFeatures::setWebGPUEnabled): Deleted. (WebCore::RuntimeEnabledFeatures::webGPUEnabled const): Deleted. * platform/Logging.h: * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: (WebCore::PlatformCALayerCocoa::layerTypeForPlatformLayer): (WebCore::PlatformCALayerCocoa::PlatformCALayerCocoa): * platform/graphics/cocoa/WebMetalLayer.h: Renamed from Source/WebCore/platform/graphics/cocoa/WebGPULayer.h. * platform/graphics/cocoa/WebMetalLayer.mm: Renamed from Source/WebCore/platform/graphics/cocoa/WebGPULayer.mm. (-[WebMetalLayer initWithGPUDevice:]): * platform/graphics/gpu/GPUBuffer.cpp: (WebCore::GPUBuffer::~GPUBuffer): * platform/graphics/gpu/GPUBuffer.h: * platform/graphics/gpu/GPUCommandBuffer.cpp: (WebCore::GPUCommandBuffer::~GPUCommandBuffer): * platform/graphics/gpu/GPUCommandBuffer.h: * platform/graphics/gpu/GPUCommandQueue.cpp: (WebCore::GPUCommandQueue::~GPUCommandQueue): * platform/graphics/gpu/GPUCommandQueue.h: * platform/graphics/gpu/GPUComputeCommandEncoder.cpp: (WebCore::GPUComputeCommandEncoder::~GPUComputeCommandEncoder): * platform/graphics/gpu/GPUComputeCommandEncoder.h: * platform/graphics/gpu/GPUComputePipelineState.cpp: (WebCore::GPUComputePipelineState::~GPUComputePipelineState): * platform/graphics/gpu/GPUComputePipelineState.h: * platform/graphics/gpu/GPUDepthStencilDescriptor.cpp: (WebCore::GPUDepthStencilDescriptor::~GPUDepthStencilDescriptor): * platform/graphics/gpu/GPUDepthStencilDescriptor.h: * platform/graphics/gpu/GPUDepthStencilState.cpp: (WebCore::GPUDepthStencilState::~GPUDepthStencilState): * platform/graphics/gpu/GPUDepthStencilState.h: * platform/graphics/gpu/GPUDevice.cpp: (WebCore::GPUDevice::~GPUDevice): * platform/graphics/gpu/GPUDevice.h: (WebCore::GPUDevice::layer const): * platform/graphics/gpu/GPUDrawable.cpp: (WebCore::GPUDrawable::~GPUDrawable): * platform/graphics/gpu/GPUDrawable.h: * platform/graphics/gpu/GPUEnums.h: * platform/graphics/gpu/GPUFunction.cpp: (WebCore::GPUFunction::~GPUFunction): * platform/graphics/gpu/GPUFunction.h: * platform/graphics/gpu/GPULibrary.cpp: (WebCore::GPULibrary::~GPULibrary): * platform/graphics/gpu/GPULibrary.h: * platform/graphics/gpu/GPURenderCommandEncoder.cpp: (WebCore::GPURenderCommandEncoder::~GPURenderCommandEncoder): * platform/graphics/gpu/GPURenderCommandEncoder.h: * platform/graphics/gpu/GPURenderPassAttachmentDescriptor.cpp: (WebCore::GPURenderPassAttachmentDescriptor::~GPURenderPassAttachmentDescriptor): * platform/graphics/gpu/GPURenderPassAttachmentDescriptor.h: * platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.cpp: (WebCore::GPURenderPassColorAttachmentDescriptor::~GPURenderPassColorAttachmentDescriptor): * platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.h: * platform/graphics/gpu/GPURenderPassDepthAttachmentDescriptor.cpp: (WebCore::GPURenderPassDepthAttachmentDescriptor::~GPURenderPassDepthAttachmentDescriptor): * platform/graphics/gpu/GPURenderPassDepthAttachmentDescriptor.h: * platform/graphics/gpu/GPURenderPassDescriptor.cpp: (WebCore::GPURenderPassDescriptor::~GPURenderPassDescriptor): * platform/graphics/gpu/GPURenderPassDescriptor.h: * platform/graphics/gpu/GPURenderPipelineColorAttachmentDescriptor.cpp: (WebCore::GPURenderPipelineColorAttachmentDescriptor::~GPURenderPipelineColorAttachmentDescriptor): * platform/graphics/gpu/GPURenderPipelineColorAttachmentDescriptor.h: * platform/graphics/gpu/GPURenderPipelineDescriptor.cpp: (WebCore::GPURenderPipelineDescriptor::~GPURenderPipelineDescriptor): * platform/graphics/gpu/GPURenderPipelineDescriptor.h: * platform/graphics/gpu/GPURenderPipelineState.cpp: (WebCore::GPURenderPipelineState::~GPURenderPipelineState): * platform/graphics/gpu/GPURenderPipelineState.h: * platform/graphics/gpu/GPUSize.h: * platform/graphics/gpu/GPUTexture.cpp: (WebCore::GPUTexture::~GPUTexture): * platform/graphics/gpu/GPUTexture.h: * platform/graphics/gpu/GPUTextureDescriptor.cpp: (WebCore::GPUTextureDescriptor::~GPUTextureDescriptor): * platform/graphics/gpu/GPUTextureDescriptor.h: * platform/graphics/metal/GPUBufferMetal.mm: (WebCore::GPUBuffer::GPUBuffer): * platform/graphics/metal/GPUCommandBufferMetal.mm: * platform/graphics/metal/GPUCommandQueueMetal.mm: * platform/graphics/metal/GPUComputeCommandEncoderMetal.mm: * platform/graphics/metal/GPUComputePipelineStateMetal.mm: (WebCore::GPUComputePipelineState::GPUComputePipelineState): * platform/graphics/metal/GPUDepthStencilDescriptorMetal.mm: * platform/graphics/metal/GPUDepthStencilStateMetal.mm: (WebCore::GPUDepthStencilState::setLabel const): * platform/graphics/metal/GPUDeviceMetal.mm: (WebCore::GPUDevice::reshape const): * platform/graphics/metal/GPUDrawableMetal.mm: (WebCore::GPUDrawable::release): * platform/graphics/metal/GPUFunctionMetal.mm: * platform/graphics/metal/GPULibraryMetal.mm: (WebCore::GPULibrary::GPULibrary): * platform/graphics/metal/GPURenderCommandEncoderMetal.mm: (WebCore::GPURenderCommandEncoder::GPURenderCommandEncoder): * platform/graphics/metal/GPURenderPassAttachmentDescriptorMetal.mm: * platform/graphics/metal/GPURenderPassColorAttachmentDescriptorMetal.mm: * platform/graphics/metal/GPURenderPassDepthAttachmentDescriptorMetal.mm: * platform/graphics/metal/GPURenderPassDescriptorMetal.mm: * platform/graphics/metal/GPURenderPipelineColorAttachmentDescriptorMetal.mm: * platform/graphics/metal/GPURenderPipelineDescriptorMetal.mm: * platform/graphics/metal/GPURenderPipelineStateMetal.mm: (WebCore::GPURenderPipelineState::setLabel const): * platform/graphics/metal/GPUTextureDescriptorMetal.mm: * platform/graphics/metal/GPUTextureMetal.mm: (WebCore::GPUTexture::GPUTexture): * testing/InternalSettings.cpp: (WebCore::InternalSettings::Backup::Backup): (WebCore::InternalSettings::Backup::restoreTo): (WebCore::InternalSettings::setWebMetalEnabled): (WebCore::InternalSettings::setWebGPUEnabled): Deleted. * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebCore/PAL: <rdar://problem/44990443> Reviewed by Dean Jackson. Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface. * Configurations/FeatureDefines.xcconfig: Source/WebInspectorUI: <rdar://problem/44990443> Reviewed by Dean Jackson. Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface. For WebInspector, add WebMetal to valid enums for canvas types. * UserInterface/Models/Canvas.js: (WI.Canvas.fromPayload): (WI.Canvas.displayNameForContextType): Source/WebKit: <rdar://problem/44990443> Reviewed by Dean Jackson. Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface. * Configurations/FeatureDefines.xcconfig: * Shared/WebPreferences.yaml: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Source/WebKitLegacy/mac: <rdar://problem/44990443> Reviewed by Dean Jackson. Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface. * Configurations/FeatureDefines.xcconfig: * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences webMetalEnabled]): (-[WebPreferences setWebMetalEnabled:]): (-[WebPreferences webGPUEnabled]): Deleted. (-[WebPreferences setWebGPUEnabled:]): Deleted. * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Tools: <rdar://problem/44990443> Reviewed by Dean Jackson. Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm: * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: * TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm: * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm: * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebMetalEnabled): (WTR::TestRunner::setWebGPUEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: Websites/webkit.org: <rdar://problem/44990443> Reviewed by Dean Jackson. Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface. * demos/webgpu/shared.js: Removed. * demos/webmetal/2d.html: Renamed from Websites/webkit.org/demos/webgpu/2d.html. * demos/webmetal/2d.jpg: Renamed from Websites/webkit.org/demos/webgpu/2d.jpg. * demos/webmetal/2d.js: Renamed from Websites/webkit.org/demos/webgpu/2d.js. (init): * demos/webmetal/circle.svg: Renamed from Websites/webkit.org/demos/webgpu/circle.svg. * demos/webmetal/cubes.html: Renamed from Websites/webkit.org/demos/webgpu/cubes.html. * demos/webmetal/cubes.jpg: Renamed from Websites/webkit.org/demos/webgpu/cubes.jpg. * demos/webmetal/cubes.js: Renamed from Websites/webkit.org/demos/webgpu/cubes.js. (init): * demos/webmetal/gl-matrix-min.js: Renamed from Websites/webkit.org/demos/webgpu/gl-matrix-min.js. * demos/webmetal/hello.html: Renamed from Websites/webkit.org/demos/webgpu/hello.html. * demos/webmetal/hello.jpg: Renamed from Websites/webkit.org/demos/webgpu/hello.jpg. * demos/webmetal/hello.js: Renamed from Websites/webkit.org/demos/webgpu/hello.js. (init): * demos/webmetal/index.html: Renamed from Websites/webkit.org/demos/webgpu/index.html. * demos/webmetal/shared.css: Renamed from Websites/webkit.org/demos/webgpu/shared.css. * demos/webmetal/shared.js: Added. (const.hasWebMetal): (const.checkForWebMetal): * demos/webmetal/simple.html: Renamed from Websites/webkit.org/demos/webgpu/simple.html. * demos/webmetal/simple.jpg: Renamed from Websites/webkit.org/demos/webgpu/simple.jpg. * demos/webmetal/simple.js: Renamed from Websites/webkit.org/demos/webgpu/simple.js. (init): * experimental-features.html: LayoutTests: <rdar://problem/44990443> Reviewed by Dean Jackson. Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface. * fast/canvas/webgpu/webgpu-runtime-flag-expected.txt: Removed. * fast/canvas/webmetal/webmetal-dispatch-expected.txt: Renamed from LayoutTests/fast/canvas/webgpu/webgpu-dispatch-expected.txt. * fast/canvas/webmetal/webmetal-dispatch.html: Renamed from LayoutTests/fast/canvas/webgpu/webgpu-dispatch.html. * fast/canvas/webmetal/webmetal-runtime-flag-expected.txt: Added. * fast/canvas/webmetal/webmetal-runtime-flag.html: Renamed from LayoutTests/fast/canvas/webgpu/webgpu-runtime-flag.html. * inspector/canvas/create-context-webmetal-expected.txt: Renamed from LayoutTests/inspector/canvas/create-context-webgpu-expected.txt. * inspector/canvas/create-context-webmetal.html: Renamed from LayoutTests/inspector/canvas/create-context-webgpu.html. * inspector/canvas/resolveCanvasContext-webgpu-expected.txt: Removed. * inspector/canvas/resolveCanvasContext-webmetal-expected.txt: Added. * inspector/canvas/resolveCanvasContext-webmetal.html: Renamed from LayoutTests/inspector/canvas/resolveCanvasContext-webgpu.html. * platform/gtk/TestExpectations: * platform/ios/TestExpectations: * platform/mac/TestExpectations: * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/205337@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-09 01:37:30 +00:00
2018-10-08 Justin Fan <justin_fan@apple.com>
WebGPU: Rename old WebGPU prototype to WebMetal
https://bugs.webkit.org/show_bug.cgi?id=190325
Reviewed by Dean Jackson.
* Source/cmake/WebKitFeatures.cmake:
2018-10-02 Philippe Normand <pnormand@igalia.com>
[GStreamer][MSE] Ubuntu LTS build broken since r236409
https://bugs.webkit.org/show_bug.cgi?id=190036
Reviewed by Michael Catanzaro.
Interrupt the build if MSE is enabled but no supported (1.14)
GStreamer version was found.
* Source/cmake/GStreamerChecks.cmake:
2018-10-01 Caio Lima <ticaiolima@gmail.com>
'HAVE_PTHREAD_MAIN_NP' macro redefined warning when building --jsc-only on macOS
https://bugs.webkit.org/show_bug.cgi?id=190118
Reviewed by Yusuke Suzuki.
We define HAVE_PTHREAD_MAIN_NP in WTF/wtf/Platform.h when the OS is
Darwin. In such case, we don't need to check symbols for
pthread_main_np when generating build for this system.
* Source/cmake/OptionsCommon.cmake:
2018-09-28 Mike Gorse <mgorse@alum.wpi.edu>
cmake cannot run if python 2 isn't available
https://bugs.webkit.org/show_bug.cgi?id=190075
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitCommon.cmake: Set Python_ADDITIONAL_VERSIONS
to 3, so that a python3 binary will be found.
[WTF] Make isMainThread more reliable https://bugs.webkit.org/show_bug.cgi?id=189880 Reviewed by Mark Lam. .: * Source/cmake/OptionsCommon.cmake: Source/WTF: isMainThread() relied on Thread::current(). This API becomes broken in Windows when the Thread is about to be destroyed since TLS is already cleared. This causes a bug since `isMainThread()` is called in Thread::didExit in Windows. This patch makes this `isMainThread` more reliable in all the platforms. In Windows, we use `Thread::currentID()` instead of `Thread::current()` since `Thread::currentID` uses Win32 GetCurrentThreadId directly. In the other system, we use `pthread_main_np` or `pthread_self` instead. We also move `holdLock` code inside `if (shouldRemoveThreadFromThreadGroup())`. If the other thread takes a mutex and destroyed, this `holdLock` waits forever. This problem only happens in Windows since Windows calls TLS destructor for the main thread. * WTF.xcodeproj/project.pbxproj: * wtf/MainThread.cpp: (WTF::initializeMainThread): (): Deleted. (WTF::isMainThread): Deleted. (WTF::isMainThreadIfInitialized): Deleted. * wtf/Platform.h: * wtf/PlatformMac.cmake: * wtf/Threading.cpp: (WTF::Thread::didExit): * wtf/cocoa/MainThreadCocoa.mm: Renamed from Source/WTF/wtf/mac/MainThreadMac.mm. * wtf/generic/MainThreadGeneric.cpp: (WTF::initializeMainThreadPlatform): (WTF::isMainThread): (WTF::isMainThreadIfInitialized): * wtf/win/MainThreadWin.cpp: (WTF::initializeMainThreadPlatform): (WTF::isMainThread): (WTF::isMainThreadIfInitialized): Canonical link: https://commits.webkit.org/205047@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-09-28 22:32:34 +00:00
2018-09-28 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[WTF] Make isMainThread more reliable
https://bugs.webkit.org/show_bug.cgi?id=189880
Reviewed by Mark Lam.
* Source/cmake/OptionsCommon.cmake:
[JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration https://bugs.webkit.org/show_bug.cgi?id=189778 Reviewed by Keith Miller. .: ENABLE_SAMPLING_PROFILER does not depend on ENABLE_JIT now since it can be used with LLInt ASM interpreter. * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: LLInt ASM interpreter is 2x and 15% faster than CLoop interpreter on Linux and macOS respectively. We would like to enable it for non JIT configurations in X86_64 and ARM64. This patch enables LLInt for non JIT builds in X86_64 and ARM64 architectures. Previously, we switch LLInt ASM interpreter and CLoop by using ENABLE(JIT) configuration. But it is wrong in the new scenario since we have a build configuration that uses LLInt ASM interpreter and JIT is disabled. We introduce ENABLE(C_LOOP) option, which represents that we use CLoop. And we replace ENABLE(JIT) with ENABLE(C_LOOP) if the previous ENABLE(JIT) is essentially just related to LLInt ASM interpreter and not related to JIT. We also replace some ENABLE(JIT) configurations with ENABLE(ASSEMBLER). ENABLE(ASSEMBLER) is now enabled even if we disable JIT since MacroAssembler has machine register information that is used in LLInt ASM interpreter. * API/tests/PingPongStackOverflowTest.cpp: (testPingPongStackOverflow): * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/MaxFrameExtentForSlowPathCall.h: * bytecode/CallReturnOffsetToBytecodeOffset.h: Removed. It is no longer used. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * bytecode/CodeBlock.h: (JSC::CodeBlock::calleeSaveRegisters const): (JSC::CodeBlock::numberOfLLIntBaselineCalleeSaveRegisters): (JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters): (JSC::CodeBlock::calleeSaveSpaceAsVirtualRegisters): * bytecode/Opcode.h: (JSC::padOpcodeName): * heap/Heap.cpp: (JSC::Heap::gatherJSStackRoots): (JSC::Heap::stopThePeriphery): * interpreter/CLoopStack.cpp: * interpreter/CLoopStack.h: * interpreter/CLoopStackInlines.h: * interpreter/EntryFrame.h: * interpreter/Interpreter.cpp: (JSC::Interpreter::Interpreter): (JSC::UnwindFunctor::copyCalleeSavesToEntryFrameCalleeSavesBuffer const): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::calleeSaveRegisters): * interpreter/VMEntryRecord.h: * jit/ExecutableAllocator.h: * jit/FPRInfo.h: (WTF::printInternal): * jit/GPRInfo.cpp: * jit/GPRInfo.h: (WTF::printInternal): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): Moved. They are used in LLInt ASM interpreter too. * jit/HostCallReturnValue.h: * jit/JITOperations.cpp: (JSC::getHostCallReturnValueWithExecState): Deleted. * jit/JITOperationsMSVC64.cpp: * jit/Reg.cpp: * jit/Reg.h: * jit/RegisterAtOffset.cpp: * jit/RegisterAtOffset.h: * jit/RegisterAtOffsetList.cpp: * jit/RegisterAtOffsetList.h: * jit/RegisterMap.h: * jit/RegisterSet.cpp: * jit/RegisterSet.h: * jit/TempRegisterSet.cpp: * jit/TempRegisterSet.h: * llint/LLIntCLoop.cpp: * llint/LLIntCLoop.h: * llint/LLIntData.cpp: (JSC::LLInt::initialize): (JSC::LLInt::Data::performAssertions): * llint/LLIntData.h: * llint/LLIntOfflineAsmConfig.h: * llint/LLIntOpcode.h: * llint/LLIntPCRanges.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LLIntSlowPaths.h: * llint/LLIntThunks.cpp: * llint/LowLevelInterpreter.cpp: * llint/LowLevelInterpreter.h: * runtime/JSCJSValue.h: * runtime/MachineContext.h: * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::processUnverifiedStackTraces): Enable SamplingProfiler for LLInt ASM interpreter with non JIT configuration. * runtime/TestRunnerUtils.cpp: (JSC::optimizeNextInvocation): * runtime/VM.cpp: (JSC::VM::VM): (JSC::VM::getHostFunction): (JSC::VM::updateSoftReservedZoneSize): (JSC::sanitizeStackForVM): (JSC::VM::committedStackByteCount): * runtime/VM.h: * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): (JSC::VM::isSafeToRecurseSoft const): Source/WTF: This patch adds ENABLE(C_LOOP) which indicates we use CLoop as the interpreter. Previously, we used !ENABLE(JIT) for this configuration. But now, we have a build configuration that has LLInt ASM interpreter (not CLoop) and !ENABLE(JIT). We enable LLInt ASM interpreter for non JIT environment in X86_64 and ARM64 architectures. And we enable ENABLE(ASSEMBLER) for non JIT environment since it offers machine register information which is used for LLInt and SamplingProfiler. * wtf/Platform.h: Canonical link: https://commits.webkit.org/204834@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-09-22 05:26:44 +00:00
2018-09-21 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration
https://bugs.webkit.org/show_bug.cgi?id=189778
Reviewed by Keith Miller.
ENABLE_SAMPLING_PROFILER does not depend on ENABLE_JIT now since it can be
used with LLInt ASM interpreter.
* Source/cmake/WebKitFeatures.cmake:
Build tools should work when the /usr/bin/python is python3 https://bugs.webkit.org/show_bug.cgi?id=156674 Patch by Mike Gorse <mgorse@suse.com> on 2018-09-21 Reviewed by Michael Catanzaro. .: * Source/cmake/WebKitCommon.cmake: Allow python 3. Source/JavaScriptCore: * Scripts/cssmin.py: * Scripts/generate-js-builtins.py: (do_open): (generate_bindings_for_builtins_files): * Scripts/generateIntlCanonicalizeLanguage.py: * Scripts/jsmin.py: (JavascriptMinify.minify.write): (JavascriptMinify): (JavascriptMinify.minify): * Scripts/make-js-file-arrays.py: (chunk): (main): * Scripts/wkbuiltins/__init__.py: * Scripts/wkbuiltins/builtins_generate_combined_header.py: (generate_section_for_global_private_code_name_macro): * Scripts/wkbuiltins/builtins_generate_internals_wrapper_header.py: (BuiltinsInternalsWrapperHeaderGenerator.__init__): * Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py: (BuiltinsInternalsWrapperImplementationGenerator.__init__): * Scripts/wkbuiltins/builtins_model.py: (BuiltinFunction.__lt__): (BuiltinsCollection.copyrights): (BuiltinsCollection._parse_functions): * disassembler/udis86/ud_opcode.py: (UdOpcodeTables.pprint.printWalk): * generate-bytecode-files: * inspector/scripts/codegen/__init__.py: * inspector/scripts/codegen/cpp_generator.py: * inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py: (CppAlternateBackendDispatcherHeaderGenerator.generate_output): * inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py: (CppBackendDispatcherHeaderGenerator.domains_to_generate): (CppBackendDispatcherHeaderGenerator.generate_output): (CppBackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain): * inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py: (CppBackendDispatcherImplementationGenerator.domains_to_generate): (CppBackendDispatcherImplementationGenerator.generate_output): * inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py: (CppFrontendDispatcherHeaderGenerator.domains_to_generate): (CppFrontendDispatcherHeaderGenerator.generate_output): * inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py: (CppFrontendDispatcherImplementationGenerator.domains_to_generate): (CppFrontendDispatcherImplementationGenerator.generate_output): * inspector/scripts/codegen/generate_cpp_protocol_types_header.py: (CppProtocolTypesHeaderGenerator.generate_output): (CppProtocolTypesHeaderGenerator._generate_forward_declarations): * inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py: (CppProtocolTypesImplementationGenerator.generate_output): (CppProtocolTypesImplementationGenerator._generate_enum_conversion_methods_for_domain): (CppProtocolTypesImplementationGenerator._generate_enum_mapping_and_conversion_methods): (CppProtocolTypesImplementationGenerator._generate_open_field_names): (CppProtocolTypesImplementationGenerator._generate_builders_for_domain): (CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration): * inspector/scripts/codegen/generate_js_backend_commands.py: (JSBackendCommandsGenerator.should_generate_domain): (JSBackendCommandsGenerator.domains_to_generate): (JSBackendCommandsGenerator.generate_output): (JSBackendCommandsGenerator.generate_domain): * inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py: (ObjCBackendDispatcherHeaderGenerator.domains_to_generate): (ObjCBackendDispatcherHeaderGenerator.generate_output): * inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py: (ObjCBackendDispatcherImplementationGenerator.domains_to_generate): (ObjCBackendDispatcherImplementationGenerator.generate_output): (ObjCBackendDispatcherImplementationGenerator._generate_success_block_for_command): * inspector/scripts/codegen/generate_objc_configuration_header.py: * inspector/scripts/codegen/generate_objc_configuration_implementation.py: * inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py: (ObjCFrontendDispatcherImplementationGenerator.domains_to_generate): (ObjCFrontendDispatcherImplementationGenerator.generate_output): (ObjCFrontendDispatcherImplementationGenerator._generate_event): * inspector/scripts/codegen/generate_objc_header.py: (ObjCHeaderGenerator.generate_output): (ObjCHeaderGenerator._generate_type_interface): * inspector/scripts/codegen/generate_objc_internal_header.py: (ObjCInternalHeaderGenerator.generate_output): * inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py: (ObjCProtocolTypeConversionsHeaderGenerator.domains_to_generate): (ObjCProtocolTypeConversionsHeaderGenerator.generate_output): * inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py: (ObjCProtocolTypeConversionsImplementationGenerator.domains_to_generate): * inspector/scripts/codegen/generate_objc_protocol_types_implementation.py: (ObjCProtocolTypesImplementationGenerator.domains_to_generate): (ObjCProtocolTypesImplementationGenerator.generate_output): (ObjCProtocolTypesImplementationGenerator.generate_type_implementation): (ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members): * inspector/scripts/codegen/generator.py: (Generator.non_supplemental_domains): (Generator.open_fields): (Generator.calculate_types_requiring_shape_assertions): (Generator._traverse_and_assign_enum_values): (Generator.stylized_name_for_enum_value): * inspector/scripts/codegen/models.py: (find_duplicates): * inspector/scripts/codegen/objc_generator.py: * wasm/generateWasm.py: (opcodeIterator): * yarr/generateYarrCanonicalizeUnicode: * yarr/generateYarrUnicodePropertyTables.py: * yarr/hasher.py: (stringHash): Source/WebCore: No new tests (no behavior change). * platform/network/create-http-header-name-table: remove xreadlines. Source/WebInspectorUI: * Scripts/copy-user-interface-resources.pl: Use $PYTHON if set in the environment. Canonical link: https://commits.webkit.org/204790@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-09-21 16:20:05 +00:00
2018-09-21 Mike Gorse <mgorse@suse.com>
Build tools should work when the /usr/bin/python is python3
https://bugs.webkit.org/show_bug.cgi?id=156674
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitCommon.cmake: Allow python 3.
2018-09-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update GTK+ library versions after r235362.
Project version number was updated without bumping the library versions too.
* Source/cmake/OptionsGTK.cmake:
2018-09-12 Dan Bernstein <mitz@apple.com>
Updated svn:ignore after r235381.
* .: Added LocalOverrides.xcconfig to svn:ignore.
2018-09-12 Dan Bernstein <mitz@apple.com>
Removed a couple of empty directories left behind after r235892.
* WPEWebCore: Removed.
* downstream-WebCore: Removed.
2018-09-10 Tim Horton <timothy_horton@apple.com>
Make it easier to build for SDK_VARIANT=iosmac
https://bugs.webkit.org/show_bug.cgi?id=189488
<rdar://problem/38254840>
Reviewed by Wenson Hsieh.
* Makefile:
* Makefile.shared:
* Source/Makefile:
Set a variety of build flags (disable libwebrtc, tools, and set
SDK_VARIANT and WK_ALTERNATE_FRAMEWORKS_DIR).
[CMake] Replace AVFoundationSupport.py using CMake https://bugs.webkit.org/show_bug.cgi?id=182891 Reviewed by Per Arne Vollan. .: Adds CMake checks for AVFoundation support replacing the functionality of AVFoundationSupport.py. CMake is used to detect the symbols expected with the HAVE_* checks for AVFoundation support. This involves creating source files that will be built which verifies the presence of symbols. For Apple frameworks it is customary to include the main framework file which includes the other associated headers. The check for HAVE_AVCFPLAYERITEM_CALLBACK_VERSION_2 involves looking for an enumeration which a symbol check cannot detect. Instead a small program is used which will compile and link when the version 2 enumeration is present. * Source/cmake/OptionsAppleWin.cmake: * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitCommon.cmake: * Source/cmake/WebKitFeatures.cmake: Source/WebCore: No new tests. No change in behavior. Remove refernces to PAL derived sources. * PlatformWin.cmake: * config.h: Source/WebCore/PAL: Remove AVFoundationSupport.py file and its invocation. * AVFoundationSupport.py: Removed. * config.h: * pal/PlatformWin.cmake: Source/WebKitLegacy/win: Remove references to the config.h contained in WebCore as it should not be accessible from outside of WebCore. * WebKitPrefix.h: Source/WTF: Rely on CMake values for the added HAVE_* checks. * wtf/Platform.h: Canonical link: https://commits.webkit.org/204180@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-08-30 23:28:10 +00:00
2018-08-30 Don Olmstead <don.olmstead@sony.com>
[CMake] Replace AVFoundationSupport.py using CMake
https://bugs.webkit.org/show_bug.cgi?id=182891
Reviewed by Per Arne Vollan.
Adds CMake checks for AVFoundation support replacing the functionality
of AVFoundationSupport.py.
CMake is used to detect the symbols expected with the HAVE_* checks for
AVFoundation support. This involves creating source files that will be
built which verifies the presence of symbols. For Apple frameworks it
is customary to include the main framework file which includes the
other associated headers.
The check for HAVE_AVCFPLAYERITEM_CALLBACK_VERSION_2 involves looking
for an enumeration which a symbol check cannot detect. Instead a small
program is used which will compile and link when the version 2
enumeration is present.
* Source/cmake/OptionsAppleWin.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitCommon.cmake:
* Source/cmake/WebKitFeatures.cmake:
2018-08-28 Don Olmstead <don.olmstead@sony.com>
[CMake] Use CMake's FindFreetype
https://bugs.webkit.org/show_bug.cgi?id=189071
Reviewed by Michael Catanzaro.
Use the builtin CMake functionality for finding Freetype.
* Source/cmake/FindFreetype2.cmake: Removed.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER https://bugs.webkit.org/show_bug.cgi?id=188931 Reviewed by Wenson Hsieh. .: * Source/cmake/OptionsMac.cmake: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. * Source/cmake/WebKitFeatures.cmake: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. PerformanceTests: * StitchMarker/wtf/FeatureDefines.h: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. Source/WebCore: * Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. Source/WebKit: A popover is the preferred interface for <input type=color> on macOS. The color panel is still accessible through a button on the popover, for fine-grained color selection. We can consolidate the two build flags, so that a popover is always displayed in the ENABLE(INPUT_TYPE_COLOR) build. * Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::showColorPicker): (WebKit::WebPageProxy::closeOverlayedViews): * UIProcess/mac/WebColorPickerMac.mm: (WebKit::WebColorPickerMac::WebColorPickerMac): (WebKit::WebColorPickerMac::showColorPicker): Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. Source/WTF: * wtf/FeatureDefines.h: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER. Canonical link: https://commits.webkit.org/204057@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-08-27 21:48:13 +00:00
2018-08-27 Aditya Keerthi <akeerthi@apple.com>
Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
https://bugs.webkit.org/show_bug.cgi?id=188931
Reviewed by Wenson Hsieh.
* Source/cmake/OptionsMac.cmake: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
* Source/cmake/WebKitFeatures.cmake: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
Build system support for LTO https://bugs.webkit.org/show_bug.cgi?id=187785 <rdar://problem/42353132> Reviewed by Dan Bernstein. .: Add support for building WebKit with LTO (Link Time Optimization) on macOS and iOS. Both variations are supported: "full" (which performs all the optimizations it can regardless of the cost) and "thin" (which sacrifices some optimizations in order to recover build time and memory usage). By default, LTO is disabled for Debug and Release builds, but is enabled for Production builds. For Debug and Release builds, LTO is controlled as follows: - When using `make` from the command line, include WK_LTO_MODE={none,thin,full}. For example, `make WK_LTO_MODE=full release`. As when specifying debug/release, the LTO configuration information is written to the WebKitBuild directory and is used as the default on the next build if a new setting is not specified. - When using `build-webkit`, include --lto-mode={none,thin,full} on the command line. For example, `build-webkit --lto-mode=full ...`. - When using Xcode, create a configuration file called LocalOverrides.xcconfig at the root level of your WebKit checkout directory. Include within it a line that says: WK_LTO_MODE={none,thin,full} For example: WK_LTO_MODE=full Note that LocalOverrides.xcconfig is included in the .gitignore file, so you won't accidentally check your changes into source control. Enabling LTO can greatly increase build times, especially when using "full" LTO with 32GB or RAM or less. Following is a table of full build times for a Release build on a fully decked-out 2017 iMac Pro: LTO macOS iOS ----- ------- ------- None: 9m 11s 14m 11s Thin: 11m 44s 17m 30s Full: 21m 39s 28m 56s Incremental times are affected even more greatly. The actual optimization and compilation of LLVM bitcode is moved to the link phase, meaning that the link phase, which previously took only seconds, can now take many minutes. It's for this reason that LTO is not enabled in Debug and Release builds, since incremental builds are an integral part of those configurations. However, using the mechanisms described above, developers can perform optional LTO builds if needed to track down build or runtime issues in that configuration. * .gitignore: Include LocalOverrides.xcconfig. * Makefile.shared: Add support for WK_LTO_MODE on the command line. Source/bmalloc: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Source/JavaScriptCore: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Source/ThirdParty/ANGLE: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Source/ThirdParty/libwebrtc: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Source/WebCore: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. No new tests -- no new WebKit functionality. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Source/WebCore/PAL: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Source/WebInspectorUI: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Source/WebKit: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Source/WebKitLegacy/mac: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Source/WTF: Update Base.xcconfig and DebugRelease.xcconfig to optionally enable LTO. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: Tools: Add tools/scripts support for controlling LTO builds. * Scripts/build-webkit: Add --lto-mode={none,thin,full}. * Scripts/set-webkit-configuration: Add support for saving LTO configuration to WebKitBuild/LTO. * Scripts/webkitdirs.pm: Add support for reading configuration from WebKitBuild/LTO and providing it to xcodebuild. (determineLTOMode): (ltoMode): (XcodeOptions): Canonical link: https://commits.webkit.org/204040@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-08-27 17:16:17 +00:00
2018-08-27 Keith Rollin <krollin@apple.com>
Build system support for LTO
https://bugs.webkit.org/show_bug.cgi?id=187785
<rdar://problem/42353132>
Reviewed by Dan Bernstein.
Add support for building WebKit with LTO (Link Time Optimization) on
macOS and iOS. Both variations are supported: "full" (which performs
all the optimizations it can regardless of the cost) and "thin" (which
sacrifices some optimizations in order to recover build time and
memory usage).
By default, LTO is disabled for Debug and Release builds, but is
enabled for Production builds. For Debug and Release builds, LTO is
controlled as follows:
- When using `make` from the command line, include
WK_LTO_MODE={none,thin,full}. For example, `make WK_LTO_MODE=full
release`. As when specifying debug/release, the LTO configuration
information is written to the WebKitBuild directory and is used as
the default on the next build if a new setting is not specified.
- When using `build-webkit`, include --lto-mode={none,thin,full} on
the command line. For example, `build-webkit --lto-mode=full ...`.
- When using Xcode, create a configuration file called
LocalOverrides.xcconfig at the root level of your WebKit checkout
directory. Include within it a line that says:
WK_LTO_MODE={none,thin,full}
For example:
WK_LTO_MODE=full
Note that LocalOverrides.xcconfig is included in the .gitignore file,
so you won't accidentally check your changes into source control.
Enabling LTO can greatly increase build times, especially when using
"full" LTO with 32GB or RAM or less. Following is a table of full
build times for a Release build on a fully decked-out 2017 iMac Pro:
LTO macOS iOS
----- ------- -------
None: 9m 11s 14m 11s
Thin: 11m 44s 17m 30s
Full: 21m 39s 28m 56s
Incremental times are affected even more greatly. The actual
optimization and compilation of LLVM bitcode is moved to the link
phase, meaning that the link phase, which previously took only
seconds, can now take many minutes. It's for this reason that LTO is
not enabled in Debug and Release builds, since incremental builds are
an integral part of those configurations. However, using the
mechanisms described above, developers can perform optional LTO builds
if needed to track down build or runtime issues in that configuration.
* .gitignore: Include LocalOverrides.xcconfig.
* Makefile.shared: Add support for WK_LTO_MODE on the command line.
2018-08-27 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, bump WPE/GTK version numbers
We have a pkg-config dependency on 2.21.92 but trunk is stuck on 2.21.5. So bump the version
number to 2.23.0. It seems like a good version number to use until the next real release
(2.23.1).
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2018-08-26 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Remove stale comment from WebKitFeatures.cmake
https://bugs.webkit.org/show_bug.cgi?id=188918
Reviewed by Fujii Hironori.
This comment at the top of WebKitFeatures.cmake is no longer accurate because feature defaults are no longer defined in FeatureList.pm (thank goodness!)
* Source/cmake/WebKitFeatures.cmake:
2018-08-23 Don Olmstead <don.olmstead@sony.com>
[CMake] Have checks are not getting set inside CMake properly
https://bugs.webkit.org/show_bug.cgi?id=188901
Reviewed by Michael Catanzaro.
Make sure the variable's value is sent to SET_AND_EXPOSE_TO_BUILD
within the WEBKIT_CHECK_HAVE_* macros.
* Source/cmake/WebKitFeatures.cmake:
2018-08-23 Don Olmstead <don.olmstead@sony.com>
[CMake] Add HAVE_MALLOC_TRIM definition
https://bugs.webkit.org/show_bug.cgi?id=188897
Reviewed by Konstantin Tokarev.
Add CMake check for malloc_trim.
* Source/cmake/OptionsCommon.cmake:
2018-08-22 Ross Kirsling <ross.kirsling@sony.com>
[MSVC] Stop disabling /O2 features.
https://bugs.webkit.org/show_bug.cgi?id=188811
Reviewed by Per Arne Vollan.
* Source/cmake/OptionsMSVC.cmake:
Don't disable /GF (string pooling) or /Gy (function-level linking).
2018-08-22 Alberto Garcia <berto@igalia.com>
Don't use WTF_CPU_MIPS when building for mips64
https://bugs.webkit.org/show_bug.cgi?id=188858
Reviewed by Michael Catanzaro.
* CMakeLists.txt: Use WTF_CPU_MIPS64 for this architecture.
[CoordGraphics] Switch to Nicosia::CompositionLayer state tracking https://bugs.webkit.org/show_bug.cgi?id=188693 Reviewed by Carlos Garcia Campos. .: * Source/cmake/OptionsGTK.cmake: Enable USE_NICOSIA alongside USE_COORDINATED_GRAPHICS and USE_COORDINATED_GRAPHICS_THREADED. * Source/cmake/OptionsWPE.cmake: Ditto. Source/WebCore: Populate Nicosia::CompositionLayer with additional LayerState member objects. For now we're using pending, staging and committed states, though it might be possible to narrow down these to just two. Pending state contains state that will be moved to staging during the final steps of the next layer flush. flushState() method accumulates all state changes in the staging state, and also allows the caller to additionally perform flushing operations that are specific to backing store, image backing or content layer containers. commitState() method moves staging state over into the committed state, again allowing user to pass a functor that receives the just-committed state and apply it to their composition engine. Changes in state objects are done under a thread-safe lock. This might not be completely necessary at this point, but will be useful when additonal layer state updates will be coming from e.g. the scrolling thread. It might also make sense to tie in this lock use with the Nicosia::Scene lock in the future. Nicosia::ContentLayerTextureMapperImpl is modified slightly to allow determining during flushes whether an update is pending. This is necessary for a special case in ThreadedCompositor where content (i.e. platform) layers like WebGL or video require an additional level of scene update coordination. This complete special case has to go through another review to see whether it's still necessary. Ideally we would be able to remove it. CoordinatedGraphicsLayer is finally switched over to using Nicosia layer objects for state updates of any kind. This patch only adds all the necessary bits, but doesn't yet remove any of the existing code (but rather disables it temporarily, before it's removed). Updating of simple state values is already in place. For backing stores, the flushCompositingStateForThisLayerOnly() method now takes care of preparing the backing store object if necessary as per layer state, while the updateContentBuffers() method is switched to operate with TiledBackingStore objects now kept on the BackingStoreTextureMapperImpl instance associated with that backing store. Helper methods like adjustContentsScale() and createBackingStore(), only called from the updateContentBuffers() method, are removed and the code there inlined. For image-backed layers, the update is now done directly in the flushCompositingStateForThisLayerOnly() method, if necessary. The helper syncImageBacking() method is commented out in order to prevent double-painting of image buffers for now, but all this (along with the CoordinatedImageBacking logic in CompositingCoordinator) will be removed later. For layers backed by platform layer objects, integration is relatively simple. setContentsToPlatformLayer() is changed to properly handle any passed-in platform layer object, and updatePlatformLayer() invokes the swapBuffersIfNeeded() method on the ContentLayerTextureMapperImpl object during each flush, if necessary. In order to ensure any Nicosia-specific state update properly triggers a composition update, m_nicosia.performLayerUpdate is added and flipped to true during the flush in case of any state change. This then triggers a layer sync in the CompositingCoordinator object when the syncPendingStateChangesIncludingSubLayers() method is called. While no old-style layer state update is provided, it causes the necessary synchronization step that properly picks up the Nicosia-provided state changes. Once the old-style layer state tracking is removed, this method of update triggering will have to be updated as well. * platform/graphics/nicosia/NicosiaPlatformLayer.h: (Nicosia::CompositionLayer::flushState): (Nicosia::CompositionLayer::commitState): (Nicosia::CompositionLayer::accessCommitted): * platform/graphics/nicosia/NicosiaScene.h: * platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp: (Nicosia::ContentLayerTextureMapperImpl::flushUpdate): * platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h: * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer): (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay): (WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer): (WebCore::CoordinatedGraphicsLayer::updatePlatformLayer): (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly): (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers): (WebCore::CoordinatedGraphicsLayer::updateContentBuffers): (WebCore::CoordinatedGraphicsLayer::purgeBackingStores): (WebCore::CoordinatedGraphicsLayer::adjustContentsScale): Deleted. (WebCore::CoordinatedGraphicsLayer::createBackingStore): Deleted. * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: Source/WebKit: Switch CoordinatedGraphicsScene to utilizing Nicosia::CompositionLayer objects for state updates of the TextureMapper layer tree. CoordinatedGraphicsScene::paintToCurrentGLContext() now calls updateSceneState() at the beginning. This is a new method that manages all updates for a given Nicosia::Scene instance. Any removed layers have their composition-side state cleaned up, and the current set of layers is then iterated to ensure and update the corresponding TextureMapperLayer objects. Layers with any backing (painted backing store, platform-layer or image content) are temporarly stored for updating outside of mutex-controlled scene update. Performing all other state updates outside of this mutex area will be investigated at a later point. We then iterate over vectors for each layer backing, gathering any affected CoordinatedBackingStore or TextureMapperPlatformLayerProxy objects that we have to update. This drops a bunch of member variables and helper methods off the CoordinatedGraphicsScene class. The applyStateChanges() method will be further simplified in the future. coordinateUpdateCompletionWithClient logic in ThreadedCompositor should be checked to see whether it still addresses any real-life problem, because at the moment it imposes a few additional operations in terms of scene updates that we could really do without. This will be checked later and removed if possible. * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: (WebKit::CoordinatedGraphicsScene::applyStateChanges): (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext): (WebKit::compositionLayerImpl): (WebKit::contentLayerImpl): (WebKit::backingStoreImpl): (WebKit::imageBackingImpl): (WebKit::texmapLayer): (WebKit::updateBackingStore): (WebKit::updateImageBacking): (WebKit::removeLayer): (WebKit::CoordinatedGraphicsScene::commitSceneState): (WebKit::CoordinatedGraphicsScene::updateSceneState): (WebKit::CoordinatedGraphicsScene::purgeGLResources): (WebKit::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded): Deleted. (WebKit::CoordinatedGraphicsScene::setLayerChildrenIfNeeded): Deleted. (WebKit::CoordinatedGraphicsScene::setLayerFiltersIfNeeded): Deleted. (WebKit::CoordinatedGraphicsScene::setLayerState): Deleted. (WebKit::CoordinatedGraphicsScene::getLayerByIDIfExists): Deleted. (WebKit::CoordinatedGraphicsScene::createLayers): Deleted. (WebKit::CoordinatedGraphicsScene::createLayer): Deleted. (WebKit::CoordinatedGraphicsScene::deleteLayers): Deleted. (WebKit::CoordinatedGraphicsScene::deleteLayer): Deleted. (WebKit::CoordinatedGraphicsScene::setRootLayerID): Deleted. (WebKit::CoordinatedGraphicsScene::prepareContentBackingStore): Deleted. (WebKit::CoordinatedGraphicsScene::createBackingStoreIfNeeded): Deleted. (WebKit::CoordinatedGraphicsScene::removeBackingStoreIfNeeded): Deleted. (WebKit::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize): Deleted. (WebKit::CoordinatedGraphicsScene::createTilesIfNeeded): Deleted. (WebKit::CoordinatedGraphicsScene::removeTilesIfNeeded): Deleted. (WebKit::CoordinatedGraphicsScene::updateTilesIfNeeded): Deleted. (WebKit::CoordinatedGraphicsScene::syncImageBackings): Deleted. (WebKit::CoordinatedGraphicsScene::createImageBacking): Deleted. (WebKit::CoordinatedGraphicsScene::updateImageBacking): Deleted. (WebKit::CoordinatedGraphicsScene::clearImageBackingContents): Deleted. (WebKit::CoordinatedGraphicsScene::removeImageBacking): Deleted. (WebKit::CoordinatedGraphicsScene::assignImageBackingToLayer): Deleted. (WebKit::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded): Deleted. * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: (WebKit::CoordinatedGraphicsScene::layerByID): Deleted. * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: (WebKit::ThreadedCompositor::renderLayerTree): * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: (WebKit::CompositingCoordinator::flushPendingLayerChanges): Canonical link: https://commits.webkit.org/203880@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-08-22 12:14:14 +00:00
2018-08-22 Zan Dobersek <zdobersek@igalia.com>
[CoordGraphics] Switch to Nicosia::CompositionLayer state tracking
https://bugs.webkit.org/show_bug.cgi?id=188693
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake: Enable USE_NICOSIA alongside
USE_COORDINATED_GRAPHICS and USE_COORDINATED_GRAPHICS_THREADED.
* Source/cmake/OptionsWPE.cmake: Ditto.
2018-08-21 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for 2.21.91 release.
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2018-08-21 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Update to use libwpe-1.0.0 and WPEBackend-fdo-1.0.0
https://bugs.webkit.org/show_bug.cgi?id=188782
Reviewed by Michael Catanzaro.
Make the build depend on wpe-0.2, and change the Flatpak and JHBuild development
environments to use version 1.0.0 of libwpe and WPEBackend-fdo.
* Source/cmake/FindWPE.cmake: Renamed from Source/cmake/FindWPEBackend.cmake and changed
to check for libwpe-0.2.
* Source/cmake/OptionsWPE.cmake: Adapt to the rename to FindWPE.cmake.
2018-08-18 Michael Catanzaro <mcatanzaro@igalia.com>
Adjust CMAKE_MODULE_LINKER_FLAGS for asan
https://bugs.webkit.org/show_bug.cgi?id=188699
Reviewed by Konstantin Tokarev.
* Source/cmake/WebKitCompilerFlags.cmake:
2018-07-30 Thibault Saunier <tsaunier@igalia.com>
[GStreamer] Make codecparsers optionnal
https://bugs.webkit.org/show_bug.cgi?id=188010
And avoid building libWebRTC if it won't be used. While there is no other
WebRTC backend, it makes no sense to expose an option.
Error out when WEBRTC or MEDIA_STREAM is enabled but GStreamer < 1.10
Reviewed by Alejandro G. Castro.
* Source/cmake/GStreamerChecks.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
[INTL] Remove INTL sub-feature compile flags https://bugs.webkit.org/show_bug.cgi?id=188081 Patch by Andy VanWagoner <andy@vanwagoner.family> on 2018-07-26 Reviewed by Michael Catanzaro. .: * Source/cmake/OptionsJSCOnly.cmake: * Source/cmake/WebKitFeatures.cmake: PerformanceTests: Removed old and unused i18n flag. * StitchMarker/wtf/FeatureDefines.h: Source/JavaScriptCore: Removed ENABLE_INTL_NUMBER_FORMAT_TO_PARTS and ENABLE_INTL_PLURAL_RULES flags. The runtime flags are still present, and should be relied on instead. The defines for ICU features have also been updated to match HAVE() style. * Configurations/FeatureDefines.xcconfig: * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/Options.h: Source/WebCore: Compile time feature flags for INTL sub features were removed, and are covered by existing tests. * Configurations/FeatureDefines.xcconfig: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Source/WTF: Removed INTL sub-feature compile flags, and an old unused i18n flag. * wtf/FeatureDefines.h: Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/203231@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234293 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-07-27 05:06:02 +00:00
2018-07-26 Andy VanWagoner <andy@vanwagoner.family>
[INTL] Remove INTL sub-feature compile flags
https://bugs.webkit.org/show_bug.cgi?id=188081
Reviewed by Michael Catanzaro.
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/WebKitFeatures.cmake:
.: [WPE][GTK] Implement PeerConnection API on top of libwebrtc https://bugs.webkit.org/show_bug.cgi?id=186932 Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24 Reviewed by Philippe Normand. * Source/cmake/FindGStreamer.cmake: Look for gstreamer-codecparser as it needed for GStreamerVideoDecoder Source/ThirdParty/libwebrtc: [WPE][GTK] Implement PeerConnection API on top of libwebrtc https://bugs.webkit.org/show_bug.cgi?id=186932 Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24 Reviewed by Philippe Normand. * CMakeLists.txt: Properly set our build as `WEBRTC_WEBKIT_BUILD` Source/WebCore: [WPE][GTK] Implement PeerConnection API on top of libwebrtc https://bugs.webkit.org/show_bug.cgi?id=186932 Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24 Reviewed by Philippe Normand. Enabled many webrtc tests. * platform/GStreamer.cmake: Build new files * platform/graphics/gstreamer/GStreamerCommon.cpp: Fix minor style issues * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Add a way to give precise name to pipelines and give useful names to pipelines with sources comming from a PeerConnection * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto. * platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.cpp: Added. Implement a subclass of webrtc::VideoFrame to represent a kNative GStreamer video frame. * platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.h: Added. Ditto. * platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp: Handle incoming audio samples from libwebrtc. * platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.h: Ditto. * platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp: Handle incoming video frames from libwebrtc. * platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.h: Ditto. * platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp: Handle passing locally captured audio sample to libwebrtc. * platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h: Ditto. * platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp: Handle passing locally captured vidoe frames to libwebrtc. * platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp: Added. Implement a video decoder factory and LibWebRTC Video decoders based on GStreamer. * platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.h: Added. Ditto. * platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: Added. Implement a video encoder factory and LibWebRTC H264/VP8 Video encoders based on GStreamer. * platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h: Added. Ditto. * platform/mediastream/libwebrtc/LibWebRTCAudioFormat.h: Add information about signness of the LibWebRTC audio format. * platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp: Add support for newly added Encoder/Decoder factories. * platform/mediastream/libwebrtc/LibWebRTCProviderGlib.h: Ditto. Source/WebKit: [WPE][GTK] Implement WebRTC based on libwebrtc https://bugs.webkit.org/show_bug.cgi?id=186932 Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24 Reviewed by Philippe Normand. * WebProcess/Network/webrtc/LibWebRTCProvider.h: Use LibWebRTCProviderGlib when building WPE or GTK ports. LayoutTests: [WPE][GTK] Implement PeerConnection API on top of libwebrtc https://bugs.webkit.org/show_bug.cgi?id=186932 Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24 Reviewed by Philippe Normand. * platform/gtk/TestExpectations: Enable webrtc tests. Canonical link: https://commits.webkit.org/203117@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234138 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-07-24 08:24:35 +00:00
2018-07-24 Thibault Saunier <tsaunier@igalia.com>
[WPE][GTK] Implement PeerConnection API on top of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932
Reviewed by Philippe Normand.
* Source/cmake/FindGStreamer.cmake: Look for gstreamer-codecparser as it needed for GStreamerVideoDecoder
2018-07-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.21.5 release.
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2018-07-19 Stephan Szabo <stephan.szabo@sony.com>
[WinCairo] Support DEVELOPER_MODE for allowing inspection of web inspector
https://bugs.webkit.org/show_bug.cgi?id=187786
Reviewed by Fujii Hironori.
* Source/cmake/OptionsWinCairo.cmake: Add ENABLE_DEVELOPER_MODE
to build when DEVELOPER_MODE is turned on at cmake time.
2018-07-18 Michael Catanzaro <mcatanzaro@igalia.com>
Switch CMake ports back to C++ 14
https://bugs.webkit.org/show_bug.cgi?id=187744
Reviewed by Ryosuke Niwa.
The XCode build is still not using C++ 17, it's been several months since CMake ports
switched, everything builds fine without changes if we switch back, and there have been some
unfixed problems. Let's go back to C++ 14 for now. We can switch back to C++ 17 whenever we
are ready to switch over XCode at the same time, to ensure we don't wind up with divergent
behavior for std::optional.
* Source/cmake/WebKitCompilerFlags.cmake:
2018-07-16 Ryosuke Niwa <rniwa@webkit.org>
Update ReadMe.md line 68
https://bugs.webkit.org/show_bug.cgi?id=187533
Reviewed by Wenson Hsieh.
* ReadMe.md:
2018-07-02 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Use JOB_POOLS to avoid memory-hungry linker processes running at the same time
https://bugs.webkit.org/show_bug.cgi?id=187254
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitCommon.cmake: Set the maximum number of
concurrent link processes using job pools (four for release builds,
two otherwise) to avoid running out of memory during builds.
2018-07-02 Ryosuke Niwa <rniwa@webkit.org>
Repository fix after r233427 and r233443.
* jstests: Removed.
2018-06-30 Adam Barth <abarth@webkit.org>
Port JavaScriptCore to OS(FUCHSIA)
https://bugs.webkit.org/show_bug.cgi?id=187223
Reviewed by Daniel Bates.
* Source/cmake/OptionsJSCOnly.cmake: Add back ICU.
2018-06-29 Ross Kirsling <ross.kirsling@sony.com>
[JSCOnly] Restore Windows build.
https://bugs.webkit.org/show_bug.cgi?id=187127
Reviewed by Michael Catanzaro.
* Source/cmake/OptionsJSCOnly.cmake:
Don't forget to set -DUCHAR_TYPE=wchar_t for ICU on Windows.
Use bin64/lib64 on Windows (for consistency with full WebKit build).
2018-06-28 Adam Barth <abarth@webkit.org>
Switch OS(FUCHSIA) to using JSCOnly
https://bugs.webkit.org/show_bug.cgi?id=187133
Reviewed by Yusuke Suzuki.
Rather than creating a Fuchsia port, OS(FUCHSIA) now uses the JSCOnly
port.
* CMakeLists.txt: Set the WTF_OS_FUCHSIA flag
* Source/cmake/OptionsFuchsia.cmake: Removed.
* Source/cmake/OptionsJSCOnly.cmake: Temporarily disable ICU for
OS(FUCHSIA). We'll get ICU wired in, but I'd like to work through the
other compile errors first.
2018-06-27 Adam Barth <abarth@webkit.org>
Add Fuchsia support to build-jsc
https://bugs.webkit.org/show_bug.cgi?id=187086
Reviewed by Yusuke Suzuki.
Add Fuchsia port to cmake build system. After this patch, the build
errors out due to a missing sysroot.
* CMakeLists.txt:
* Source/cmake/OptionsFuchsia.cmake: Added.
2018-06-18 Zan Dobersek <zdobersek@igalia.com>
Unreviewed GTK+ gardening. Updating the WPT expectations by removing
failure expectations for 2dcontext tests covering CSS HSL/HSLA color
parsing and createImageBitmap() API that are nowadays passing.
* WebPlatformTests/gtk/TestExpectations.json:
2018-06-17 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Automatically disable JIT and enable USE_SYSTEM_MALLOC on unfamiliar architectures
https://bugs.webkit.org/show_bug.cgi?id=186722
Reviewed by Darin Adler.
We know that the JSC JIT and bmalloc both work on only a limited set of architectures. In
Fedora, we have to manually disable these when building for s390x, ppc64, and ppc64le. But
it's really easy to do the right thing automatically, so we might as well.
* Source/cmake/WebKitFeatures.cmake:
[WPE] Build getUserMedia support https://bugs.webkit.org/show_bug.cgi?id=186547 Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-06-13 Reviewed by Alejandro G. Castro. .: * Source/cmake/OptionsWPE.cmake: Build MediaStream support Source/WebCore: Enable mediastream tests. * PlatformWPE.cmake: Build MediaStream support. * SourcesGTK.txt: Moved GStreamer related files to GStreamer.cmake. * SourcesWPE.txt: Removed `platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp` which is now in GStreamer.cmake. * platform/GStreamer.cmake: Build more MediaStream/webrtc related files. * platform/graphics/ImageBuffer.cpp: Handle the fact that toBGRAData is now built directly into the Cairo backend and not GTK anymore. * platform/graphics/cairo/ImageBufferCairo.cpp: Implement `toBGRAData` * platform/graphics/gtk/ImageBufferGtk.cpp: Removed `toBGRAData` as it is now implemented in the Cairo backend itself. * platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp: Switch an ASSERT to RELEASE_ASSERT when adding the GhostPad to itself. This was making test fail when built in RELEASE mode. (WebCore::webkitMediaStreamSrcChain): Minor variable name change to make it more accurate. (WebCore::webkitMediaStreamSrcAddPad): Now add the ghost pad to the element before setting its chain function, making things clearer. (WebCore::webkitMediaStreamSrcSetupSrc): Remove extra new line. Source/WebKit: * SourcesWPE.txt: Compile files necessary for MediaStream/webrtc. LayoutTests: * platform/gtk/TestExpectations: Mark some tests as potentially passing (they fail only when built in debug mode). * platform/wpe/TestExpectations: Enable MediaStream tests. Canonical link: https://commits.webkit.org/201916@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-13 18:22:40 +00:00
2018-06-13 Thibault Saunier <tsaunier@igalia.com>
[WPE] Build getUserMedia support
https://bugs.webkit.org/show_bug.cgi?id=186547
Reviewed by Alejandro G. Castro.
* Source/cmake/OptionsWPE.cmake: Build MediaStream support
2018-06-12 Philippe Normand <pnormand@igalia.com>
[GStreamer] Bump required version to 1.8.3
https://bugs.webkit.org/show_bug.cgi?id=186558
Reviewed by Xabier Rodriguez-Calvar.
* Source/cmake/GStreamerChecks.cmake: Bump to 1.8.3 which is the
version shipped in the current Ubuntu LTS we support (16.04).
Add run-web-platform-tests script https://bugs.webkit.org/show_bug.cgi?id=183356 Reviewed by Carlos Alberto Lopez Perez. .: Store port-specific test expectations and test manifest files for the web-platform-tests test runs under the top-level WebPlatformTests directory. TestExpectations.json file lists all the failing or disabled tests or subtests that are to be expected in the test run. This information is parsed in the run-web-platform-tests script and used to build test-specific metadata files (ending with .ini) inside a temporary directory that is then used during the test run. JSON format is used to follow the WebDriver test suite in how it manages expectations, and to avoid having to manually manage .ini files for every deviant test case. TestManifest.ini file is used to fine-tune which tests are to be enabled by default. For the GTK+ port, we currently disable all tests by default but then specifically enable tests under the 2dcontext and WebCryptoAPI directories. This will allow for gradual enabling of further tests. * WebPlatformTests/gtk/TestExpectations.json: Added. * WebPlatformTests/gtk/TestManifest.ini: Added. Tools: Add the run-web-platform-tests script that allows running WebKit builds against the external web-platform-tests project. The script sets up all the port-specific information, including the display driver. If no web-platform-tests repository location is specified, the TestDownloader utility is used to clone the repository, and path to that clone is leveraged instead. Port-specific TestManifest.ini and TestExpectations.json file paths are then constructed, bailing if any of the files is missing. The JSON file is then used to construct the metadata file tree, creating an .ini file for each test that is disabled, has a certain expectation, or has subtests that themselves have certain expectations. This metadata tree is built under the build directory, and is purged and reconstructed for each separate run. Lastly, the WPT python module is imported from the web-platform-tests source location, and wpt.main() is invoked along with all the necessary arguments that set up a web-platform-tests suite run using the WebKit product. * Scripts/run-web-platform-tests: Added. * Scripts/webkitpy/common/config/ports_mock.py: (MockPort.run_bindings_tests_command): (MockPort): (MockPort.wpt_metadata_directory): (MockPort.wpt_manifest_file): * Scripts/webkitpy/port/base.py: (Port.wpt_metadata_directory): (Port): (Port.wpt_manifest_file): * Scripts/webkitpy/w3c/common.py: (is_file_exportable): (WPTPaths): (WPTPaths.checkout_directory): (WPTPaths.wpt_checkout_path): * Scripts/webkitpy/w3c/test_downloader.py: (TestDownloader.clone_tests): (TestDownloader): (TestDownloader.download_tests): * Scripts/webkitpy/w3c/test_exporter.py: (WebPlatformTestExporter.__init__): * Scripts/webkitpy/w3c/wpt_runner.py: Added. (main): (parse_args): (create_webdriver): (spawn_wpt): (WPTRunner): (WPTRunner.__init__): (WPTRunner._prepare_wpt_checkout): (WPTRunner._generate_metadata_directory): (WPTRunner.run): * Scripts/webkitpy/w3c/wpt_runner_unittest.py: Added. (WPTRunnerTest): (WPTRunnerTest.MockTestDownloader): (WPTRunnerTest.MockTestDownloader.default_options): (WPTRunnerTest.MockTestDownloader.__init__): (WPTRunnerTest.MockTestDownloader.clone_tests): (WPTRunnerTest.MockWebDriver): (WPTRunnerTest.MockWebDriver.create): (WPTRunnerTest.MockWebDriver.binary_path): (WPTRunnerTest.MockWebDriver.browser_path): (WPTRunnerTest.MockWebDriver.browser_args): (WPTRunnerTest.MockSpawnWPT): (WPTRunnerTest.MockSpawnWPT.__init__): (WPTRunnerTest.MockSpawnWPT.__call__): (WPTRunnerTest.TestInstance): (WPTRunnerTest.TestInstance.__init__): (WPTRunnerTest.TestInstance.prepare_mock_files_for_run): (WPTRunnerTest.test_prepare_wpt_checkout): (WPTRunnerTest.test_prepare_wpt_checkout_specified_path): (WPTRunnerTest.test_generate_metadata_directory): (WPTRunnerTest.test_run): (WPTRunnerTest.test_run_with_specified_options): (WPTRunnerTest.test_run_with_args): Canonical link: https://commits.webkit.org/201877@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-12 07:55:42 +00:00
2018-06-12 Zan Dobersek <zdobersek@igalia.com>
Add run-web-platform-tests script
https://bugs.webkit.org/show_bug.cgi?id=183356
Reviewed by Carlos Alberto Lopez Perez.
Store port-specific test expectations and test manifest files for the
web-platform-tests test runs under the top-level WebPlatformTests
directory.
TestExpectations.json file lists all the failing or disabled tests
or subtests that are to be expected in the test run. This information is
parsed in the run-web-platform-tests script and used to build
test-specific metadata files (ending with .ini) inside a temporary
directory that is then used during the test run. JSON format is used to
follow the WebDriver test suite in how it manages expectations, and to
avoid having to manually manage .ini files for every deviant test case.
TestManifest.ini file is used to fine-tune which tests are to be enabled
by default. For the GTK+ port, we currently disable all tests by default
but then specifically enable tests under the 2dcontext and WebCryptoAPI
directories. This will allow for gradual enabling of further tests.
* WebPlatformTests/gtk/TestExpectations.json: Added.
* WebPlatformTests/gtk/TestManifest.ini: Added.
2018-06-11 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.21.4 release.
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2018-06-11 Michael Saboff <msaboff@apple.com>
JavaScriptCore: Disable 32-bit JIT on Windows
https://bugs.webkit.org/show_bug.cgi?id=185989
Reviewed by Mark Lam.
* Source/cmake/OptionsWin.cmake:
[WPE] Add a MiniBrowser and use it to run WebDriver tests https://bugs.webkit.org/show_bug.cgi?id=186345 Reviewed by Žan Doberšek. .: Add an option to enable building the MiniBrowser. * Source/cmake/FindWaylandProtocols.cmake: Added. * Source/cmake/OptionsWPE.cmake: Source/WebDriver: Use MiniBrowser instead of dyz as the default WebDriver browser for WPE. * wpe/WebDriverServiceWPE.cpp: (WebDriver::WebDriverService::platformParseCapabilities const): Tools: Most of the code is based on dyz and gtk MiniBrowser. This patch adds a new internal library WPEToolingBackends, including the headless view backend and a new window backend to be used by the MiniBrowser. MiniBrowser can also run in headless mode, by using the headless backend instead of the window one, which will allow us to run the WebDriver tests in the bots. * CMakeLists.txt: * MiniBrowser/wpe/CMakeLists.txt: Added. * MiniBrowser/wpe/main.cpp: Added. (automationStartedCallback): (createViewBackend): (main): * Scripts/run-minibrowser: Remove WPE specific code. * Scripts/run-webdriver-tests: Add headless display-server option. * Scripts/webkitdirs.pm: (launcherName): Remove WPE specific code. * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py: (WebDriverWPE.browser_name): Return MiniBrowser. (WebDriverWPE.browser_path): Return the path to the MiniBrowser in build dir. (WebDriverWPE.browser_args): Add --headless when running in headless mode. (WebDriverWPE.capabilities): Use the full browser path. * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py: (WebDriverTestRunnerSelenium.collect_tests): Fix early return value. * TestWebKitAPI/PlatformWPE.cmake: Use WPEToolingBackends instead of HeadlessViewBackend. * TestWebKitAPI/PlatformWebView.h: Ditto. * TestWebKitAPI/glib/PlatformWPE.cmake: Ditto * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::createWebViewBackend): Ditto. * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp: (TestWebKitAPI::PlatformWebView::initialize): Ditto. * WebKitTestRunner/PlatformWPE.cmake: Ditto. * WebKitTestRunner/PlatformWebView.h: Ditto. * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp: (WTR::PlatformWebView::PlatformWebView): Ditto. * wpe/HeadlessViewBackend/CMakeLists.txt: Removed. * wpe/backends/CMakeLists.txt: Added. * wpe/backends/HeadlessViewBackend.cpp: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.cpp. (WPEToolingBackends::getEGLDisplay): (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): (WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend): (WPEToolingBackends::HeadlessViewBackend::createSnapshot): (WPEToolingBackends::HeadlessViewBackend::performUpdate): (WPEToolingBackends::HeadlessViewBackend::displayBuffer): * wpe/backends/HeadlessViewBackend.h: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.h. * wpe/backends/ViewBackend.cpp: Added. (WPEToolingBackends::ViewBackend::ViewBackend): (WPEToolingBackends::ViewBackend::~ViewBackend): (WPEToolingBackends::ViewBackend::initialize): (WPEToolingBackends::ViewBackend::setInputClient): (WPEToolingBackends::ViewBackend::backend const): (WPEToolingBackends::ViewBackend::dispatchInputPointerEvent): (WPEToolingBackends::ViewBackend::dispatchInputAxisEvent): (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent): * wpe/backends/ViewBackend.h: Added. * wpe/backends/WindowViewBackend.cpp: Added. (WPEToolingBackends::WindowViewBackend::WindowViewBackend): (WPEToolingBackends::WindowViewBackend::~WindowViewBackend): (WPEToolingBackends::WindowViewBackend::displayBuffer): (WPEToolingBackends::WindowViewBackend::handleKeyEvent): * wpe/backends/WindowViewBackend.h: Added. * wpe/jhbuild.modules: Remove dyz and add wayland-protocols. Canonical link: https://commits.webkit.org/201827@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-06-11 06:43:14 +00:00
2018-06-10 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Add a MiniBrowser and use it to run WebDriver tests
https://bugs.webkit.org/show_bug.cgi?id=186345
Reviewed by Žan Doberšek.
Add an option to enable building the MiniBrowser.
* Source/cmake/FindWaylandProtocols.cmake: Added.
* Source/cmake/OptionsWPE.cmake:
2018-06-06 Dan Bernstein <mitz@apple.com>
[Xcode] Opt out of the New Build System
https://bugs.webkit.org/show_bug.cgi?id=186380
Reviewed by Alexey Proskuryakov.
* WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: Use the Legacy Build System.
2018-06-06 Dan Bernstein <mitz@apple.com>
Check in a file created by the Xcode 10 beta.
* WebKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: Added.
2018-05-28 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.21.3 release.
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2018-05-25 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for 2.21.2 release.
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
2018-05-22 Alberto Garcia <berto@igalia.com>
[CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64-bit atomic operations
https://bugs.webkit.org/show_bug.cgi?id=182622
<rdar://problem/40292317>
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitCompilerFlags.cmake:
Move the test to detect whether we need to link against libatomic
to a common CMake file so it can be used from both JavaScriptCore
and WebKit.
2018-05-22 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, rolling out r231843.
Broke cross build
Reverted changeset:
"[CMake] Properly detect compiler flags, needed libs, and
fallbacks for usage of 64-bit atomic operations"
https://bugs.webkit.org/show_bug.cgi?id=182622
https://trac.webkit.org/changeset/231843
2018-05-21 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] Enable WebKit build by default
https://bugs.webkit.org/show_bug.cgi?id=185141
Reviewed by Per Arne Vollan.
* Source/cmake/OptionsWin.cmake: Disable
ENABLE_NETSCAPE_PLUGIN_API unconditionally for WinCairo port
because it builds both WK1 and WK2.
* Source/cmake/OptionsWinCairo.cmake: Turn ENABLE_WEBKIT on by default.
Remove BUILDING_WIN_CAIRO_WEBKIT macro.
2018-05-21 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.21.2 release.
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2018-05-17 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE] Implement and enable FULLSCREEN_API
https://bugs.webkit.org/show_bug.cgi?id=185676
Reviewed by Žan Doberšek.
Remove the CMake option to disable this option for WPE.
This feature gets enabled now via Source/cmake/WebKitFeatures.cmake
* Source/cmake/OptionsWPE.cmake:
2018-05-16 Don Olmstead <don.olmstead@sony.com>
[WinCairo] Update WinCairoRequirements
https://bugs.webkit.org/show_bug.cgi?id=185700
Reviewed by Per Arne Vollan.
* Source/cmake/OptionsWinCairo.cmake:
Add support for Intl NumberFormat formatToParts https://bugs.webkit.org/show_bug.cgi?id=185375 Patch by Andy VanWagoner <andy@vanwagoner.family> on 2018-05-16 Reviewed by Yusuke Suzuki. .: Add flag for NumberFormat formatToParts. * Source/cmake/OptionsJSCOnly.cmake: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: Add flag for NumberFormat formatToParts. Implement formatToParts using unum_formatDoubleForFields. Because the fields are nested and come back in no guaranteed order, the simple algorithm to convert them to the desired format is roughly O(n^2). However, even with Number.MAX_VALUE it appears to perform well enough for the initial implementation. Another issue has been created to improve this algorithm. This requires ICU v59+ for unum_formatDoubleForFields, so it is disabled on macOS, since only v57 is available. * Configurations/FeatureDefines.xcconfig: * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::UFieldPositionIteratorDeleter::operator() const): (JSC::IntlNumberFormat::partTypeString): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatPrototype::create): (JSC::IntlNumberFormatPrototype::finishCreation): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): * runtime/IntlNumberFormatPrototype.h: * runtime/Options.h: Source/WebCore: Test: js/intl-numberformat-format-to-parts.html Add flag & tests for NumberFormat formatToParts. * Configurations/FeatureDefines.xcconfig: Source/WebCore/PAL: Add flag for NumberFormat formatToParts. * Configurations/FeatureDefines.xcconfig: Source/WebKit: Add flag for NumberFormat formatToParts. * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: Add flag for NumberFormat formatToParts. * Configurations/FeatureDefines.xcconfig: Source/WTF: Add flag for NumberFormat formatToParts. * wtf/FeatureDefines.h: Tools: Add flag for NumberFormat formatToParts. * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: LayoutTests: Add tests for NumberFormat formatToParts. Tests are expected to fail on macOS until ICU is updated to v59 or newer. * js/intl-numberformat-format-to-parts-expected.txt: Added. * js/intl-numberformat-format-to-parts.html: Added. * js/script-tests/intl-numberformat-format-to-parts.js: Added. * platform/ios-simulator/TestExpectations: * platform/mac/TestExpectations: * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/201162@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-05-16 20:38:32 +00:00
2018-05-16 Andy VanWagoner <andy@vanwagoner.family>
Add support for Intl NumberFormat formatToParts
https://bugs.webkit.org/show_bug.cgi?id=185375
Reviewed by Yusuke Suzuki.
Add flag for NumberFormat formatToParts.
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/WebKitFeatures.cmake:
[Win] Use C++17 in MSVC https://bugs.webkit.org/show_bug.cgi?id=185232 Reviewed by Alex Christensen. .: Use /std:c++17 option. * Source/cmake/OptionsMSVC.cmake: Source/ThirdParty: Use std::tuple instead of std::tr1::tuple since std::tr1::tuple is removed in C++17 MSVC. In a subsequent patch, we will upgrade gtest too. * gtest/include/gtest/internal/gtest-param-util-generated.h: (testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tuple<T1, T2> > const): (testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tuple<T1, T2, T3> > const): (testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4> > const): (testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> > const): (testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> > const): (testing::internal::CartesianProductHolder7:: const): (testing::internal::CartesianProductHolder8:: const): (testing::internal::CartesianProductHolder9:: const): (testing::internal::CartesianProductHolder10:: const): (testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tr1::tuple<T1, T2> > const): Deleted. (testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3> > const): Deleted. (testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> > const): Deleted. (testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> > const): Deleted. (testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> > const): Deleted. * gtest/include/gtest/internal/gtest-tuple.h: Source/WebCore: Workaround for MSVC + /std:c++17. * Modules/geolocation/Coordinates.h: (WebCore::Coordinates::isolatedCopy const): Source/WTF: Disable some WebKit defined C++17 features for MSVC. * wtf/StdLibExtras.h: Tools: Do not use `using namespace std;`. In C++17, we have std::byte. This "byte" conflicts with ::byte defined in Windows' header. * DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp: (WindowedPluginTest::WindowedPluginTest): * DumpRenderTree/win/AccessibilityControllerWin.cpp: (logEventProc): (stringEvent): (AccessibilityController::winNotificationReceived): * DumpRenderTree/win/TextInputController.cpp: (markedRangeCallback): (firstRectForCharacterRangeCallback): (selectedRangeCallback): * DumpRenderTree/win/TextInputController.h: * DumpRenderTree/win/TextInputControllerWin.cpp: (TextInputController::markedRange): (TextInputController::firstRectForCharacterRange): (TextInputController::selectedRange): Canonical link: https://commits.webkit.org/201151@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-05-16 17:50:38 +00:00
2018-05-14 Yusuke Suzuki <utatane.tea@gmail.com>
[Win] Use C++17 in MSVC
https://bugs.webkit.org/show_bug.cgi?id=185232
Reviewed by Alex Christensen.
Use /std:c++17 option.
* Source/cmake/OptionsMSVC.cmake:
2018-05-16 13:33:50 +00:00
2018-05-16 Alberto Garcia <berto@igalia.com>
[CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64-bit atomic operations
https://bugs.webkit.org/show_bug.cgi?id=182622
Reviewed by Michael Catanzaro.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsWPE.cmake:
Enable THREADS_PREFER_PTHREAD_FLAG. This uses -pthread instead of
-lpthread, fixing the 64-bit RISC-V build of the GTK+ port due to
missing atomic primitives.
* Source/cmake/WebKitCompilerFlags.cmake:
Move the test to detect whether we need to link against libatomic
to a common CMake file so it can be used from both JavaScriptCore
and WebKit.
2018-05-14 Zan Dobersek <zdobersek@igalia.com>
[GTK] REGRESSION(r231170) Build broken with Clang 5.0
https://bugs.webkit.org/show_bug.cgi?id=185198
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitCompilerFlags.cmake: Fall back to the -std=c++1z
compiler flag if -std=c++17 is not supported. If that flag is not
supported either, bail with an error message.
2018-05-09 Jan Alexander Steffens <jan.steffens@gmail.com>
[GTK] gtk-doc installation subdir duplicated
https://bugs.webkit.org/show_bug.cgi?id=185468
Reviewed by Carlos Garcia Campos.
The GTK docs are installed into a duplicated subdir,
e.g. /usr/share/doc/gtk-doc/html/webkit2gtk-4.0/webkit2gtk-4.0.
* Source/PlatformGTK.cmake:
2018-05-09 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed. Bump WPE soname for good measure.
* Source/cmake/OptionsWPE.cmake:
2018-05-09 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed. Update OptionsWPE.cmake and NEWS for 2.21.1 release.
* Source/cmake/OptionsWPE.cmake: Bump version numbers.
[JSC][GTK][JSCONLY] Use capstone disassembler https://bugs.webkit.org/show_bug.cgi?id=185283 Reviewed by Michael Catanzaro. .: * Source/CMakeLists.txt: * Source/cmake/FindLLVM.cmake: Removed. * Source/cmake/OptionsCommon.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsJSCOnly.cmake: * Source/cmake/OptionsWPE.cmake: Source/JavaScriptCore: Instead of adding MIPS disassembler baked by ourselves, we import capstone disassembler. And use capstone disassembler for MIPS, ARM, and ARMv7 in GTK, WPE, WinCairo and JSCOnly ports. And we remove ARM LLVM disassembler. Capstone is licensed under 3-clause BSD, which is acceptable in WebKit tree. * CMakeLists.txt: * Sources.txt: * disassembler/ARMLLVMDisassembler.cpp: Removed. * disassembler/CapstoneDisassembler.cpp: Added. (JSC::tryToDisassemble): Source/ThirdParty: Add capstone to ThirdParty. We build capstone as a static library, and link it against JSC. We only build disassembler for target architecture. So for MIPS target, we only enable MIPS part of capstone. We also remove unnecessary architectures in capstone, XCore, PowerPC, SystemZ, etc. This is simply done by deleting these architecture directories. We pick "next" branch instead of "master" branch since "next" branch is actively developed. * capstone/CMakeLists.txt: Added. * capstone/Source/.appveyor.yml: Added. * capstone/Source/.gitattributes: Added. * capstone/Source/.gitignore: Added. * capstone/Source/.travis.yml: Added. * capstone/Source/CMakeLists.txt: Added. * capstone/Source/COMPILE.TXT: Added. * capstone/Source/COMPILE_CMAKE.TXT: Added. * capstone/Source/COMPILE_MSVC.TXT: Added. * capstone/Source/CREDITS.TXT: Added. * capstone/Source/ChangeLog-capstone: Added. * capstone/Source/HACK.TXT: Added. * capstone/Source/LEB128.h: Added. (decodeULEB128): * capstone/Source/LICENSE.TXT: Added. * capstone/Source/LICENSE_LLVM.TXT: Added. * capstone/Source/MCDisassembler.h: Added. * capstone/Source/MCFixedLenDisassembler.h: Added. * capstone/Source/MCInst.c: Added. (MCInst_Init): (MCInst_clear): (MCInst_insert0): (MCInst_setOpcode): (MCInst_setOpcodePub): (MCInst_getOpcode): (MCInst_getOpcodePub): (MCInst_getOperand): (MCInst_getNumOperands): (MCInst_addOperand2): (MCOperand_Init): (MCOperand_isValid): (MCOperand_isReg): (MCOperand_isImm): (MCOperand_isFPImm): (MCOperand_getReg): (MCOperand_setReg): (MCOperand_getImm): (MCOperand_setImm): (MCOperand_getFPImm): (MCOperand_setFPImm): (MCOperand_CreateReg1): (MCOperand_CreateReg0): (MCOperand_CreateImm1): (MCOperand_CreateImm0): * capstone/Source/MCInst.h: Added. * capstone/Source/MCInstrDesc.c: Added. (MCOperandInfo_isPredicate): (MCOperandInfo_isOptionalDef): * capstone/Source/MCInstrDesc.h: Added. * capstone/Source/MCRegisterInfo.c: Added. (MCRegisterInfo_InitMCRegisterInfo): (DiffListIterator_init): (DiffListIterator_getVal): (DiffListIterator_next): (DiffListIterator_isValid): (MCRegisterInfo_getMatchingSuperReg): (MCRegisterInfo_getSubReg): (MCRegisterInfo_getRegClass): (MCRegisterClass_contains): * capstone/Source/MCRegisterInfo.h: Added. * capstone/Source/Makefile: Added. * capstone/Source/MathExtras.h: Added. (Hi_32): (Lo_32): (isUIntN): (isMask_32): (isMask_64): (isShiftedMask_32): (isShiftedMask_64): (isPowerOf2_32): (CountLeadingZeros_32): (CountLeadingOnes_32): (CountLeadingZeros_64): (CountLeadingOnes_64): (CountTrailingZeros_32): (CountTrailingOnes_32): (CountTrailingZeros_64): (CountTrailingOnes_64): (CountPopulation_32): (CountPopulation_64): (Log2_32): (Log2_64): (Log2_32_Ceil): (Log2_64_Ceil): (GreatestCommonDivisor64): (BitsToDouble): (BitsToFloat): (DoubleToBits): (FloatToBits): (MinAlign): (NextPowerOf2): (RoundUpToAlignment): (OffsetToAlignment): (abs64): (SignExtend32): (SignExtend64): (countLeadingZeros): * capstone/Source/README.md: Added. * capstone/Source/RELEASE_NOTES: Added. * capstone/Source/SStream.c: Added. (SStream_Init): (SStream_concat0): (SStream_concat): (printInt64Bang): (printUInt64Bang): (printInt64): (printInt32BangDec): (printInt32Bang): (printInt32): (printUInt32Bang): (printUInt32): * capstone/Source/SStream.h: Added. * capstone/Source/TODO: Added. * capstone/Source/arch/ARM/ARMAddressingModes.h: Added. (ARM_AM_getAddrOpcStr): (ARM_AM_getShiftOpcStr): (ARM_AM_getShiftOpcEncoding): (ARM_AM_getAMSubModeStr): (rotr32): (rotl32): (getSORegOpc): (getSORegOffset): (ARM_AM_getSORegShOp): (getSOImmValImm): (getSOImmValRot): (getSOImmValRotate): (getSOImmVal): (isSOImmTwoPartVal): (getSOImmTwoPartFirst): (getSOImmTwoPartSecond): (getThumbImmValShift): (isThumbImmShiftedVal): (getThumbImm16ValShift): (isThumbImm16ShiftedVal): (getThumbImmNonShiftedVal): (getT2SOImmValSplatVal): (getT2SOImmValRotateVal): (getT2SOImmVal): (getT2SOImmValRotate): (isT2SOImmTwoPartVal): (getT2SOImmTwoPartFirst): (getT2SOImmTwoPartSecond): (ARM_AM_getAM2Opc): (getAM2Offset): (getAM2Op): (getAM2ShiftOpc): (getAM2IdxMode): (getAM3Opc): (getAM3Offset): (getAM3Op): (getAM3IdxMode): (getAM4SubMode): (getAM4ModeImm): (ARM_AM_getAM5Opc): (ARM_AM_getAM5Offset): (ARM_AM_getAM5Op): (createNEONModImm): (getNEONModImmOpCmode): (getNEONModImmVal): (ARM_AM_decodeNEONModImm): (getFPImmFloat): * capstone/Source/arch/ARM/ARMBaseInfo.h: Added. (ARMCC_getOppositeCondition): (ARMCC_ARMCondCodeToString): (ARM_PROC_IFlagsToString): (ARM_PROC_IModToString): (ARM_MB_MemBOptToString): (ARM_ISB_InstSyncBOptToString): (isARMLowRegister): (ARMII_AddrModeToString): * capstone/Source/arch/ARM/ARMDisassembler.c: Added. (ITStatus_push_back): (ITStatus_instrInITBlock): (ITStatus_instrLastInITBlock): (ITStatus_getITCC): (ITStatus_advanceITState): (ITStatus_setITState): (Check): (ARM_getFeatureBits): (DecodePredicateOperand): (ARM_init): (checkDecodedInstruction): (_ARM_getInstruction): (AddThumb1SBit): (AddThumbPredicate): (UpdateThumbVFPPredicate): (_Thumb_getInstruction): (Thumb_getInstruction): (ARM_getInstruction): (DecodeGPRnopcRegisterClass): (DecodeGPRwithAPSRRegisterClass): (DecodetGPRRegisterClass): (DecodetcGPRRegisterClass): (DecoderGPRRegisterClass): (DecodeDPRRegisterClass): (DecodeDPR_8RegisterClass): (DecodeDPR_VFP2RegisterClass): (DecodeDPairRegisterClass): (DecodeCCOutOperand): (DecodeSORegImmOperand): (DecodeSORegRegOperand): (DecodeRegListOperand): (DecodeSPRRegListOperand): (DecodeDPRRegListOperand): (DecodeBitfieldMaskOperand): (DecodeCopMemInstruction): (DecodeAddrMode2IdxInstruction): (DecodeSORegMemOperand): (DecodeAddrMode3Instruction): (DecodeRFEInstruction): (DecodeQADDInstruction): (DecodeMemMultipleWritebackInstruction): (DecodeCPSInstruction): (DecodeT2CPSInstruction): (DecodeT2MOVTWInstruction): (DecodeArmMOVTWInstruction): (DecodeSMLAInstruction): (DecodeAddrModeImm12Operand): (DecodeAddrMode5Operand): (DecodeAddrMode7Operand): (DecodeT2BInstruction): (DecodeBranchImmInstruction): (DecodeAddrMode6Operand): (DecodeVLDInstruction): (DecodeVLDST1Instruction): (DecodeVLDST2Instruction): (DecodeVLDST3Instruction): (DecodeVLDST4Instruction): (DecodeVSTInstruction): (DecodeVLD1DupInstruction): (DecodeVLD2DupInstruction): (DecodeVLD3DupInstruction): (DecodeVLD4DupInstruction): (DecodeNEONModImmInstruction): (DecodeVSHLMaxInstruction): (DecodeShiftRight8Imm): (DecodeShiftRight16Imm): (DecodeShiftRight32Imm): (DecodeShiftRight64Imm): (DecodeTBLInstruction): (DecodeThumbAddSpecialReg): (DecodeThumbBROperand): (DecodeT2BROperand): (DecodeThumbCmpBROperand): (DecodeThumbAddrModeRR): (DecodeThumbAddrModeIS): (DecodeThumbAddrModePC): (DecodeThumbAddrModeSP): (DecodeT2AddrModeSOReg): (DecodeT2LoadShift): (DecodeT2LoadImm8): (DecodeT2LoadImm12): (DecodeT2LoadT): (DecodeT2LoadLabel): (DecodeT2Imm8S4): (DecodeT2AddrModeImm8s4): (DecodeT2AddrModeImm0_1020s4): (DecodeT2Imm8): (DecodeT2AddrModeImm8): (DecodeT2LdStPre): (DecodeT2AddrModeImm12): (DecodeThumbAddSPImm): (DecodeThumbAddSPReg): (DecodeThumbCPS): (DecodePostIdxReg): (DecodeThumbBLXOffset): (DecodeCoprocessor): (DecodeThumbTableBranch): (DecodeThumb2BCCInstruction): (DecodeT2SOImm): (DecodeThumbBCCTargetOperand): (DecodeThumbBLTargetOperand): (DecodeMemBarrierOption): (DecodeInstSyncBarrierOption): (DecodeMSRMask): (DecodeBankedReg): (DecodeDoubleRegLoad): (DecodeDoubleRegStore): (DecodeLDRPreImm): (DecodeLDRPreReg): (DecodeSTRPreImm): (DecodeSTRPreReg): (DecodeVLD1LN): (DecodeVST1LN): (DecodeVLD2LN): (DecodeVST2LN): (DecodeVLD3LN): (DecodeVST3LN): (DecodeVLD4LN): (DecodeVST4LN): (DecodeVMOVSRR): (DecodeVMOVRRS): (DecodeIT): (DecodeT2LDRDPreInstruction): (DecodeT2STRDPreInstruction): (DecodeT2Adr): (DecodeT2ShifterImmOperand): (DecodeSwap): (DecodeVCVTD): (DecodeVCVTQ): (DecodeLDR): (DecodeMRRC2): * capstone/Source/arch/ARM/ARMDisassembler.h: Added. * capstone/Source/arch/ARM/ARMGenAsmWriter.inc: Added. * capstone/Source/arch/ARM/ARMGenDisassemblerTables.inc: Added. * capstone/Source/arch/ARM/ARMGenInstrInfo.inc: Added. * capstone/Source/arch/ARM/ARMGenRegisterInfo.inc: Added. * capstone/Source/arch/ARM/ARMGenSubtargetInfo.inc: Added. * capstone/Source/arch/ARM/ARMInstPrinter.c: Added. (get_op_access): (set_mem_access): (op_addImm): (ARM_getRegName): (translateShiftImm): (printRegImmShift): (printRegName): (ARM_printInst): (printOperand): (printThumbLdrLabelOperand): (printSORegRegOperand): (printSORegImmOperand): (printAM2PreOrOffsetIndexOp): (printAddrModeTBB): (printAddrModeTBH): (printAddrMode2Operand): (printAddrMode2OffsetOperand): (printAM3PreOrOffsetIndexOp): (printAddrMode3Operand): (printAddrMode3OffsetOperand): (printPostIdxImm8Operand): (printPostIdxRegOperand): (printPostIdxImm8s4Operand): (printAddrMode5Operand): (printAddrMode6Operand): (printAddrMode7Operand): (printAddrMode6OffsetOperand): (printBitfieldInvMaskImmOperand): (printMemBOption): (printInstSyncBOption): (printShiftImmOperand): (printPKHLSLShiftImm): (printPKHASRShiftImm): (printRegisterList): (printGPRPairOperand): (printSetendOperand): (printCPSIMod): (printCPSIFlag): (printMSRMaskOperand): (printBankedRegOperand): (printPredicateOperand): (printMandatoryPredicateOperand): (printSBitModifierOperand): (printNoHashImmediate): (printPImmediate): (printCImmediate): (printCoprocOptionImm): (printAdrLabelOperand): (printThumbS4ImmOperand): (printThumbSRImm): (printThumbITMask): (printThumbAddrModeRROperand): (printThumbAddrModeImm5SOperand): (printThumbAddrModeImm5S1Operand): (printThumbAddrModeImm5S2Operand): (printThumbAddrModeImm5S4Operand): (printThumbAddrModeSPOperand): (printT2SOOperand): (printAddrModeImm12Operand): (printT2AddrModeImm8Operand): (printT2AddrModeImm8s4Operand): (printT2AddrModeImm0_1020s4Operand): (printT2AddrModeImm8OffsetOperand): (printT2AddrModeImm8s4OffsetOperand): (printT2AddrModeSoRegOperand): (printFPImmOperand): (printNEONModImmOperand): (printImmPlusOneOperand): (printRotImmOperand): (printModImmOperand): (printFBits16): (printFBits32): (printVectorIndex): (printVectorListOne): (printVectorListTwo): (printVectorListTwoSpaced): (printVectorListThree): (printVectorListFour): (printVectorListOneAllLanes): (printVectorListTwoAllLanes): (printVectorListThreeAllLanes): (printVectorListFourAllLanes): (printVectorListTwoSpacedAllLanes): (printVectorListThreeSpacedAllLanes): (printVectorListFourSpacedAllLanes): (printVectorListThreeSpaced): (printVectorListFourSpaced): (ARM_addVectorDataType): (ARM_addVectorDataSize): (ARM_addReg): (ARM_addUserMode): (ARM_addSysReg): * capstone/Source/arch/ARM/ARMInstPrinter.h: Added. * capstone/Source/arch/ARM/ARMMapping.c: Added. (ARM_reg_name2): (ARM_insn_name): (ARM_rel_branch): (ARM_blx_to_arm_mode): (ARM_reg_access): * capstone/Source/arch/ARM/ARMMapping.h: Added. * capstone/Source/arch/ARM/ARMMappingInsn.inc: Added. * capstone/Source/arch/ARM/ARMMappingInsnOp.inc: Added. * capstone/Source/arch/ARM/ARMModule.c: Added. (init): (option): (ARM_enable): * capstone/Source/arch/Mips/MipsDisassembler.c: Added. (getFeatureBits): (Mips_init): (readInstruction16): (readInstruction32): (MipsDisassembler_getInstruction): (Mips_getInstruction): (getReg): (DecodeINSVE_DF_4): (DecodeAddiGroupBranch_4): (DecodeDaddiGroupBranch_4): (DecodeBlezlGroupBranch_4): (DecodeBgtzlGroupBranch_4): (DecodeBgtzGroupBranch_4): (DecodeBlezGroupBranch_4): (DecodeCPU16RegsRegisterClass): (DecodeGPR64RegisterClass): (DecodeGPRMM16RegisterClass): (DecodeGPRMM16ZeroRegisterClass): (DecodeGPRMM16MovePRegisterClass): (DecodeGPR32RegisterClass): (DecodePtrRegisterClass): (DecodeDSPRRegisterClass): (DecodeFGR64RegisterClass): (DecodeFGR32RegisterClass): (DecodeCCRRegisterClass): (DecodeFCCRegisterClass): (DecodeCCRegisterClass): (DecodeFGRCCRegisterClass): (DecodeMem): (DecodeCacheOp): (DecodeCacheOpMM): (DecodeCacheOpR6): (DecodeSyncI): (DecodeMSA128Mem): (DecodeMemMMImm4): (DecodeMemMMSPImm5Lsl2): (DecodeMemMMGPImm7Lsl2): (DecodeMemMMReglistImm4Lsl2): (DecodeMemMMImm12): (DecodeMemMMImm16): (DecodeFMem): (DecodeFMem2): (DecodeFMem3): (DecodeFMemCop2R6): (DecodeSpecial3LlSc): (DecodeHWRegsRegisterClass): (DecodeAFGR64RegisterClass): (DecodeACC64DSPRegisterClass): (DecodeHI32DSPRegisterClass): (DecodeLO32DSPRegisterClass): (DecodeMSA128BRegisterClass): (DecodeMSA128HRegisterClass): (DecodeMSA128WRegisterClass): (DecodeMSA128DRegisterClass): (DecodeMSACtrlRegisterClass): (DecodeCOP2RegisterClass): (DecodeBranchTarget): (DecodeJumpTarget): (DecodeBranchTarget21): (DecodeBranchTarget26): (DecodeBranchTarget7MM): (DecodeBranchTarget10MM): (DecodeBranchTargetMM): (DecodeJumpTargetMM): (DecodeAddiur2Simm7): (DecodeUImm6Lsl2): (DecodeLiSimm7): (DecodeSimm4): (DecodeSimm16): (DecodeLSAImm): (DecodeInsSize): (DecodeExtSize): (DecodeSimm19Lsl2): (DecodeSimm18Lsl3): (DecodeSimm9SP): (DecodeANDI16Imm): (DecodeUImm5lsl2): (DecodeRegListOperand): (DecodeRegListOperand16): (DecodeMovePRegPair): (DecodeSimm23Lsl2): * capstone/Source/arch/Mips/MipsDisassembler.h: Added. * capstone/Source/arch/Mips/MipsGenAsmWriter.inc: Added. * capstone/Source/arch/Mips/MipsGenDisassemblerTables.inc: Added. * capstone/Source/arch/Mips/MipsGenInstrInfo.inc: Added. * capstone/Source/arch/Mips/MipsGenRegisterInfo.inc: Added. * capstone/Source/arch/Mips/MipsGenSubtargetInfo.inc: Added. * capstone/Source/arch/Mips/MipsInstPrinter.c: Added. (set_mem_access): (isReg): (MipsFCCToString): (printRegName): (Mips_printInst): (printOperand): (printUnsignedImm): (printUnsignedImm8): (printMemOperand): (printMemOperandEA): (printFCCOperand): (printRegisterPair): (printAlias1): (printAlias2): (printAlias): (printRegisterList): * capstone/Source/arch/Mips/MipsInstPrinter.h: Added. * capstone/Source/arch/Mips/MipsMapping.c: Added. (Mips_get_insn_id): (Mips_group_name): (Mips_map_insn): (Mips_map_register): * capstone/Source/arch/Mips/MipsMapping.h: Added. * capstone/Source/arch/Mips/MipsMappingInsn.inc: Added. * capstone/Source/arch/Mips/MipsModule.c: Added. (init): (option): (Mips_enable): * capstone/Source/capstone.pc.in: Added. * capstone/Source/config.mk: Added. * capstone/Source/cs.c: Added. (cs_kern_os_calloc): (cs_version): (cs_support): (cs_errno): (cs_strerror): (cs_open): (cs_close): (fill_insn): (skipdata_size): (cs_option): (skipdata_opstr): (cs_disasm): (cs_disasm_ex): (cs_free): (cs_malloc): (cs_disasm_iter): (cs_reg_name): (cs_insn_name): (cs_group_name): (cs_insn_group): (cs_reg_read): (cs_reg_write): (cs_op_count): (cs_op_index): (cs_regs_access): * capstone/Source/cs_priv.h: Added. * capstone/Source/functions.mk: Added. * capstone/Source/include/capstone/arm.h: Added. * capstone/Source/include/capstone/arm64.h: Added. * capstone/Source/include/capstone/capstone.h: Added. * capstone/Source/include/capstone/evm.h: Added. * capstone/Source/include/capstone/m680x.h: Added. * capstone/Source/include/capstone/m68k.h: Added. * capstone/Source/include/capstone/mips.h: Added. * capstone/Source/include/capstone/platform.h: Added. * capstone/Source/include/capstone/ppc.h: Added. * capstone/Source/include/capstone/sparc.h: Added. * capstone/Source/include/capstone/systemz.h: Added. * capstone/Source/include/capstone/tms320c64x.h: Added. * capstone/Source/include/capstone/x86.h: Added. * capstone/Source/include/capstone/xcore.h: Added. * capstone/Source/include/windowsce/intrin.h: Added. * capstone/Source/include/windowsce/stdint.h: Added. * capstone/Source/make.sh: Added. * capstone/Source/nmake-x86.bat: Added. * capstone/Source/nmake.bat: Added. * capstone/Source/pkgconfig.mk: Added. * capstone/Source/utils.c: Added. (make_id2insn): (insn_find): (name2id): (id2name): (count_positive): (count_positive8): (cs_strdup): (cs_snprintf): (arr_exist8): (arr_exist): * capstone/Source/utils.h: Added. * capstone/capstone-Revision.txt: Added. Source/WTF: Add USE_CAPSTONE used for MIPS and ARM. * wtf/Platform.h: Tools: * gtk/manifest.txt.in: * wpe/manifest.txt.in: Canonical link: https://commits.webkit.org/200942@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-05-09 11:42:09 +00:00
2018-05-06 Yusuke Suzuki <utatane.tea@gmail.com>
[JSC][GTK][JSCONLY] Use capstone disassembler
https://bugs.webkit.org/show_bug.cgi?id=185283
Reviewed by Michael Catanzaro.
* Source/CMakeLists.txt:
* Source/cmake/FindLLVM.cmake: Removed.
* Source/cmake/OptionsCommon.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsWPE.cmake:
2018-05-08 Valerie R Young <valerie@bocoup.com>
test262/Runner.pm: create results dir for results of test262 run
https://bugs.webkit.org/show_bug.cgi?id=185392
Reviewed by Michael Saboff.
Remove reference to no longer existing files.
* .gitignore:
2018-05-07 Yusuke Suzuki <utatane.tea@gmail.com>
[JSCOnly] Enable Intl.PluralRules
https://bugs.webkit.org/show_bug.cgi?id=185359
Reviewed by Daniel Bates.
Enable Intl.PluralRules because JSCOnly port enables features aggressively.
* Source/cmake/OptionsJSCOnly.cmake:
2018-05-07 Don Olmstead <don.olmstead@sony.com>
[WinCairo] Disable plugin api when building modern WebKit
https://bugs.webkit.org/show_bug.cgi?id=185312
Reviewed by Michael Catanzaro.
* Source/cmake/OptionsWin.cmake:
2018-05-02 Valerie R Young <valerie@bocoup.com>
test262/Runner.pm: save summary to file
https://bugs.webkit.org/show_bug.cgi?id=185200
Reviewed by Michael Saboff.
* .gitignore:
2018-05-01 Leo Balter <leonardo.balter@gmail.com>
Auto save the results for Test262
https://bugs.webkit.org/show_bug.cgi?id=184926
Reviewed by Michael Saboff.
WebAssembly: add support for stream APIs - JavaScript API https://bugs.webkit.org/show_bug.cgi?id=183442 Reviewed by Yusuke Suzuki and JF Bastien. * Source/cmake/WebKitFeatures.cmake: LayoutTests/imported/w3c: * web-platform-tests/wasm/resources/incrementer.no_mime_type.wasm: Added. * web-platform-tests/wasm/resources/incrementer.wasm: Added. * web-platform-tests/wasm/resources/incrementer.wasm.headers: Added. * web-platform-tests/wasm/resources/incrementer.wrong_mime_type.wasm: Added. * web-platform-tests/wasm/resources/incrementer.wrong_mime_type.wasm.headers: Added. * web-platform-tests/wasm/wasm_stream_compile_test-expected.txt: Added. * web-platform-tests/wasm/wasm_stream_compile_test.html: Added. * web-platform-tests/wasm/wasm_stream_instantiate_test-expected.txt: Added. * web-platform-tests/wasm/wasm_stream_instantiate_test.html: Added. Source/JavaScriptCore: Add WebAssembly stream API. Current patch only add functions WebAssembly.compileStreaming and WebAssembly.instantiateStreaming but, does not add streaming way of the implementation. So in current version it only wait for load whole module, than start to parse. * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * builtins/BuiltinNames.h: * builtins/WebAssemblyPrototype.js: Copied from Source/JavaScriptCore/wasm/js/WebAssemblyPrototype.h. (compileStreaming): (instantiateStreaming): * jsc.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/Options.h: * runtime/PromiseDeferredTimer.cpp: (JSC::PromiseDeferredTimer::hasPendingPromise): (JSC::PromiseDeferredTimer::hasDependancyInPendingPromise): * runtime/PromiseDeferredTimer.h: * wasm/js/WebAssemblyPrototype.cpp: (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::WebAssemblyPrototype::webAssemblyModuleValidateAsync): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::WebAssemblyPrototype::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): (JSC::WebAssemblyPrototype::create): (JSC::WebAssemblyPrototype::finishCreation): * wasm/js/WebAssemblyPrototype.h: Source/WebCore: Add WebAssembly streaming API to WebCore. * Configurations/FeatureDefines.xcconfig: * bindings/js/JSDOMWindowBase.cpp: (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: * bindings/js/JSRemoteDOMWindowBase.cpp: * bindings/js/JSWorkerGlobalScopeBase.cpp: Source/WebCore/PAL: Add WEBASSEMBLY_STREAMING_API feature flag * Configurations/FeatureDefines.xcconfig: Source/WebKit: Add WEBASSEMBLY_STREAMING_API feature flag * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: Add WEBASSEMBLY_STREAMINNG_API feature flag * Configurations/FeatureDefines.xcconfig: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Oleksandrs-MacBook-Pro:WebKit developer$ Tools/Scripts/commit-log-editor --print-log ChangeLog LayoutTests/ChangeLog LayoutTests/imported/w3c/ChangeLog Source/JavaScriptCore/ChangeLog Source/WebCore/ChangeLog Source/WebCore/PAL/ChangeLog Source/WebKit/ChangeLog Source/WebKitLegacy/mac/ChangeLog Tools/ChangeLog WebAssembly: add support for stream APIs - JavaScript API https://bugs.webkit.org/show_bug.cgi?id=183442 Reviewed by Yusuke Suzuki and JF Bastien. * Source/cmake/WebKitFeatures.cmake: LayoutTests/imported/w3c: * web-platform-tests/wasm/resources/incrementer.no_mime_type.wasm: Added. * web-platform-tests/wasm/resources/incrementer.wasm: Added. * web-platform-tests/wasm/resources/incrementer.wasm.headers: Added. * web-platform-tests/wasm/resources/incrementer.wrong_mime_type.wasm: Added. * web-platform-tests/wasm/resources/incrementer.wrong_mime_type.wasm.headers: Added. * web-platform-tests/wasm/wasm_stream_compile_test-expected.txt: Added. * web-platform-tests/wasm/wasm_stream_compile_test.html: Added. * web-platform-tests/wasm/wasm_stream_instantiate_test-expected.txt: Added. * web-platform-tests/wasm/wasm_stream_instantiate_test.html: Added. Source/JavaScriptCore: Add WebAssembly stream API. Current patch only add functions WebAssembly.compileStreaming and WebAssembly.instantiateStreaming but, does not add streaming way of the implementation. So in current version it only wait for load whole module, than start to parse. * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * builtins/BuiltinNames.h: * builtins/WebAssemblyPrototype.js: Copied from Source/JavaScriptCore/wasm/js/WebAssemblyPrototype.h. (compileStreaming): (instantiateStreaming): * jsc.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/Options.h: * runtime/PromiseDeferredTimer.cpp: (JSC::PromiseDeferredTimer::hasPendingPromise): (JSC::PromiseDeferredTimer::hasDependancyInPendingPromise): * runtime/PromiseDeferredTimer.h: * wasm/js/WebAssemblyPrototype.cpp: (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::WebAssemblyPrototype::webAssemblyModuleValidateAsync): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::WebAssemblyPrototype::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): (JSC::WebAssemblyPrototype::create): (JSC::WebAssemblyPrototype::finishCreation): * wasm/js/WebAssemblyPrototype.h: Source/WebCore: Add WebAssembly streaming API to WebCore. * Configurations/FeatureDefines.xcconfig: * bindings/js/JSDOMWindowBase.cpp: (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: * bindings/js/JSRemoteDOMWindowBase.cpp: * bindings/js/JSWorkerGlobalScopeBase.cpp: Source/WebCore/PAL: Add WEBASSEMBLY_STREAMING_API feature flag * Configurations/FeatureDefines.xcconfig: Source/WebKit: Add WEBASSEMBLY_STREAMING_API feature flag * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: Add WEBASSEMBLY_STREAMINNG_API feature flag * Configurations/FeatureDefines.xcconfig: Tools: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: LayoutTests: * platform/ios-simulator/TestExpectations: * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/200647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-05-01 08:47:56 +00:00
2018-05-01 Oleksandr Skachkov <gskachkov@gmail.com>
WebAssembly: add support for stream APIs - JavaScript API
https://bugs.webkit.org/show_bug.cgi?id=183442
Reviewed by Yusuke Suzuki and JF Bastien.
* Source/cmake/WebKitFeatures.cmake:
Use some C++17 features https://bugs.webkit.org/show_bug.cgi?id=185135 Reviewed by Alex Christensen. .: As discussed here [0] let's move WebKit to a subset of C++17. We now require GCC 6 [1] which means that, according to [2] we can use the following C++17 language features (I removed some uninteresting ones): - New auto rules for direct-list-initialization - static_assert with no message - typename in a template template parameter - Nested namespace definition - Attributes for namespaces and enumerators - u8 character literals - Allow constant evaluation for all non-type template arguments - Fold Expressions - Unary fold expressions and empty parameter packs - __has_include in preprocessor conditional - Differing begin and end types in range-based for - Improving std::pair and std::tuple Consult the Tony Tables [3] to see before / after examples. Of course we can use any library feature if we're willing to import them to WTF (and they don't require language support). [0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html [1]: https://trac.webkit.org/changeset/231152/webkit [2]: https://en.cppreference.com/w/cpp/compiler_support [3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md * Source/cmake/WebKitCompilerFlags.cmake: Source/WebCore: As discussed here [0] let's move WebKit to a subset of C++17. We now require GCC 6 [1] which means that, according to [2] we can use the following C++17 language features (I removed some uninteresting ones): - New auto rules for direct-list-initialization - static_assert with no message - typename in a template template parameter - Nested namespace definition - Attributes for namespaces and enumerators - u8 character literals - Allow constant evaluation for all non-type template arguments - Fold Expressions - Unary fold expressions and empty parameter packs - __has_include in preprocessor conditional - Differing begin and end types in range-based for - Improving std::pair and std::tuple Consult the Tony Tables [3] to see before / after examples. Of course we can use any library feature if we're willing to import them to WTF (and they don't require language support). [0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html [1]: https://trac.webkit.org/changeset/231152/webkit [2]: https://en.cppreference.com/w/cpp/compiler_support [3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md * DerivedSources.make: * platform/URLParser.cpp: work around an odd GCC 6 bug with class static value as a template parameter. (WebCore::URLParser::percentDecode): (WebCore::URLParser::domainToASCII): (WebCore::URLParser::hasForbiddenHostCodePoint): (WebCore::URLParser::parseHostAndPort): * platform/URLParser.h: Source/WebKit: As discussed here [0] let's move WebKit to a subset of C++17. We now require GCC 6 [1] which means that, according to [2] we can use the following C++17 language features (I removed some uninteresting ones): - New auto rules for direct-list-initialization - static_assert with no message - typename in a template template parameter - Nested namespace definition - Attributes for namespaces and enumerators - u8 character literals - Allow constant evaluation for all non-type template arguments - Fold Expressions - Unary fold expressions and empty parameter packs - __has_include in preprocessor conditional - Differing begin and end types in range-based for - Improving std::pair and std::tuple Consult the Tony Tables [3] to see before / after examples. Of course we can use any library feature if we're willing to import them to WTF (and they don't require language support). [0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html [1]: https://trac.webkit.org/changeset/231152/webkit [2]: https://en.cppreference.com/w/cpp/compiler_support [3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md * Configurations/Base.xcconfig: * DerivedSources.make: * PlatformMac.cmake: Source/WebKitLegacy: * PlatformMac.cmake: Source/WebKitLegacy/mac: * Configurations/WebKitLegacy.xcconfig: Source/WTF: * wtf/StdLibExtras.h: libstdc++ doesn't say it's C++17 when it defines std::conjunction. Use the feature test macro instead. Tools: * DumpRenderTree/PlatformMac.cmake: * gtk/ycm_extra_conf.py: (FlagsForFile): Canonical link: https://commits.webkit.org/200630@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-30 21:17:59 +00:00
2018-04-30 JF Bastien <jfbastien@apple.com>
Use some C++17 features
https://bugs.webkit.org/show_bug.cgi?id=185135
Reviewed by Alex Christensen.
As discussed here [0] let's move WebKit to a subset of C++17. We
now require GCC 6 [1] which means that, according to [2] we can
use the following C++17 language features (I removed some
uninteresting ones):
- New auto rules for direct-list-initialization
- static_assert with no message
- typename in a template template parameter
- Nested namespace definition
- Attributes for namespaces and enumerators
- u8 character literals
- Allow constant evaluation for all non-type template arguments
- Fold Expressions
- Unary fold expressions and empty parameter packs
- __has_include in preprocessor conditional
- Differing begin and end types in range-based for
- Improving std::pair and std::tuple
Consult the Tony Tables [3] to see before / after examples.
Of course we can use any library feature if we're willing to
import them to WTF (and they don't require language support).
[0]: https://lists.webkit.org/pipermail/webkit-dev/2018-March/029922.html
[1]: https://trac.webkit.org/changeset/231152/webkit
[2]: https://en.cppreference.com/w/cpp/compiler_support
[3]: https://github.com/tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md
* Source/cmake/WebKitCompilerFlags.cmake:
2018-04-29 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Require GCC 6
https://bugs.webkit.org/show_bug.cgi?id=184985
Reviewed by Alex Christensen.
Require it.
* CMakeLists.txt:
ASSERTION FAILED: ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType])) in -[NSPasteboard(WebExtras) _web_writePromisedRTFDFromArchive:containsImage:] https://bugs.webkit.org/show_bug.cgi?id=184161 <rdar://problem/39051645> Reviewed by Dan Bernstein. .: * ManualTests/DragInlinePDFImageDocument.html: Added. * ManualTests/resources/simple.pdf: Added. Source/WebKitLegacy/mac: Fixes an assertion failure when quitting an app that uses a Legacy WebKit web view after dragging-and- dropping a PDF embedded using an HTML image element into the same web view. When performing a drag-and-drop of a PDF document image (WebCore::PDFDocumentImage) we create a WebArchive from the main frame's WebHTMLView and promise AppKit that we will provide a Rich Text Format (RTF) document from this archive if needed. For some reason, on app termination AppKit requests that the WebHTMLView fulfill its RTF document promise for the WebArchive created at the start of the drag operation. To do this, we need to extract the image resource from the Web Archive. Currently we query MIMETypeRegistry::isSupportedImageResourceMIMEType() to see if the contained image is one that we can handle. However MIMETypeRegistry::isSupportedImageResourceMIMEType() only returns true if WebKit supports creating an image document for the specified MIME type. Disregarding the iOS motivated setting Settings::useImageDocumentForSubframePDF, PDFs and PostScripts do not create an image document when navigated to directly. Since we can support dragging PDF document images we need to query if MIMETypeRegistry::isPDFOrPostScriptMIMEType() in addition to querying MIMETypeRegistry::isSupportedImageResourceMIMEType(). We need to do both such queries before falling back to using the main resource of the Web Archive as the image. Otherwise, we will cause an assertion failure if the main resource of the Web Archive is not an image document. * Misc/WebNSPasteboardExtras.mm: (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]): Canonical link: https://commits.webkit.org/200530@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-26 18:46:42 +00:00
2018-04-26 Daniel Bates <dabates@apple.com>
ASSERTION FAILED: ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType])) in -[NSPasteboard(WebExtras) _web_writePromisedRTFDFromArchive:containsImage:]
https://bugs.webkit.org/show_bug.cgi?id=184161
<rdar://problem/39051645>
Reviewed by Dan Bernstein.
* ManualTests/DragInlinePDFImageDocument.html: Added.
* ManualTests/resources/simple.pdf: Added.
[INTL] Implement Intl.PluralRules https://bugs.webkit.org/show_bug.cgi?id=184312 Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2018-04-26 Reviewed by JF Bastien. .: Added Intl.PluralRules feature flag. * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: Use UNumberFormat to enforce formatting, and then UPluralRules to find the correct plural rule for the given number. Relies on ICU v59+ for resolvedOptions().pluralCategories and trailing 0 detection. Behind the useIntlPluralRules option and INTL_PLURAL_RULES flag. * CMakeLists.txt: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * builtins/BuiltinNames.h: * runtime/BigIntObject.cpp: (JSC::BigIntObject::create): Moved to ensure complete JSGlobalObject definition. * runtime/BigIntObject.h: * runtime/CommonIdentifiers.h: * runtime/IntlObject.cpp: (JSC::IntlObject::finishCreation): * runtime/IntlObject.h: * runtime/IntlPluralRules.cpp: Added. (JSC::IntlPluralRules::UPluralRulesDeleter::operator() const): (JSC::IntlPluralRules::UNumberFormatDeleter::operator() const): (JSC::UEnumerationDeleter::operator() const): (JSC::IntlPluralRules::create): (JSC::IntlPluralRules::createStructure): (JSC::IntlPluralRules::IntlPluralRules): (JSC::IntlPluralRules::finishCreation): (JSC::IntlPluralRules::destroy): (JSC::IntlPluralRules::visitChildren): (JSC::IntlPRInternal::localeData): (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: Added. * runtime/IntlPluralRulesConstructor.cpp: Added. (JSC::IntlPluralRulesConstructor::create): (JSC::IntlPluralRulesConstructor::createStructure): (JSC::IntlPluralRulesConstructor::IntlPluralRulesConstructor): (JSC::IntlPluralRulesConstructor::finishCreation): (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): (JSC::IntlPluralRulesConstructor::visitChildren): * runtime/IntlPluralRulesConstructor.h: Added. * runtime/IntlPluralRulesPrototype.cpp: Added. (JSC::IntlPluralRulesPrototype::create): (JSC::IntlPluralRulesPrototype::createStructure): (JSC::IntlPluralRulesPrototype::IntlPluralRulesPrototype): (JSC::IntlPluralRulesPrototype::finishCreation): (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IntlPluralRulesPrototype.h: Added. * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::intlPluralRulesAvailableLocales): * runtime/JSGlobalObject.h: * runtime/Options.h: * runtime/RegExpPrototype.cpp: Added inlines header. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Source/WebCore: Added Intl.PluralRules feature flag. Test: js/intl-pluralrules.html * Configurations/FeatureDefines.xcconfig: Source/WebCore/PAL: Added Intl.PluralRules feature flag. * Configurations/FeatureDefines.xcconfig: Source/WebKit: Added Intl.PluralRules feature flag. * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: Added Intl.PluralRules feature flag. * Configurations/FeatureDefines.xcconfig: Source/WTF: Added Intl.PluralRules feature flag. * wtf/FeatureDefines.h: Tools: Added Intl.PluralRules feature flag. * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: LayoutTests: * js/intl-pluralrules-expected.txt: Added. * js/intl-pluralrules.html: Added. * js/script-tests/intl-pluralrules.js: Added. * platform/win/TestExpectations: Disabled Intl.PluralRules tests on win. Canonical link: https://commits.webkit.org/200516@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-26 16:37:26 +00:00
2018-04-26 Andy VanWagoner <thetalecrafter@gmail.com>
[INTL] Implement Intl.PluralRules
https://bugs.webkit.org/show_bug.cgi?id=184312
Reviewed by JF Bastien.
Added Intl.PluralRules feature flag.
* Source/cmake/WebKitFeatures.cmake:
[GTK][WPE] Initial ASYNC_SCROLLING support https://bugs.webkit.org/show_bug.cgi?id=184961 Reviewed by Carlos Garcia Campos. .: * Source/cmake/OptionsGTK.cmake: Enable ASYNC_SCROLLING as a private option. * Source/cmake/OptionsWPE.cmake: Ditto. Source/WebCore: Add CoordinatedGraphics-specific code that will be required for async scrolling support. The ScrollingCoordinatorCoordinatedGraphics and ScrollingTreeCoordinatedGraphics classes are mostly complete already, but the new ScrollingTreeNode-inheriting classes will need further work that will have to be done in parallel with other improvements planned for the CoordinatedGraphics subsystem. While the build-time flag is enabled, the feature is still not enabled at runtime due to being marked as unsupported by the DrawingArea implementation in the WebKit layer. It would also not work yet if it were enabled due to the before-mentioned pending changes. Various build fixes that address non-Cocoa usage of ASYNC_SCROLLING code are included. * Sources.txt: Add AsyncScrollingCoordinator.cpp to build. * SourcesCocoa.txt: * SourcesGTK.txt: Add new files to build. * SourcesWPE.txt: Ditto. * page/scrolling/AsyncScrollingCoordinator.cpp: Guard setStateScrollingNodeSnapOffsetsAsFloat() with CSS_SCROLL_SNAP. * page/scrolling/ScrollingTree.h: * page/scrolling/ThreadedScrollingTree.cpp: * page/scrolling/ThreadedScrollingTree.h: currentSnapPointIndicesDidChange() method is only invoked in Cocoa-specific code, and its implementation calls Cocoa-specific method on the AsyncScrollingCoordinator class. * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: (WebCore::ScrollingCoordinator::create): (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics): (WebCore::ScrollingCoordinatorCoordinatedGraphics::~ScrollingCoordinatorCoordinatedGraphics): (WebCore::ScrollingCoordinatorCoordinatedGraphics::pageDestroyed): (WebCore::ScrollingCoordinatorCoordinatedGraphics::commitTreeStateIfNeeded): (WebCore::ScrollingCoordinatorCoordinatedGraphics::handleWheelEvent): (WebCore::ScrollingCoordinatorCoordinatedGraphics::scheduleTreeStateCommit): (WebCore::ScrollingCoordinatorCoordinatedGraphics::commitTreeState): * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added. * page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.cpp: Added. (WebCore::ScrollingTreeCoordinatedGraphics::create): (WebCore::ScrollingTreeCoordinatedGraphics::ScrollingTreeCoordinatedGraphics): (WebCore::ScrollingTreeCoordinatedGraphics::createScrollingTreeNode): * page/scrolling/coordinatedgraphics/ScrollingTreeCoordinatedGraphics.h: Added. * page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.cpp: Added. (WebCore::ScrollingTreeFixedNode::create): (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode): (WebCore::ScrollingTreeFixedNode::~ScrollingTreeFixedNode): (WebCore::ScrollingTreeFixedNode::commitStateBeforeChildren): (WebCore::ScrollingTreeFixedNode::updateLayersAfterAncestorChange): * page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.h: Added. * page/scrolling/coordinatedgraphics/ScrollingTreeFrameScrollingNodeCoordinatedGraphics.cpp: Added. (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::create): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::ScrollingTreeFrameScrollingNodeCoordinatedGraphics): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::handleWheelEvent): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::scrollPosition const): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::setScrollPosition): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::setScrollPositionWithoutContentEdgeConstraints): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::setScrollLayerPosition): (WebCore::ScrollingTreeFrameScrollingNodeCoordinatedGraphics::updateLayersAfterViewportChange): * page/scrolling/coordinatedgraphics/ScrollingTreeFrameScrollingNodeCoordinatedGraphics.h: Added. * page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.cpp: Added. (WebCore::ScrollingTreeStickyNode::create): (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode): (WebCore::ScrollingTreeStickyNode::~ScrollingTreeStickyNode): (WebCore::ScrollingTreeStickyNode::commitStateBeforeChildren): (WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange): * page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.h: Added. * platform/PlatformWheelEvent.h: Enable PlatformWheelEventPhase code for WPE. Guard latching-specific methods under ASYNC_SCROLLING. * platform/TextureMapper.cmake: Two build targets have been moved to SourcesGTK.txt and SourcesWPE.txt. Source/WebKit: Guard RemoteScrollingCoordinator and RemoteScrollingCoordinatorProxy usage in WebChromeClient and WebPageProxy, respectively, with PLATFORM(COCOA) in addition to the ASYNC_SCROLLING guards. Despite enabling the code at build-time, the feature (as intended) is not yet used because of the DrawingArea rejection in the WebPage constructor. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::initializeWebPage): (WebKit::WebPageProxy::handleWheelEvent): (WebKit::WebPageProxy::updateTouchEventTracking): * UIProcess/WebPageProxy.h: * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createScrollingCoordinator const): Canonical link: https://commits.webkit.org/200512@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-26 07:54:19 +00:00
2018-04-26 Zan Dobersek <zdobersek@igalia.com>
[GTK][WPE] Initial ASYNC_SCROLLING support
https://bugs.webkit.org/show_bug.cgi?id=184961
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake: Enable ASYNC_SCROLLING as a private option.
* Source/cmake/OptionsWPE.cmake: Ditto.
[WPE] Build and link against latest WPEBackend and WPEBackend-fdo https://bugs.webkit.org/show_bug.cgi?id=184643 Reviewed by Žan Doberšek. .: Update find modules to include the API versions. * Source/cmake/FindWPEBackend-fdo.cmake: * Source/cmake/FindWPEBackend.cmake: Source/WebCore: Adapt to single-header WPE includes. * platform/graphics/egl/GLContextEGLWPE.cpp: * platform/graphics/wpe/PlatformDisplayWPE.cpp: * platform/wpe/PlatformPasteboardWPE.cpp: Source/WebKit: Adapt to single-header WPE includes. Null-initialize padding to silence -Wmissing-field-initializers. (Yuck.) * Shared/NativeWebTouchEvent.h: * Shared/wpe/WebEventFactory.cpp: * UIProcess/API/glib/WebKitPrivate.cpp: * UIProcess/API/wpe/CompositingManagerProxy.cpp: * UIProcess/API/wpe/ScrollGestureController.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): * UIProcess/API/wpe/WebKitWebViewBackend.h: * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: * WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp: (WebKit::AcceleratedSurfaceWPE::initialize): Tools: Add missing INCLUDE_DIRS in many places. Adapt to single-header WPE includes. Null-initialize padding to silence -Wmissing-field-initializers. (Yuck.) * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: (testWebViewWebBackend): * TestWebKitAPI/glib/PlatformWPE.cmake: * WebKitTestRunner/EventSenderProxy.h: * WebKitTestRunner/PlatformWPE.cmake: * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp: * wpe/HeadlessViewBackend/CMakeLists.txt: * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp: * wpe/HeadlessViewBackend/HeadlessViewBackend.h: * wpe/jhbuild.modules: Canonical link: https://commits.webkit.org/200511@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-26 06:40:04 +00:00
2018-04-25 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Build and link against latest WPEBackend and WPEBackend-fdo
https://bugs.webkit.org/show_bug.cgi?id=184643
Reviewed by Žan Doberšek.
Update find modules to include the API versions.
* Source/cmake/FindWPEBackend-fdo.cmake:
* Source/cmake/FindWPEBackend.cmake:
2018-04-25 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Some options should be marked as advanced
https://bugs.webkit.org/show_bug.cgi?id=184972
Reviewed by Konstantin Tokarev.
* Source/cmake/FindLibGcrypt.cmake:
* Source/cmake/FindWebP.cmake:
2018-04-25 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Miscellaneous build cleanups
https://bugs.webkit.org/show_bug.cgi?id=184399
Reviewed by Žan Doberšek.
* Source/cmake/OptionsGTK.cmake:
2018-04-24 Leo Balter <leonardo.balter@gmail.com>
Land test262 test results associated with Test262 runner
https://bugs.webkit.org/show_bug.cgi?id=184667
Reviewed by Michael Saboff.
* .gitignore: Ignore test262 results file.
2018-04-24 Zan Dobersek <zdobersek@igalia.com>
[WPE] Remove libgbm dependency
https://bugs.webkit.org/show_bug.cgi?id=184906
Reviewed by Carlos Garcia Campos.
Remove the libgbm CMake search module. It's not necessary anymore
after r230562.
* Source/cmake/FindLibGBM.cmake: Removed.
2018-04-23 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] check target looks broken
https://bugs.webkit.org/show_bug.cgi?id=184407
Reviewed by Carlos Garcia Campos.
It's pretty clear that nobody has been using check for a long time.
We got rid of check-for-webkitdom-api-breaks a long time ago, when we stopped autogenerating
the DOM API, but it's still used in the check target. Fix this.
Also, the check target for some reason runs itself from the Source subdirectory of the
builddir, but the test script expects to be run from the toplevel build directory. Fix this
too.
Add VERBATIM for good measure.
* Source/PlatformGTK.cmake:
2018-04-20 Daniel Bates <dabates@apple.com>
Unreviewed, rolling out r230117.
Broke find-in-page for PDFs
Reverted changeset:
"ASSERTION FAILED: ASSERT(!containsImage ||
MIMETypeRegistry::isSupportedImageResourceMIMEType([resource
MIMEType])) in -[NSPasteboard(WebExtras)
_web_writePromisedRTFDFromArchive:containsImage:]"
https://bugs.webkit.org/show_bug.cgi?id=184161
https://trac.webkit.org/changeset/230117
2018-04-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Local cross references are broken in API documentation
https://bugs.webkit.org/show_bug.cgi?id=184771
Reviewed by Michael Catanzaro.
Update the documentation html paths and install the JSC GLib API too.
* Source/PlatformGTK.cmake:
2018-04-18 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.21.1 release.
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2018-04-17 Zan Dobersek <zdobersek@igalia.com>
[CMake] Add and enable the ENABLE_CSS_ANIMATIONS_LEVEL_2 feature define
https://bugs.webkit.org/show_bug.cgi?id=184681
Reviewed by Carlos Garcia Campos.
* Source/cmake/WebKitFeatures.cmake: Add the ENABLE_CSS_ANIMATIONS_LEVEL_2
feature define. Follow Cocoa ports and enable it by default.
2018-04-15 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Install files needed for WebKitWebExtensions
https://bugs.webkit.org/show_bug.cgi?id=179915
Reviewed by Žan Doberšek.
* Source/cmake/OptionsWPE.cmake:
2018-04-12 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r230554.
The non-ASCII character in the filename causes issues with SVN
Reverted changeset:
"input.webkitEntries does not work as expected when folder
contains accented chars"
https://bugs.webkit.org/show_bug.cgi?id=184517
https://trac.webkit.org/changeset/230554
[WPE] Switch testing process to using WPEBackend-fdo https://bugs.webkit.org/show_bug.cgi?id=184357 Reviewed by Carlos Alberto Lopez Perez. .: * Source/cmake/FindWPEBackend-fdo.cmake: Renamed from Source/cmake/FindWPEBackend-mesa.cmake. Tools: Switch WPE testing to using the WPEBackend-fdo implementation that depends on the WL_bind_wayland_display EGL extension, as defined under the freedesktop.org project. https://cgit.freedesktop.org/mesa/mesa/tree/docs/specs/WL_bind_wayland_display.spec HeadlessViewBackend is refactored to use the WPEBackend-fdo API, but otherwise is not changed in functionality. Unit tests now have to unconditionally use HeadlessViewBackend as a wpe_view_backend provider, since WPEBackend-fdo does not provide a default wpe_view_backend implementation. Unit tests covering that are adjusted to instead use a mock wpe_view_backend interface. * Scripts/webkitdirs.pm: (builtDylibPathForName): Fix the libWPEWebKit.so name to also include the API version that was added in r230449. * Scripts/webkitpy/port/waylanddriver.py: (WaylandDriver._setup_environ_for_test): Export EGL_PLATFORM=wayland. * Scripts/webkitpy/port/wpe.py: (WPEPort._driver_class): Use WaylandDriver by default. * TestWebKitAPI/PlatformWebView.h: (): Deleted. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: (testWebViewWebBackend): * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::createWebViewBackend): * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp: (TestWebKitAPI::PlatformWebView::~PlatformWebView): (TestWebKitAPI::PlatformWebView::initialize): * wpe/HeadlessViewBackend/CMakeLists.txt: * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp: (getEGLDisplay): (HeadlessViewBackend::HeadlessViewBackend): (HeadlessViewBackend::~HeadlessViewBackend): (HeadlessViewBackend::backend const): (HeadlessViewBackend::createSnapshot): (HeadlessViewBackend::performUpdate): (HeadlessViewBackend::makeCurrent): Deleted. * wpe/HeadlessViewBackend/HeadlessViewBackend.h: * wpe/jhbuild.modules: Module name cleanup. Dyz version is bumped. Canonical link: https://commits.webkit.org/200079@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-12 08:19:35 +00:00
2018-04-12 Zan Dobersek <zdobersek@igalia.com>
[WPE] Switch testing process to using WPEBackend-fdo
https://bugs.webkit.org/show_bug.cgi?id=184357
Reviewed by Carlos Alberto Lopez Perez.
* Source/cmake/FindWPEBackend-fdo.cmake: Renamed from Source/cmake/FindWPEBackend-mesa.cmake.
[GStreamer] Use of playbin3 when USE_PLAYBIN3 environment variable is set https://bugs.webkit.org/show_bug.cgi?id=184498 Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-04-11 Reviewed by Philippe Normand. .: This is the same behaviour as with playbin itself. Make sure to keep using "playbin" for MediaSource. * Source/cmake/GStreamerDefinitions.cmake: Source/WebCore: [GStreamer] Use of playbin3 when USE_PLAYBIN3 environment variable is set This is the same behaviour as with playbin itself. Make sure to keep using "playbin" for MediaSource. No test added as this is basically a small rework of the way we expose a feature. * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp: * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: * platform/graphics/gstreamer/GRefPtrGStreamer.h: * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp: * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::load): (WebCore::MediaPlayerPrivateGStreamer::enableTrack): (WebCore::MediaPlayerPrivateGStreamer::handleMessage): (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: (WebCore::TrackPrivateBaseGStreamer::disconnect): (WebCore::TrackPrivateBaseGStreamer::tagsChanged): * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Canonical link: https://commits.webkit.org/200058@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-11 18:33:39 +00:00
2018-04-11 Thibault Saunier <tsaunier@igalia.com>
[GStreamer] Use of playbin3 when USE_PLAYBIN3 environment variable is set
https://bugs.webkit.org/show_bug.cgi?id=184498
Reviewed by Philippe Normand.
This is the same behaviour as with playbin itself.
Make sure to keep using "playbin" for MediaSource.
* Source/cmake/GStreamerDefinitions.cmake:
2018-04-09 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Use GNU install directories
https://bugs.webkit.org/show_bug.cgi?id=184377
Reviewed by Carlos Garcia Campos.
Notably, this means all the CMake arguments that distributors use to customize install
directories (-DCMAKE_INSTALL_*DIR) will no longer be ignored.
* Source/cmake/OptionsCommon.cmake:
* Source/cmake/OptionsWPE.cmake:
2018-04-08 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] WebKit should link to WebCore as a PRIVATE library if WebCore is a static library
https://bugs.webkit.org/show_bug.cgi?id=184127
Reviewed by Konstantin Tokarev.
Building TestWebKitLib on Windows causes a linkage error of
multiply defined symbols because TestWebKitLib links to
both WebCore and WebKit. TestWebKitLib explicitly links only with
WebKit, But, WebCore is propagated because WebKit links WebCore as
public.
* Source/cmake/OptionsGTK.cmake (ADD_WHOLE_ARCHIVE_TO_LIBRARIES):
Do not wrap PRIVATE and PUBLIC keywords with -Wl,--whole-archive.
2018-04-08 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Remove applicationDirectoryPath() and sharedResourcePath()
https://bugs.webkit.org/show_bug.cgi?id=184381
Reviewed by Carlos Garcia Campos.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2018-04-02 Per Arne Vollan <pvollan@apple.com>
Remove references to internal version of WebKitQuartzCoreAdditions in CMake files.
https://bugs.webkit.org/show_bug.cgi?id=184246
<rdar://problem/39116563>
Unreviewed build fix.
* Source/PlatformWin.cmake:
[GTK] Make libwebrtc backend buildable for GTK port https://bugs.webkit.org/show_bug.cgi?id=178860 Patch by Alejandro G. Castro <alex@igalia.com> on 2018-04-02 Reviewed by Youenn Fablet. .: * Source/CMakeLists.txt: Add the libwebrtc directory to the compilation. * Source/cmake/OptionsGTK.cmake: Add the USE_LIBWEBRTC option to allow compilation of the specific code. Source/ThirdParty/libwebrtc: Modified the cmake file and added some assembly code to the boringssl compilation required for the linux compilation generated by libwebrtc. * CMakeLists.txt: This cmake file was unused so we have modified it completely to make it work for our port. It was originally generated from the libwebrtc json file but not anymore. We could change its structure at some point but current one seems a good option for the moment. * Source/webrtc/base/task_queue_libevent.cc: We use system libevent for the moment so we needed to adapt the includes in this file. * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc: Readded lines removed by mistake in a previous commit. Source/WebCore: This is the first step to add webrtc support to the GTK port using the libwebrtc backend. No new tests, no new feature added, it should be tested by current tests. * CMakeLists.txt: Add the new files to the compilation and set the new includes in the libwebrtc library. * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: Reorder the includes alphabetically and add some that are missing. * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp: Ditto. * Sources.txt: Add new file to the compilation. * platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp: Added. Initial implementation for GTK and WPE. * platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.h: Added. Ditto. * platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp: Added. Ditto. * platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.h: Added. Ditto. * platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp: Added. Ditto. * platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h: Added. Ditto. * platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp: Added. Ditto. * platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.h: Added. Ditto. * platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp: Added includes for the compilation. * platform/mediastream/libwebrtc/LibWebRTCProviderGlib.h: Added, inherit from the LibWebRTCProvider to adapt for glib. Source/WebKit: * CMakeLists.txt: Add RTC network classes to the compilation and the libwebrtc includes. * PlatformGTK.cmake: Add the libwebrtc directory. * SourcesGTK.txt: Add RTC files to the compilation. Tools: * gstreamer/jhbuild.modules: Modified the libvpx module for the libwebrtc compilation. * gtk/install-dependencies: Add libevent as a system requirement. * Scripts/webkitpy/style/checker.py: Added libwebrtc to the list of third party libraries with reduced style checks. Canonical link: https://commits.webkit.org/199775@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-02 11:29:03 +00:00
2018-04-02 Alejandro G. Castro <alex@igalia.com>
[GTK] Make libwebrtc backend buildable for GTK port
https://bugs.webkit.org/show_bug.cgi?id=178860
Reviewed by Youenn Fablet.
* Source/CMakeLists.txt: Add the libwebrtc directory to the compilation.
* Source/cmake/OptionsGTK.cmake: Add the USE_LIBWEBRTC option to
allow compilation of the specific code.
ASSERTION FAILED: ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType])) in -[NSPasteboard(WebExtras) _web_writePromisedRTFDFromArchive:containsImage:] https://bugs.webkit.org/show_bug.cgi?id=184161 Reviewed by Per Arne Vollan. .: * ManualTests/DragInlinePDFImageDocument.html: Added. * ManualTests/resources/simple.pdf: Added. Source/WebCore: Fixes an assertion failure when quiting an app that uses a Legacy WebKit web view after dragging-and-dropping a PDF embedded using an HTML image element into the same web view. When performing a drag-and-drop of a PDF document image (WebCore::PDFDocumentImage) we create a WebArchive from the main frame's WebHTMLView and promise AppKit that will provide a Rich Text Format (RTF) document from this archive if needed. For some reason, on app termination AppKit requests that the WebHTMLView fullfill its RTF document promise for the WebArchive created at the start of the drag operation. WebKit expects that the created WebArchive is either for an inline image (e.g. <img>) or an image document that has a supported image resource MIME type (by querying MIMETypeRegistry::isSupportedImageResourceMIMEType()) and checks for these cases in this order. PDF/PostScript are not listed in the set of supported image resource MIME types. So, the first check fails and WebKit assumes that the WebArchive was created from an image document of a supported image resource MIME type. However, the WebArchive was created from a WebHTMLView and has MIME type text/html. Therefore the assertion fails. We need to add PDF and PostScript to the set of supported image resource MIME types so that WebKit does not fall back to the WebHTMLView code path. Historically, PDF and PostScript were in the set supported image resource MIME types. Over time the set of MIME types for image resouces (images loaded as a document) became identical to the set of MIME types for images loaded inline (e.g. <img>) and this set omitted the MIME types for PDF and PostScript. Additionally it is sufficient to implement MIMETypeRegistry::isSupportedImageResourceMIMEType() in terms of MIMETypeRegistry::isSupportedImageMIMEType() and MIMETypeRegistry::isPDFOrPostScriptMIMEType() instead of allocating a dedicated HashSet for the supported image resource MIME types (as we currently do). * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Assert that PDF is a supported image MIME type before instantiating an ImageDocument. * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): Remove unnecessary allocation of a HashSet for the support image resource MIME types. (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): Write in terms of MIMETypeRegistry::isSupportedImageMIMEType() and MIMETypeRegistry::isPDFOrPostScriptMIMEType(). (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Deleted. * platform/MIMETypeRegistry.h: Canonical link: https://commits.webkit.org/199743@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-30 21:01:35 +00:00
2018-03-30 Daniel Bates <dabates@apple.com>
ASSERTION FAILED: ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType])) in -[NSPasteboard(WebExtras) _web_writePromisedRTFDFromArchive:containsImage:]
https://bugs.webkit.org/show_bug.cgi?id=184161
Reviewed by Per Arne Vollan.
* ManualTests/DragInlinePDFImageDocument.html: Added.
* ManualTests/resources/simple.pdf: Added.
2018-03-28 Tim Horton <timothy_horton@apple.com>
Make it possible to disable building the tools with Make
https://bugs.webkit.org/show_bug.cgi?id=184109
Reviewed by Simon Fraser.
* Makefile:
[GTK][WPE] Add API to convert between DOM and JSCValue https://bugs.webkit.org/show_bug.cgi?id=183448 Reviewed by Michael Catanzaro. .: Define FORWARDING_HEADERS_WPE_DOM_DIR. * Source/cmake/OptionsWPE.cmake: Source/WebKit: Add methods to get a JSCValue for a WebKitDOMObject and to create a WebKitDOMNode from a JSCValue. Deprecate most of the GTK+ DOM bindings API and move the non-deprecated parts to glib dir to be exposed by WPE too. * PlatformGTK.cmake: * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: * WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/DOMObjectCache.cpp. * WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.h: Copied from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/DOMObjectCache.h. * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMDocument.cpp: Added. (WebKit::kit): (WebKit::core): (WebKit::wrapDocument): (webkit_dom_document_class_init): (webkit_dom_document_init): * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMDocumentPrivate.h: Copied from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentPrivate.h. * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMElement.cpp: Added. (WebKit::kit): (WebKit::core): (WebKit::wrapElement): (webkit_dom_element_class_init): (webkit_dom_element_init): (webkit_dom_element_html_input_element_is_user_edited): (webkit_dom_element_html_input_element_get_auto_filled): (webkit_dom_element_html_input_element_set_auto_filled): (webkit_dom_element_html_input_element_set_editing_value): * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMElementPrivate.h: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementPrivate.h. * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMNode.cpp: Added. (_WebKitDOMNodePrivate::~_WebKitDOMNodePrivate): (WebKit::kit): (WebKit::core): (WebKit::wrapNode): (webkitDOMNodeConstructor): (webkitDOMNodeFinalize): (webkit_dom_node_init): (webkit_dom_node_class_init): (webkitDOMNodeSetCoreObject): (webkitDOMNodeGetCoreObject): (webkit_dom_node_for_js_value): * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMNodePrivate.h: Copied from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodePrivate.h. * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMObject.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObject.cpp. (webkitDOMObjectSetProperty): (webkit_dom_object_class_init): * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMPrivate.cpp: Added. (WebKit::wrap): * WebProcess/InjectedBundle/API/glib/DOM/WebKitDOMPrivate.h: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/DOMObjectCache.h. * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object): (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp: (webkit_web_page_class_init): (webkitWebPageCreate): (webkit_web_page_get_dom_document): * WebProcess/InjectedBundle/API/gtk/DOM/GObjectEventListener.cpp: (WebKit::GObjectEventListener::handleEvent): * WebProcess/InjectedBundle/API/gtk/DOM/GObjectNodeFilterCondition.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/GObjectXPathNSResolver.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRect.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRect.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectList.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectList.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp. (webkitDOMDocumentDOMEventTargetInit): (webkitDOMDocumentInstallProperties): * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementGtk.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp. (webkitDOMElementDOMEventTargetInit): (webkitDOMElementInstallProperties): * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventTarget.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventTarget.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeFilter.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeFilter.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeGtk.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp. (webkitDOMNodeDOMEventTargetInit): (webkitDOMNodeInstallProperties): * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObject.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivateGtk.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.cpp. (WebKit::wrapNodeGtk): * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivateGtk.h: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.h. * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathNSResolver.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathNSResolver.h: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp: * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.h: * WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt: * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h: * WebProcess/InjectedBundle/API/wpe/DOM/WebKitDOMDefines.h: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentPrivate.h. * WebProcess/InjectedBundle/API/wpe/DOM/WebKitDOMDocument.h: Added. * WebProcess/InjectedBundle/API/wpe/DOM/WebKitDOMElement.h: Added. * WebProcess/InjectedBundle/API/wpe/DOM/WebKitDOMNode.h: Added. * WebProcess/InjectedBundle/API/wpe/DOM/WebKitDOMObject.h: Copied from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObject.h. * WebProcess/InjectedBundle/API/wpe/DOM/webkitdom.h: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodePrivate.h. * WebProcess/InjectedBundle/API/wpe/WebKitFrame.h: * WebProcess/InjectedBundle/API/wpe/WebKitWebHitTestResult.h: Added. * WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h: * WebProcess/InjectedBundle/API/wpe/WebKitWebProcessEnumTypes.cpp.template: Added. * WebProcess/InjectedBundle/API/wpe/WebKitWebProcessEnumTypes.h.template: Copied from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObjectPrivate.h. * WebProcess/InjectedBundle/API/wpe/webkit-web-extension.h: Tools: Add unit tests for non-deprecated DOM API and switch existing tests to use non-deprecated API except for the ones that test the deprecated API. * TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp: Added. (DOMElementTest::create): (DOMElementTest::testAutoFill): (registerTests): * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp: Added. (WebKitWebEditorTest::create): (WebKitWebEditorTest::selectionChangedCallback): (WebKitWebEditorTest::testSelectionchanged): (registerTests): * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp: (WebKitFrameTest::testJavaScriptValues): (registerTests): * TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObjectPrivate.h. (testWebKitDOMElementAutoFill): (beforeAll): (afterAll): * TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp. * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp: (testWebKitFrameJavaScriptValues): (beforeAll): * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp: (inputElementIsUserEdited): (testWebExtensionInputElementIsUserEdited): (testWebExtensionFormSubmissionSteps): (beforeAll): * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: (documentLoadedCallback): (serializeNode): (contextMenuCallback): (consoleMessageSentCallback): (formControlsAssociatedCallback): (willSubmitFormCallback): (pageCreatedCallback): (methodCallCallback): * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp: (checkLeaks): (webProcessTestRunnerFinalize): (checkLeaksAtExit): * TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp: (AutocleanupsTest::testWebProcessAutocleanups): * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp: * TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp: * TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp: * TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp: * TestWebKitAPI/Tests/WebKitGtk/EditorTest.cpp: Removed. * TestWebKitAPI/glib/CMakeLists.txt: * TestWebKitAPI/glib/PlatformGTK.cmake: * TestWebKitAPI/glib/PlatformWPE.cmake: Canonical link: https://commits.webkit.org/199605@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-26 08:44:13 +00:00
2018-03-25 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to convert between DOM and JSCValue
https://bugs.webkit.org/show_bug.cgi?id=183448
Reviewed by Michael Catanzaro.
Define FORWARDING_HEADERS_WPE_DOM_DIR.
* Source/cmake/OptionsWPE.cmake:
2018-03-22 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Enable WOFF2 support
https://bugs.webkit.org/show_bug.cgi?id=178158
Reviewed by Frédéric Wang.
* Source/cmake/OptionsWPE.cmake: Add needed logic to detect the Brotli and WOFF2 libraries.
[GTK][WPE] Initial implementation of JavaScriptCore glib bindings https://bugs.webkit.org/show_bug.cgi?id=164061 Reviewed by Michael Catanzaro. .: Set global variables used by the makefiles. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/JavaScriptCore: Add initial GLib API for JavaScriptCore. * API/JSAPIWrapperObject.h: * API/glib/JSAPIWrapperObjectGLib.cpp: Added. (jsAPIWrapperObjectHandleOwner): (JSAPIWrapperObjectHandleOwner::finalize): (JSAPIWrapperObjectHandleOwner::isReachableFromOpaqueRoots): (JSC::JSCallbackObject<JSAPIWrapperObject>::createStructure): (JSC::JSAPIWrapperObject::JSAPIWrapperObject): (JSC::JSAPIWrapperObject::finishCreation): (JSC::JSAPIWrapperObject::setWrappedObject): (JSC::JSAPIWrapperObject::visitChildren): * API/glib/JSCAutocleanups.h: Added. * API/glib/JSCCallbackFunction.cpp: Added. (JSC::callAsFunction): (JSC::callAsConstructor): (JSC::JSCCallbackFunction::create): (JSC::JSCCallbackFunction::JSCCallbackFunction): (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): (JSC::JSCCallbackFunction::destroy): * API/glib/JSCCallbackFunction.h: Added. (JSC::JSCCallbackFunction::createStructure): (JSC::JSCCallbackFunction::functionCallback): (JSC::JSCCallbackFunction::constructCallback): * API/glib/JSCClass.cpp: Added. (jscClassGetProperty): (jscClassSetProperty): (jscClassDispose): (jscClassConstructed): (jsc_class_class_init): (jscClassCreate): (jscClassGetJSClass): (jscClassGetOrCreateJSWrapper): (jscClassInvalidate): (jsc_class_get_name): (jsc_class_get_parent): (jsc_class_add_constructor): (jsc_class_add_method): (jsc_class_add_property): * API/glib/JSCClass.h: Added. * API/glib/JSCClassPrivate.h: Added. * API/glib/JSCContext.cpp: Added. (ExceptionHandler::ExceptionHandler): (ExceptionHandler::~ExceptionHandler): (jscContextSetVirtualMachine): (jscContextGetProperty): (jscContextSetProperty): (jscContextConstructed): (jscContextDispose): (jsc_context_class_init): (jscContextGetOrCreate): (jscContextGetJSContext): (wrapperMap): (jscContextGetOrCreateValue): (jscContextValueDestroyed): (jscContextGetJSWrapper): (jscContextGetOrCreateJSWrapper): (jscContextWrappedObject): (jscContextPushCallback): (jscContextPopCallback): (jscContextGArrayToJSArray): (jscContextJSArrayToGArray): (jscContextGValueToJSValue): (jscContextJSValueToGValue): (jsc_context_new): (jsc_context_new_with_virtual_machine): (jsc_context_get_virtual_machine): (jsc_context_get_exception): (jsc_context_throw): (jsc_context_throw_exception): (jsc_context_push_exception_handler): (jsc_context_pop_exception_handler): (jscContextHandleExceptionIfNeeded): (jsc_context_get_current): (jsc_context_evaluate): (jsc_context_evaluate_with_source_uri): (jsc_context_set_value): (jsc_context_get_value): (jsc_context_register_class): * API/glib/JSCContext.h: Added. * API/glib/JSCContextPrivate.h: Added. * API/glib/JSCDefines.h: Copied from Source/JavaScriptCore/API/JSAPIWrapperObject.h. * API/glib/JSCException.cpp: Added. (jscExceptionDispose): (jsc_exception_class_init): (jscExceptionCreate): (jscExceptionGetJSValue): (jscExceptionEnsureProperties): (jsc_exception_new): (jsc_exception_get_message): (jsc_exception_get_line_number): (jsc_exception_get_source_uri): * API/glib/JSCException.h: Added. * API/glib/JSCExceptionPrivate.h: Added. * API/glib/JSCGLibWrapperObject.h: Added. (JSC::JSCGLibWrapperObject::JSCGLibWrapperObject): (JSC::JSCGLibWrapperObject::~JSCGLibWrapperObject): (JSC::JSCGLibWrapperObject::object const): * API/glib/JSCValue.cpp: Added. (jscValueGetProperty): (jscValueSetProperty): (jscValueDispose): (jsc_value_class_init): (jscValueGetJSValue): (jscValueCreate): (jsc_value_get_context): (jsc_value_new_undefined): (jsc_value_is_undefined): (jsc_value_new_null): (jsc_value_is_null): (jsc_value_new_number): (jsc_value_is_number): (jsc_value_to_double): (jsc_value_to_int32): (jsc_value_new_boolean): (jsc_value_is_boolean): (jsc_value_to_boolean): (jsc_value_new_string): (jsc_value_is_string): (jsc_value_to_string): (jsc_value_new_array): (jsc_value_new_array_from_garray): (jsc_value_is_array): (jsc_value_new_object): (jsc_value_is_object): (jsc_value_object_is_instance_of): (jsc_value_object_set_property): (jsc_value_object_get_property): (jsc_value_object_set_property_at_index): (jsc_value_object_get_property_at_index): (jscValueCallFunction): (jsc_value_object_invoke_method): (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jsc_value_new_function): (jsc_value_is_function): (jsc_value_function_call): (jsc_value_is_constructor): (jsc_value_constructor_call): * API/glib/JSCValue.h: Added. * API/glib/JSCValuePrivate.h: Added. * API/glib/JSCVersion.cpp: Added. (jsc_get_major_version): (jsc_get_minor_version): (jsc_get_micro_version): * API/glib/JSCVersion.h.in: Added. * API/glib/JSCVirtualMachine.cpp: Added. (addWrapper): (removeWrapper): (jscVirtualMachineSetContextGroup): (jscVirtualMachineEnsureContextGroup): (jscVirtualMachineDispose): (jsc_virtual_machine_class_init): (jscVirtualMachineGetOrCreate): (jscVirtualMachineGetContextGroup): (jscVirtualMachineAddContext): (jscVirtualMachineRemoveContext): (jscVirtualMachineGetContext): (jsc_virtual_machine_new): * API/glib/JSCVirtualMachine.h: Added. * API/glib/JSCVirtualMachinePrivate.h: Added. * API/glib/JSCWrapperMap.cpp: Added. (JSC::WrapperMap::WrapperMap): (JSC::WrapperMap::~WrapperMap): (JSC::WrapperMap::gobjectWrapper): (JSC::WrapperMap::unwrap): (JSC::WrapperMap::registerClass): (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::jsWrapper const): (JSC::WrapperMap::wrappedObject const): * API/glib/JSCWrapperMap.h: Added. * API/glib/docs/jsc-glib-4.0-sections.txt: Added. * API/glib/docs/jsc-glib-4.0.types: Added. * API/glib/docs/jsc-glib-docs.sgml: Added. * API/glib/jsc.h: Added. * CMakeLists.txt: * GLib.cmake: Added. * JavaScriptCore.gir.in: Removed. * PlatformGTK.cmake: * PlatformWPE.cmake: * heap/Heap.cpp: (JSC::Heap::releaseDelayedReleasedObjects): * heap/Heap.h: * heap/HeapInlines.h: (JSC::Heap::releaseSoon): * javascriptcoregtk.pc.in: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::setWrapperMap): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::glibCallbackFunctionStructure const): (JSC::JSGlobalObject::glibWrapperObjectStructure const): (JSC::JSGlobalObject::wrapperMap const): Source/WebKit: Set decorator and deprecation_guard options in API docs config files, since they are no longer common to all libraries. * PlatformGTK.cmake: Tools: Add unit tests for the new API and generate the API documentation with generate-gtkdoc. * Scripts/webkitpy/style/checker.py: Ignore some style errors in public GLib API headers. * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added. (LeakChecker::~LeakChecker): (LeakChecker::watch): (ExceptionHandler::ExceptionHandler): (ExceptionHandler::~ExceptionHandler): (ExceptionHandler::push): (ExceptionHandler::pop): (jscContextGarbageCollect): (testJSCBasic): (testJSCTypes): (foo): (callback): (doubleAndSetInResult): (sumFunction): (testJSCFunction): (testJSCObject): (fooCreate): (fooCreateWithFoo): (fooFree): (setFoo): (getFoo): (setSibling): (getSibling): (multiplyFoo): (getMultiplyFoo): (getMultiplyFooAsync): (bazCreate): (testJSCClass): (barCreate): (barFree): (setBar): (getBar): (testJSCPrototypes): (createError): (testJSCExceptions): (testJSCPromises): (fooFreeAndLog): (testJSCGarbageCollector): (testsJSCVirtualMachine): (testsJSCAutocleanups): (main): * gtk/generate-gtkdoc: (get_generator_for_config): Canonical link: https://commits.webkit.org/199442@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-21 08:42:08 +00:00
2018-03-21 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Initial implementation of JavaScriptCore glib bindings
https://bugs.webkit.org/show_bug.cgi?id=164061
Reviewed by Michael Catanzaro.
Set global variables used by the makefiles.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2018-03-15 Ms2ger <Ms2ger@igalia.com>
[GTK][WPE] Enable service workers
https://bugs.webkit.org/show_bug.cgi?id=178576
Reviewed by Žan Doberšek.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
Runtime flag for link prefetch and remove link subresource. https://bugs.webkit.org/show_bug.cgi?id=183540 Reviewed by Chris Dumez. .: Remove the LINK_PREFETCH build time flag. * Source/cmake/OptionsWin.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: Remove the LINK_PREFETCH build time flag. * Configurations/FeatureDefines.xcconfig: Source/WebCore: This patch removes the LINK_PREFETCH build time flag, removes link subresource, adds an off-by-default runtime flag for link prefetch and makes sure link prefetch only works when this flag is on. Subresource is removed as it's not a part of any spec, nor supported by any other browser. It was replaced by link preload. No new tests as this is not adding any new functionality. * Configurations/FeatureDefines.xcconfig: Remove the LINK_PREFETCH flag. * html/LinkRelAttribute.cpp: (WebCore::LinkRelAttribute::LinkRelAttribute): Put prefetch support behind the runtime flag. (WebCore::LinkRelAttribute::isSupported): Add prefetch. * html/LinkRelAttribute.h: Remove the LINK_PREFETCH flag. * loader/LinkLoader.cpp: (WebCore::createLinkPreloadResourceClient): Remove the LINK_PREFETCH flag. (WebCore::LinkLoader::prefetchIfNeeded): Move the prefetch code to `prefetchIfNeeded()`. Remove subresource bits. (WebCore::LinkLoader::loadLink): Call `prefetchIfNeeded()`. * loader/LinkLoader.h: * loader/ResourceLoadInfo.cpp: (WebCore::toResourceType): Remove the LINK_PREFETCH flag as well as subresource. * loader/SubresourceLoader.cpp: (WebCore::logResourceLoaded): Remove the LINK_PREFETCH flag as well as subresource. * loader/cache/CachedResource.cpp: (WebCore::CachedResource::defaultPriorityForResourceType): Remove the LINK_PREFETCH flag as well as subresource. (WebCore::CachedResource::load): Remove the LINK_PREFETCH flag. * loader/cache/CachedResource.h: (WebCore::CachedResource::ignoreForRequestCount const): Remove the LINK_PREFETCH flag as well as subresource. * loader/cache/CachedResourceLoader.cpp: (WebCore::createResource): Remove the LINK_PREFETCH flag as well as subresource. (WebCore::CachedResourceLoader::requestLinkResource): Remove subresource. (WebCore::contentTypeFromResourceType): Remove the LINK_PREFETCH flag as well as subresource. (WebCore::CachedResourceLoader::checkInsecureContent const): Remove the LINK_PREFETCH flag as well as subresource. (WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest): Remove the LINK_PREFETCH flag as well as subresource. * loader/cache/CachedResourceLoader.h: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setLinkPrefetchEnabled): Set the prefetch flag. (WebCore::RuntimeEnabledFeatures::linkPrefetchEnabled const): Get the prefetch flag. Source/WebCore/PAL: Remove the LINK_PREFETCH build time flag. * Configurations/FeatureDefines.xcconfig: Source/WebKit: Remove the LINK_PREFETCH build time flag. * Configurations/FeatureDefines.xcconfig: * WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::maximumBufferingTime): Source/WebKitLegacy/mac: Remove the LINK_PREFETCH build time flag. * Configurations/FeatureDefines.xcconfig: Source/WTF: Remove the LINK_PREFETCH build time flag. * wtf/FeatureDefines.h: Tools: Remove the LINK_PREFETCH build time flag. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Canonical link: https://commits.webkit.org/199250@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-12 23:28:45 +00:00
2018-03-12 Yoav Weiss <yoav@yoav.ws>
Runtime flag for link prefetch and remove link subresource.
https://bugs.webkit.org/show_bug.cgi?id=183540
Reviewed by Chris Dumez.
Remove the LINK_PREFETCH build time flag.
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
2018-03-12 Zan Dobersek <zdobersek@igalia.com>
Unreviewed. Unbreak the WPE layout testing that's been broken since
r229470. Due to disassociation between ENABLE(ACCESSIBILITY) and
HAVE(ACCESSIBILITY), the injected bundle for the WPE port was left with
undefined symbols. This is fixed with ENABLE_ACCESSIBILITY being enabled
for the WPE port as well.
* Source/cmake/OptionsWPE.cmake:
2018-03-12 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix library version of JavaScriptCoreGTK.
* Source/cmake/OptionsGTK.cmake:
2018-03-09 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Bump WebKitGTK+ version to 2.21.0.
* Source/cmake/OptionsGTK.cmake:
2018-03-08 Tim Horton <timothy_horton@apple.com>
Add a way to not build libwebrtc when building WebKit via Makefiles
https://bugs.webkit.org/show_bug.cgi?id=183437
<rdar://problem/38254840>
Reviewed by Dan Bernstein.
* Source/Makefile:
2018-03-05 Don Olmstead <don.olmstead@sony.com>
[CMake] Split JSC header copying into public and private targets
https://bugs.webkit.org/show_bug.cgi?id=183251
Reviewed by Konstantin Tokarev.
* Source/cmake/WebKitMacros.cmake:
2018-03-02 Don Olmstead <don.olmstead@sony.com>
Add clang-format configuration
https://bugs.webkit.org/show_bug.cgi?id=183302
Reviewed by Ryosuke Niwa.
* .clang-format: Added.
2018-03-01 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] configure failure for aarch64
https://bugs.webkit.org/show_bug.cgi?id=183268
Unreviewed build fix. This failure is caused by a simple typo.
* Source/cmake/OptionsCommon.cmake:
2018-02-26 Yousuke Kimoto <yousuke.kimoto@sony.com>
[WinCairo] WebKit2_C.h should be included for TestWebKit
https://bugs.webkit.org/show_bug.cgi?id=182682
Reviewed by Yusuke Suzuki.
Added a new definition "BUILDING_WIN_CAIRO_WEBKIT" to specify
the wincairo webkit build.
* Source/cmake/OptionsWinCairo.cmake:
2018-02-26 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake][OpenVR] Linkage errors happen because only OpenVR is compiled with -stdlib=libc++ if Clang is used
https://bugs.webkit.org/show_bug.cgi?id=183116
Reviewed by Žan Doberšek.
OpenVR has a option USE_LIBCXX to enable/disable that behavior. Let's disable it.
* Source/CMakeLists.txt: Added a option command for USE_LIBCXX to set OFF as default.
2018-02-21 Don Olmstead <don.olmstead@sony.com>
[CMake] Expose HAVE macros globally
https://bugs.webkit.org/show_bug.cgi?id=183011
Reviewed by Michael Catanzaro.
* Source/cmake/OptionsCommon.cmake:
* Source/cmake/WebKitFeatures.cmake:
2018-02-21 Don Olmstead <don.olmstead@sony.com>
[CMake][Win] Use cmakeconfig.h rather than config.h and Platform.h
https://bugs.webkit.org/show_bug.cgi?id=182883
Reviewed by Per Arne Vollan.
* Source/cmake/OptionsAppleWin.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/OptionsWinCairo.cmake:
2018-02-21 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] USE_UPOWER causes crashes inside a chroot or on systems with broken dbus/upower
https://bugs.webkit.org/show_bug.cgi?id=181825
Reviewed by Carlos Garcia Campos.
Get rid of the upower-glib dependency. We will use upower's D-Bus API instead.
* Source/cmake/FindUPowerGLib.cmake: Removed.
* Source/cmake/OptionsGTK.cmake:
2018-02-20 Adrian Perez de Castro <aperez@igalia.com>
[GTK][CMake] Support building with Enchant 2.x
https://bugs.webkit.org/show_bug.cgi?id=182933
Reviewed by Michael Catanzaro.
* Source/cmake/FindEnchant.cmake: Check for both the "enchant" and "enchant-2"
pkg-config components, picking the first available for which the headers and
library are usable.
[GStreamer] Playbin3 support https://bugs.webkit.org/show_bug.cgi?id=182530 Reviewed by Xabier Rodriguez-Calvar. .: * Source/cmake/GStreamerDefinitions.cmake: New USE(GSTREAMER_PLAYBIN3) feature. This should be enabled only for very recent versions of GStreamer (1.14 at least) and is optional, for now. Source/WebCore: This patch introduces opt-in support for the playbin3 GStreamer element. This new playback element is still considered experimental but it can still be very useful for media assets containing multiple tracks of the same type. In such scenario audio/video decoders would be created only for the selected tracks whereas playbin2 creates decoder for each track. * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp: Take a weak pointer of the media player instead of playbin and call the player when enabling tracks. Also use the GstStream API instead of inspecting the pad when playbin3 is used. (WebCore::AudioTrackPrivateGStreamer::AudioTrackPrivateGStreamer): (WebCore::AudioTrackPrivateGStreamer::disconnect): (WebCore::AudioTrackPrivateGStreamer::markAsActive): (WebCore::AudioTrackPrivateGStreamer::setEnabled): * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: GstStream and GstStreamCollection smart pointer support. (WTF::adoptGRef): (WTF::refGPtr<GstStream>): (WTF::derefGPtr<GstStream>): (WTF::refGPtr<GstStreamCollection>): (WTF::derefGPtr<GstStreamCollection>): * platform/graphics/gstreamer/GRefPtrGStreamer.h: * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp: Use the GstStream API instead of inspecting the pad when playbin3 is used. (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer): (WebCore::InbandTextTrackPrivateGStreamer::disconnect): * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h: (WebCore::InbandTextTrackPrivateGStreamer::create): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): m_{audio,video,text}Tracks are now hashmaps, which is a bit more convenient to use than Vectors. (WebCore::MediaPlayerPrivateGStreamer::updateTracks): Update our tracks implementations depending on the streams stored in the collection. (WebCore::MediaPlayerPrivateGStreamer::enableTrack): Activate the given track. This method is called by the TrackPrivate implementations. (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Refactored legacy (playbin2) support for track hashmap storage. (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Ditto. (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Ditto. (WebCore::MediaPlayerPrivateGStreamer::newTextSample): Use track hashmap storage. (WebCore::MediaPlayerPrivateGStreamer::handleMessage): React on playbin3 GstStream messages, store the collection provided and activate the given selected streams accordingly. (WebCore::MediaPlayerPrivateGStreamer::purgeInvalidAudioTracks): Invalidate tracks no longer needed. (WebCore::MediaPlayerPrivateGStreamer::purgeInvalidVideoTracks): Ditto. (WebCore::MediaPlayerPrivateGStreamer::purgeInvalidTextTracks): Ditto. (WebCore::MediaPlayerPrivateGStreamer::sourceSetupCallback): Refactoring, use source-setup signal instead of the source property which is not supported in playbin3. (WebCore::MediaPlayerPrivateGStreamer::uriDecodeBinElementAddedCallback): Promoted logging messages, GST_TRACE should be used for very frequent and less interesting messages. (WebCore::MediaPlayerPrivateGStreamer::downloadBufferFileCreatedCallback): Ditto. (WebCore::MediaPlayerPrivateGStreamer::sourceSetup): Called by the source-setup signal handler. (WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering): Debugging message added. (WebCore::MediaPlayerPrivateGStreamer::setPreload): Ditto. (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Create a playbin3 element if USE(GSTREAMER_PLAYBIN3) was enabled and connect to playbin2 signals otherwise. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: (WebCore::MediaPlayerPrivateGStreamer::createWeakPtr): Promoted to public. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: New StreamCollectionChanged notification type, used the sub-class. * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Support for GstStream API. (WebCore::TrackPrivateBaseGStreamer::disconnect): Clear GstStream too. (WebCore::TrackPrivateBaseGStreamer::tagsChanged): Get tags from GstStream. (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged): No need to check m_pad twice. (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Ditto. * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: Take a weak pointer of the media player instead of playbin and call the player when enabling tracks. Also use the GstStream API instead of inspecting the pad when playbin3 is used. (WebCore::VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer): (WebCore::VideoTrackPrivateGStreamer::disconnect): (WebCore::VideoTrackPrivateGStreamer::markAsActive): (WebCore::VideoTrackPrivateGStreamer::setSelected): * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: * platform/graphics/gstreamer/mse/AppendPipeline.cpp: Pass player pointer to track constructor. (WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink): * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp: Source-setup signal handler. (WebCore::MediaPlayerPrivateGStreamerMSE::sourceSetup): * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h: Canonical link: https://commits.webkit.org/198668@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@228617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-02-19 08:58:14 +00:00
2018-02-19 Philippe Normand <pnormand@igalia.com>
[GStreamer] Playbin3 support
https://bugs.webkit.org/show_bug.cgi?id=182530
Reviewed by Xabier Rodriguez-Calvar.
* Source/cmake/GStreamerDefinitions.cmake: New
USE(GSTREAMER_PLAYBIN3) feature. This should be enabled only for
very recent versions of GStreamer (1.14 at least) and is optional, for now.
2018-02-18 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Fullscreen video is broken
https://bugs.webkit.org/show_bug.cgi?id=182740
Reviewed by Michael Catanzaro.
* Source/cmake/WebKitFeatures.cmake: Enable the
VIDEO_USES_ELEMENT_FULLSCREEN feature on CMake ports.
Use OPENGL macros to be more clear about which OpenGL/ES WebGL uses on Cocoa https://bugs.webkit.org/show_bug.cgi?id=182894 Reviewed by Tim Horton. .: Rename OPENGL_ES_2 to OPENGL_ES. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: PerformanceTests: Rename OPENGL_ES_2 to OPENGL_ES. * StitchMarker/wtf/Platform.h: Source/WebCore: Adjust the places where we check for PLATFORM(MAC) or PLATFORM(IOS) related to WebGL, and instead rely on USE(OPENGL) USE(OPENGL_ES). * CMakeLists.txt: * PlatformGTK.cmake: * platform/graphics/GLContext.cpp: (WebCore::initializeOpenGLShimsIfNeeded): * platform/graphics/GraphicsContext3DPrivate.cpp: * platform/graphics/OpenGLESShims.h: * platform/graphics/cairo/ImageBufferCairo.cpp: * platform/graphics/egl/GLContextEGL.cpp: (WebCore::GLContextEGL::getEGLConfig): (WebCore::GLContextEGL::createContext): (WebCore::GLContextEGL::createSharingContext): * platform/graphics/egl/GLContextEGLWPE.cpp: (WebCore::GLContextEGL::createWPEContext): * platform/graphics/egl/GLContextEGLWayland.cpp: (WebCore::GLContextEGL::createWaylandContext): * platform/graphics/egl/GLContextEGLX11.cpp: (WebCore::GLContextEGL::createPixmapContext): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: (WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext): * platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp: (WebCore::VideoTextureCopierGStreamer::VideoTextureCopierGStreamer): (WebCore::VideoTextureCopierGStreamer::~VideoTextureCopierGStreamer): (WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture): * platform/graphics/gstreamer/VideoTextureCopierGStreamer.h: * platform/graphics/opengl/Extensions3DOpenGLES.cpp: * platform/graphics/opengl/Extensions3DOpenGLES.h: * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: (WebCore::GraphicsContext3D::create): (WebCore::GraphicsContext3D::GraphicsContext3D): (WebCore::GraphicsContext3D::isGLES2Compliant const): * platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp: (WebCore::GraphicsContext3D::create): (WebCore::GraphicsContext3D::GraphicsContext3D): (WebCore::GraphicsContext3D::~GraphicsContext3D): (WebCore::GraphicsContext3D::isGLES2Compliant const): (WebCore::GraphicsContext3D::getExtensions): * platform/graphics/texmap/TextureMapperContextAttributes.cpp: (WebCore::TextureMapperContextAttributes::initialize): * platform/graphics/texmap/TextureMapperGL.cpp: (WebCore::TextureMapperGLData::~TextureMapperGLData): (WebCore::TextureMapperGLData::getVAO): (WebCore::TextureMapperGL::beginPainting): (WebCore::TextureMapperGL::endPainting): * platform/graphics/texmap/TextureMapperGLHeaders.h: * platform/graphics/texmap/TextureMapperShaderProgram.cpp: (WebCore::TextureMapperShaderProgram::create): Source/WebKit: Rename OPENGL_ES_2 to OPENGL_ES. * CMakeLists.txt: * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: (WebKit::AcceleratedBackingStoreWayland::paint): * UIProcess/gtk/WaylandCompositor.cpp: (WebKit::WaylandCompositor::initializeEGL): Source/WebKitLegacy/win: Rename OPENGL_ES_2 to OPENGL_ES. * WebCoreSupport/AcceleratedCompositingContext.cpp: Source/WTF: If we're on a Cocoa platform, define USE_OPENGL/USE_OPENGL_ES depending on what we're actually going to use. In this case, they are exclusive, but it doesn't appear that other platforms use this approach. Ultimately the idea is to be more concerned with the type of OpenGL we're using, rather than the platform. * wtf/Platform.h: Define USE_OPENGL(_ES) for PLATFORM(COCOA). Canonical link: https://commits.webkit.org/198652@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@228590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-02-17 00:48:36 +00:00
2018-02-16 Dean Jackson <dino@apple.com>
Use OPENGL macros to be more clear about which OpenGL/ES WebGL uses on Cocoa
https://bugs.webkit.org/show_bug.cgi?id=182894
Reviewed by Tim Horton.
Rename OPENGL_ES_2 to OPENGL_ES.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2018-02-09 Ross Kirsling <ross.kirsling@sony.com>
Simplify .gitignore's WebKitLibraries/win section.
https://bugs.webkit.org/show_bug.cgi?id=182618
Reviewed by Per Arne Vollan.
We need to update this section for WinCairoRequirements regardless, but
it never needed to be this longwinded in the first place.
* .gitignore:
2018-02-08 Fujii Hironori <Hironori.Fujii@sony.com>
[Meta][Win] Support ICU 59.1+
https://bugs.webkit.org/show_bug.cgi?id=181004
Reviewed by Alex Christensen.
ICU 59 changed the type of UChar from wchar_t to char16_t on
Windows. We need a lot of conversions between UChar* and wchar_t*
to call Windows API because it takes string as wchar_t*.
Fortunately, ICU is configurable to define UChar as wchar_t as
well as the prior ICU.
<http://icu-project.org/apiref/icu4c/umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac>
* Source/cmake/OptionsWin.cmake: Add a compile option -DUCHAR_TYPE=wchar_t.
2018-02-08 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, switch -pthread to -lpthread per recommendation from Adrian
https://bugs.webkit.org/show_bug.cgi?id=182400
<rdar://problem/37252242>
This is tested and works fine.
* Source/cmake/WebKitCompilerFlags.cmake:
2018-02-05 Yousuke Kimoto <yousuke.kimoto@sony.com>
[WinCairo] Refine WebKitLegacy and WebKit build for wincairo
https://bugs.webkit.org/show_bug.cgi?id=182478
Reviewed by Alex Christensen.
* Source/cmake/OptionsWinCairo.cmake: Added a ENABLE_WIN_CAIRO_WEBKIT option to build webkit for wincairo.
2018-02-05 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, fix build using the new ENABLE_ADDRESS_SANITIZER option
https://bugs.webkit.org/show_bug.cgi?id=182400
<rdar://problem/37252242>
I failed to properly test a last-minute change.
* Source/cmake/WebKitCompilerFlags.cmake:
2018-02-05 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Add ENABLE_ADDRESS_SANITIZER to make it easier to build with asan support
https://bugs.webkit.org/show_bug.cgi?id=182400
Reviewed by Konstantin Tokarev.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitCompilerFlags.cmake:
2018-01-31 Michael Catanzaro <mcatanzaro@igalia.com>
Update ReadMe.md
https://bugs.webkit.org/show_bug.cgi?id=182314
Reviewed by Alex Christensen.
Add download link for Epiphany Technology Preview. Improve build instructions for GTK. Add
build instructions for WPE. Add instructions to run MiniBrowser on Linux. Miscellaneous
typographical adjustments.
* ReadMe.md:
2018-01-30 Sergio Villar Senin <svillar@igalia.com>
[WebVR][GTK][WPE] Exclude OpenVR from tarballs
https://bugs.webkit.org/show_bug.cgi?id=182284
Reviewed by Michael Catanzaro.
Added private build options for USE_OPENVR.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
2018-01-30 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Fix forwarding header conflict of WebKit on WinCairo
https://bugs.webkit.org/show_bug.cgi?id=177202
Reviewed by Alex Christensen.
* Source/cmake/WebKitMacros.cmake:
[WebAuthN] Add a compile-time feature flag https://bugs.webkit.org/show_bug.cgi?id=182211 <rdar://problem/36936365> Reviewed by Brent Fulgham. .: * Source/cmake/WebKitFeatures.cmake: * Source/cmake/tools/vsprops/FeatureDefines.props: * Source/cmake/tools/vsprops/FeatureDefinesCairo.props: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: Add a compile-time feature flag for WebAuthN as most of the functionality is platform dependent. No tests. * Configurations/FeatureDefines.xcconfig: * Modules/credentialmanagement/BasicCredential.cpp: * Modules/credentialmanagement/BasicCredential.h: * Modules/credentialmanagement/BasicCredential.idl: * Modules/credentialmanagement/CredentialCreationOptions.h: * Modules/credentialmanagement/CredentialCreationOptions.idl: * Modules/credentialmanagement/CredentialRequestOptions.h: * Modules/credentialmanagement/CredentialRequestOptions.idl: * Modules/credentialmanagement/CredentialsContainer.cpp: * Modules/credentialmanagement/CredentialsContainer.h: * Modules/credentialmanagement/CredentialsContainer.idl: * Modules/credentialmanagement/NavigatorCredentials.cpp: * Modules/credentialmanagement/NavigatorCredentials.h: * Modules/credentialmanagement/NavigatorCredentials.idl: * Modules/webauthn/Authenticator.cpp: * Modules/webauthn/Authenticator.h: * Modules/webauthn/AuthenticatorAssertionResponse.cpp: * Modules/webauthn/AuthenticatorAssertionResponse.h: * Modules/webauthn/AuthenticatorAssertionResponse.idl: * Modules/webauthn/AuthenticatorAttestationResponse.cpp: * Modules/webauthn/AuthenticatorAttestationResponse.h: * Modules/webauthn/AuthenticatorAttestationResponse.idl: * Modules/webauthn/AuthenticatorResponse.cpp: * Modules/webauthn/AuthenticatorResponse.h: * Modules/webauthn/AuthenticatorResponse.idl: * Modules/webauthn/PublicKeyCredential.cpp: * Modules/webauthn/PublicKeyCredential.h: * Modules/webauthn/PublicKeyCredential.idl: * Modules/webauthn/PublicKeyCredentialCreationOptions.h: * Modules/webauthn/PublicKeyCredentialCreationOptions.idl: * Modules/webauthn/PublicKeyCredentialDescriptor.h: * Modules/webauthn/PublicKeyCredentialDescriptor.idl: * Modules/webauthn/PublicKeyCredentialRequestOptions.h: * Modules/webauthn/PublicKeyCredentialRequestOptions.idl: * Modules/webauthn/PublicKeyCredentialType.h: * Modules/webauthn/PublicKeyCredentialType.idl: * bindings/js/JSAuthenticatorResponseCustom.cpp: * bindings/js/JSBasicCredentialCustom.cpp: Source/WebCore/PAL: * Configurations/FeatureDefines.xcconfig: Source/WebKit: * Configurations/FeatureDefines.xcconfig: Source/WebKitLegacy/mac: * Configurations/FeatureDefines.xcconfig: Tools: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: LayoutTests: Skip WebAuthN related tests on certain platforms as they won't support it immediately. * platform/gtk/TestExpectations: * platform/ios-wk1/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/win/TestExpectations: * platform/wpe/TestExpectations: Canonical link: https://commits.webkit.org/198071@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-30 01:20:17 +00:00
2018-01-29 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Add a compile-time feature flag
https://bugs.webkit.org/show_bug.cgi?id=182211
<rdar://problem/36936365>
Reviewed by Brent Fulgham.
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
[WebVR] Add OpenVR to the tree and to the build https://bugs.webkit.org/show_bug.cgi?id=177298 Reviewed by Žan Doberšek. .: * Source/CMakeLists.txt: * Source/cmake/OptionsGTK.cmake: Enable USE_OPENVR. * Source/cmake/OptionsWPE.cmake: Ditto. Source/ThirdParty: Adding the required parts of OpenVR library to the tree. This will be used as a backend for the eventual WebVR implementation. * openvr/CMakeLists.txt: Added. * openvr/LICENSE: Added. * openvr/README.md: Added. * openvr/README.webkit: Added. Includes specifics changes made to the original library to accommodate it to the WebKit build system. * openvr/Toolchain-clang.cmake: Added. * openvr/headers/openvr.h: Added. (vr::ButtonMaskFromId): (vr::NotificationBitmap_t::NotificationBitmap_t): (vr::VRToken): (vr::COpenVRContext::COpenVRContext): (vr::COpenVRContext::CheckClear): (vr::COpenVRContext::VRSystem): (vr::COpenVRContext::VRChaperone): (vr::COpenVRContext::VRChaperoneSetup): (vr::COpenVRContext::VRCompositor): (vr::COpenVRContext::VROverlay): (vr::COpenVRContext::VRResources): (vr::COpenVRContext::VRScreenshots): (vr::COpenVRContext::VRRenderModels): (vr::COpenVRContext::VRExtendedDisplay): (vr::COpenVRContext::VRSettings): (vr::COpenVRContext::VRApplications): (vr::COpenVRContext::VRTrackedCamera): (vr::COpenVRContext::VRDriverManager): (vr::OpenVRInternal_ModuleContext): (vr::VRSystem): (vr::VRChaperone): (vr::VRChaperoneSetup): (vr::VRCompositor): (vr::VROverlay): (vr::VRScreenshots): (vr::VRRenderModels): (vr::VRApplications): (vr::VRSettings): (vr::VRResources): (vr::VRExtendedDisplay): (vr::VRTrackedCamera): (vr::VRDriverManager): (vr::COpenVRContext::Clear): (vr::VR_Init): (vr::VR_Shutdown): * openvr/headers/openvr_api.cs: Added. * openvr/headers/openvr_api.json: Added. * openvr/headers/openvr_capi.h: Added. * openvr/headers/openvr_driver.h: Added. (vr::ButtonMaskFromId): (vr::IVRDriverDirectModeComponent::CreateSwapTextureSet): (vr::IVRDriverDirectModeComponent::DestroySwapTextureSet): (vr::IVRDriverDirectModeComponent::DestroyAllSwapTextureSets): (vr::IVRDriverDirectModeComponent::GetNextSwapTextureSetIndex): (vr::IVRDriverDirectModeComponent::SubmitLayer): (vr::IVRDriverDirectModeComponent::Present): (vr::CVRPropertyHelpers::CVRPropertyHelpers): (vr::CVRPropertyHelpers::TrackedDeviceToPropertyContainer): (vr::CVRPropertyHelpers::GetProperty): (vr::CVRPropertyHelpers::SetProperty): (vr::CVRPropertyHelpers::GetStringProperty): (vr::CVRPropertyHelpers::SetStringProperty): (vr::CVRPropertyHelpers::GetPropertyHelper): (vr::CVRPropertyHelpers::GetBoolProperty): (vr::CVRPropertyHelpers::GetFloatProperty): (vr::CVRPropertyHelpers::GetInt32Property): (vr::CVRPropertyHelpers::GetUint64Property): (vr::CVRPropertyHelpers::SetBoolProperty): (vr::CVRPropertyHelpers::SetFloatProperty): (vr::CVRPropertyHelpers::SetInt32Property): (vr::CVRPropertyHelpers::SetUint64Property): (vr::CVRPropertyHelpers::SetPropertyError): (vr::CVRPropertyHelpers::EraseProperty): (vr::CVRHiddenAreaHelpers::CVRHiddenAreaHelpers): (vr::CVRHiddenAreaHelpers::GetPropertyEnum): (vr::CVRHiddenAreaHelpers::SetHiddenArea): (vr::CVRHiddenAreaHelpers::GetHiddenArea): (vr::VRDriverContext): (vr::COpenVRDriverContext::COpenVRDriverContext): (vr::COpenVRDriverContext::VRSettings): (vr::COpenVRDriverContext::VRPropertiesRaw): (vr::COpenVRDriverContext::VRProperties): (vr::COpenVRDriverContext::VRHiddenArea): (vr::COpenVRDriverContext::VRServerDriverHost): (vr::COpenVRDriverContext::VRWatchdogHost): (vr::COpenVRDriverContext::VRDriverLog): (vr::COpenVRDriverContext::VRDriverHandle): (vr::OpenVRInternal_ModuleServerDriverContext): (vr::VRSettings): (vr::VRPropertiesRaw): (vr::VRProperties): (vr::VRHiddenArea): (vr::VRDriverLog): (vr::VRServerDriverHost): (vr::VRWatchdogHost): (vr::VRDriverHandle): (vr::COpenVRDriverContext::Clear): (vr::COpenVRDriverContext::InitServer): (vr::COpenVRDriverContext::InitWatchdog): (vr::InitServerDriverContext): (vr::InitWatchdogDriverContext): (vr::CleanupDriverContext): * openvr/patches/cmake-build.patch: Added. * openvr/src/CMakeLists.txt: Added. * openvr/src/Info.plist: Added. * openvr/src/README: Added. * openvr/src/ivrclientcore.h: Added. * openvr/src/json/json-forwards.h: Added. * openvr/src/json/json.h: Added. (std::swap): * openvr/src/jsoncpp.cpp: Added. (Json::codePointToUTF8): (Json::isControlCharacter): (Json::uintToString): (Json::fixNumericLocale): (Json::Features::Features): (Json::Features::all): (Json::Features::strictMode): (Json::containsNewLine): (Json::Reader::Reader): (Json::Reader::parse): (Json::Reader::readValue): (Json::Reader::skipCommentTokens): (Json::Reader::readToken): (Json::Reader::skipSpaces): (Json::Reader::match): (Json::Reader::readComment): (Json::normalizeEOL): (Json::Reader::addComment): (Json::Reader::readCStyleComment): (Json::Reader::readCppStyleComment): (Json::Reader::readNumber): (Json::Reader::readString): (Json::Reader::readObject): (Json::Reader::readArray): (Json::Reader::decodeNumber): (Json::Reader::decodeDouble): (Json::Reader::decodeString): (Json::Reader::decodeUnicodeCodePoint): (Json::Reader::decodeUnicodeEscapeSequence): (Json::Reader::addError): (Json::Reader::recoverFromError): (Json::Reader::addErrorAndRecover): (Json::Reader::currentValue): (Json::Reader::getNextChar): (Json::Reader::getLocationLineAndColumn const): (Json::Reader::getLocationSnippet const): (Json::Reader::getFormatedErrorMessages const): (Json::Reader::getFormattedErrorMessages const): (Json::Reader::getStructuredErrors const): (Json::Reader::pushError): (Json::Reader::good const): (Json::OurFeatures::all): (Json::OurReader::OurReader): (Json::OurReader::parse): (Json::OurReader::readValue): (Json::OurReader::skipCommentTokens): (Json::OurReader::readToken): (Json::OurReader::skipSpaces): (Json::OurReader::match): (Json::OurReader::readComment): (Json::OurReader::addComment): (Json::OurReader::readCStyleComment): (Json::OurReader::readCppStyleComment): (Json::OurReader::readNumber): (Json::OurReader::readString): (Json::OurReader::readStringSingleQuote): (Json::OurReader::readObject): (Json::OurReader::readArray): (Json::OurReader::decodeNumber): (Json::OurReader::decodeDouble): (Json::OurReader::decodeString): (Json::OurReader::decodeUnicodeCodePoint): (Json::OurReader::decodeUnicodeEscapeSequence): (Json::OurReader::addError): (Json::OurReader::recoverFromError): (Json::OurReader::addErrorAndRecover): (Json::OurReader::currentValue): (Json::OurReader::getNextChar): (Json::OurReader::getLocationLineAndColumn const): (Json::OurReader::getFormattedErrorMessages const): (Json::OurReader::getStructuredErrors const): (Json::OurReader::pushError): (Json::OurReader::good const): (Json::OurCharReader::OurCharReader): (Json::OurCharReader::parse): (Json::CharReaderBuilder::CharReaderBuilder): (Json::CharReaderBuilder::~CharReaderBuilder): (Json::CharReaderBuilder::newCharReader const): (Json::getValidReaderKeys): (Json::CharReaderBuilder::validate const): (Json::CharReaderBuilder::operator[]): (Json::CharReaderBuilder::strictMode): (Json::CharReaderBuilder::setDefaults): (Json::parseFromStream): (Json::operator>>): (Json::ValueIteratorBase::ValueIteratorBase): (Json::ValueIteratorBase::deref const): (Json::ValueIteratorBase::increment): (Json::ValueIteratorBase::decrement): (Json::ValueIteratorBase::computeDistance const): (Json::ValueIteratorBase::isEqual const): (Json::ValueIteratorBase::copy): (Json::ValueIteratorBase::key const): (Json::ValueIteratorBase::index const): (Json::ValueIteratorBase::name const): (Json::ValueIteratorBase::memberName const): (Json::ValueConstIterator::ValueConstIterator): (Json::operator=): (Json::ValueIterator::ValueIterator): (Json::ValueIterator::operator=): (Json::InRange): (Json::integerToDouble): (Json::duplicateStringValue): (Json::duplicateAndPrefixStringValue): (Json::decodePrefixedString): (Json::releaseStringValue): (Json::Exception::Exception): (Json::throw): (Json::RuntimeError::RuntimeError): (Json::LogicError::LogicError): (Json::throwRuntimeError): (Json::throwLogicError): (Json::Value::CommentInfo::CommentInfo): (Json::Value::CommentInfo::~CommentInfo): (Json::Value::CommentInfo::setComment): (Json::Value::CZString::CZString): (Json::Value::CZString::~CZString): (Json::Value::CZString::swap): (Json::Value::CZString::operator=): (Json::Value::CZString::operator< const): (Json::Value::CZString::operator== const): (Json::Value::CZString::index const): (Json::Value::CZString::data const): (Json::Value::CZString::length const): (Json::Value::CZString::isStaticString const): (Json::Value::Value): (Json::Value::~Value): (Json::Value::operator=): (Json::Value::swapPayload): (Json::Value::swap): (Json::Value::type const): (Json::Value::compare const): (Json::Value::operator< const): (Json::Value::operator<= const): (Json::Value::operator>= const): (Json::Value::operator> const): (Json::Value::operator== const): (Json::Value::operator!= const): (Json::Value::asCString const): (Json::Value::getString const): (Json::Value::asString const): (Json::Value::asConstString const): (Json::Value::asInt const): (Json::Value::asUInt const): (Json::Value::asInt64 const): (Json::Value::asUInt64 const): (Json::Value::asLargestInt const): (Json::Value::asLargestUInt const): (Json::Value::asDouble const): (Json::Value::asFloat const): (Json::Value::asBool const): (Json::Value::isConvertibleTo const): (Json::Value::size const): (Json::Value::empty const): (Json::Value::operator! const): (Json::Value::clear): (Json::Value::resize): (Json::Value::operator[]): (Json::Value::operator[] const): (Json::Value::initBasic): (Json::Value::resolveReference): (Json::Value::get const): (Json::Value::isValidIndex const): (Json::Value::find const): (Json::Value::append): (Json::Value::removeMember): (Json::Value::removeIndex): (Json::Value::isMember const): (Json::Value::getMemberNames const): (Json::IsIntegral): (Json::Value::isNull const): (Json::Value::isBool const): (Json::Value::isInt const): (Json::Value::isUInt const): (Json::Value::isInt64 const): (Json::Value::isUInt64 const): (Json::Value::isIntegral const): (Json::Value::isDouble const): (Json::Value::isNumeric const): (Json::Value::isString const): (Json::Value::isArray const): (Json::Value::isObject const): (Json::Value::setComment): (Json::Value::hasComment const): (Json::Value::getComment const): (Json::Value::setOffsetStart): (Json::Value::setOffsetLimit): (Json::Value::getOffsetStart const): (Json::Value::getOffsetLimit const): (Json::Value::toStyledString const): (Json::Value::begin const): (Json::Value::end const): (Json::Value::begin): (Json::Value::end): (Json::PathArgument::PathArgument): (Json::Path::Path): (Json::Path::makePath): (Json::Path::addPathInArg): (Json::Path::invalidPath): (Json::Path::resolve const): (Json::Path::make const): (Json::containsControlCharacter): (Json::containsControlCharacter0): (Json::valueToString): (Json::valueToQuotedString): (Json::strnpbrk): (Json::valueToQuotedStringN): (Json::Writer::~Writer): (Json::FastWriter::FastWriter): (Json::FastWriter::enableYAMLCompatibility): (Json::FastWriter::dropNullPlaceholders): (Json::FastWriter::omitEndingLineFeed): (Json::FastWriter::write): (Json::FastWriter::writeValue): (Json::StyledWriter::StyledWriter): (Json::StyledWriter::write): (Json::StyledWriter::writeValue): (Json::StyledWriter::writeArrayValue): (Json::StyledWriter::isMultineArray): (Json::StyledWriter::pushValue): (Json::StyledWriter::writeIndent): (Json::StyledWriter::writeWithIndent): (Json::StyledWriter::indent): (Json::StyledWriter::unindent): (Json::StyledWriter::writeCommentBeforeValue): (Json::StyledWriter::writeCommentAfterValueOnSameLine): (Json::StyledWriter::hasCommentForValue): (Json::StyledStreamWriter::StyledStreamWriter): (Json::StyledStreamWriter::write): (Json::StyledStreamWriter::writeValue): (Json::StyledStreamWriter::writeArrayValue): (Json::StyledStreamWriter::isMultineArray): (Json::StyledStreamWriter::pushValue): (Json::StyledStreamWriter::writeIndent): (Json::StyledStreamWriter::writeWithIndent): (Json::StyledStreamWriter::indent): (Json::StyledStreamWriter::unindent): (Json::StyledStreamWriter::writeCommentBeforeValue): (Json::StyledStreamWriter::writeCommentAfterValueOnSameLine): (Json::StyledStreamWriter::hasCommentForValue): (Json::BuiltStyledStreamWriter::BuiltStyledStreamWriter): (Json::BuiltStyledStreamWriter::write): (Json::BuiltStyledStreamWriter::writeValue): (Json::BuiltStyledStreamWriter::writeArrayValue): (Json::BuiltStyledStreamWriter::isMultineArray): (Json::BuiltStyledStreamWriter::pushValue): (Json::BuiltStyledStreamWriter::writeIndent): (Json::BuiltStyledStreamWriter::writeWithIndent): (Json::BuiltStyledStreamWriter::indent): (Json::BuiltStyledStreamWriter::unindent): (Json::BuiltStyledStreamWriter::writeCommentBeforeValue): (Json::BuiltStyledStreamWriter::writeCommentAfterValueOnSameLine): (Json::BuiltStyledStreamWriter::hasCommentForValue): (Json::StreamWriter::StreamWriter): (Json::StreamWriter::~StreamWriter): (Json::StreamWriter::Factory::~Factory): (Json::StreamWriterBuilder::StreamWriterBuilder): (Json::StreamWriterBuilder::~StreamWriterBuilder): (Json::StreamWriterBuilder::newStreamWriter const): (Json::getValidWriterKeys): (Json::StreamWriterBuilder::validate const): (Json::StreamWriterBuilder::operator[]): (Json::StreamWriterBuilder::setDefaults): (Json::writeString): (Json::operator<<): * openvr/src/openvr_api_public.cpp: Added. (vr::VR_GetInitToken): (vr::VR_InitInternal2): (vr::VR_InitInternal): (vr::VR_ShutdownInternal): (vr::VR_LoadHmdSystemInternal): (vr::VR_GetGenericInterface): (vr::VR_IsInterfaceVersionValid): (vr::VR_IsHmdPresent): (vr::VR_IsRuntimeInstalled): (vr::VR_RuntimePath): (vr::VR_GetVRInitErrorAsSymbol): (vr::VR_GetVRInitErrorAsEnglishDescription): (vr::VR_GetStringForHmdError): * openvr/src/vrcommon/dirtools_public.cpp: Added. (BCreateDirectoryRecursive): (BCreateDirectory): * openvr/src/vrcommon/dirtools_public.h: Added. * openvr/src/vrcommon/envvartools_public.cpp: Added. (GetEnvironmentVariable): (SetEnvironmentVariable): * openvr/src/vrcommon/envvartools_public.h: Added. * openvr/src/vrcommon/hmderrors_public.cpp: Added. (GetEnglishStringForHmdError): (GetIDForVRInitError): * openvr/src/vrcommon/hmderrors_public.h: Added. * openvr/src/vrcommon/pathtools_public.cpp: Added. (Path_GetExecutablePath): (Path_GetWorkingDirectory): (Path_SetWorkingDirectory): (Path_StripFilename): (Path_StripDirectory): (Path_StripExtension): (Path_GetExtension): (Path_IsAbsolute): (Path_MakeAbsolute): (Path_FixSlashes): (Path_GetSlash): (Path_Join): (Path_RemoveTrailingSlash): (Path_Compact): (Path_GetThisModulePath): (Path_IsDirectory): (Path_IsAppBundle): (Path_Exists): (Path_FindParentDirectoryRecursively): (Path_FindParentSubDirectoryRecursively): (Path_ReadBinaryFile): (Path_WriteBinaryFile): (Path_ReadTextFile): (Path_WriteStringToTextFile): (Path_WriteStringToTextFileAtomic): (Path_FilePathToUrl): (Path_UrlToFilePath): (GetUserDocumentsPath): * openvr/src/vrcommon/pathtools_public.h: Added. * openvr/src/vrcommon/sharedlibtools_public.cpp: Added. (SharedLib_Load): (SharedLib_GetFunction): (SharedLib_Unload): * openvr/src/vrcommon/sharedlibtools_public.h: Added. * openvr/src/vrcommon/strtools_public.cpp: Added. (StringHasPrefix): (StringHasPrefixCaseSensitive): (StringHasSuffix): (StringHasSuffixCaseSensitive): (UTF16to8): (UTF8to16): (strcpy_safe): (StringToUpper): (StringToLower): (ReturnStdString): (BufferToStdString): (Uint64ToString): (StringToUint64): (cIntToHexDigit): (iHexCharToInt): (V_URLEncodeInternal): (V_URLDecodeInternal): (V_URLEncode): (V_URLDecode): (V_StripExtension): * openvr/src/vrcommon/strtools_public.h: Added. (stricmp): (strnicmp): (wcsncpy_s): (strncpy_s): (strtoull): * openvr/src/vrcommon/vrpathregistry_public.cpp: Added. (GetAppSettingsPath): (CVRPathRegistry_Public::CVRPathRegistry_Public): (CVRPathRegistry_Public::GetOpenVRConfigPath): (CVRPathRegistry_Public::GetVRPathRegistryFilename): (ParseStringListFromJson): (StringListToJson): (CVRPathRegistry_Public::ToJsonString): (CVRPathRegistry_Public::BLoadFromFile): (CVRPathRegistry_Public::BSaveToFile const): (CVRPathRegistry_Public::GetRuntimePath const): (CVRPathRegistry_Public::GetConfigPath const): (CVRPathRegistry_Public::GetLogPath const): (CVRPathRegistry_Public::GetPaths): * openvr/src/vrcommon/vrpathregistry_public.h: Added. Source/WebCore: Added build dependencies with the OpenVR library. * CMakeLists.txt: Tools: * Scripts/webkitpy/style/checker.py: Added openvr to the list of third party libraries with reduced style checks. Canonical link: https://commits.webkit.org/197870@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-24 15:04:34 +00:00
2018-01-18 Sergio Villar Senin <svillar@igalia.com>
[WebVR] Add OpenVR to the tree and to the build
https://bugs.webkit.org/show_bug.cgi?id=177298
Reviewed by Žan Doberšek.
* Source/CMakeLists.txt:
* Source/cmake/OptionsGTK.cmake: Enable USE_OPENVR.
* Source/cmake/OptionsWPE.cmake: Ditto.
2018-01-18 Dan Bernstein <mitz@apple.com>
[Xcode] Shared schemes in the WebKit workspace still have build pre-actions that invoke copy-webkitlibraries-to-product-directory
https://bugs.webkit.org/show_bug.cgi?id=181784
Reviewed by Anders Carlsson.
* WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme: Remove the build pre-action.
* WebKit.xcworkspace/xcshareddata/xcschemes/All Tools.xcscheme: Ditto.
2018-01-17 Michael Catanzaro <mcatanzaro@igalia.com>
WEBKIT_FRAMEWORK should not modify file-global include directories
https://bugs.webkit.org/show_bug.cgi?id=181656
Reviewed by Konstantin Tokarev.
Only modify the system include directories of the target passed to WEBKIT_FRAMEWORK.
* Source/cmake/WebKitMacros.cmake:
2018-01-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.6 release.
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2018-01-15 Michael Catanzaro <mcatanzaro@igalia.com>
REGRESSION(r226266): [GTK] RELEASE_ASSERT(reservedZoneSize >= minimumReservedZoneSize) in JSC::VM::updateStackLimits
https://bugs.webkit.org/show_bug.cgi?id=181438
<rdar://problem/36376724>
Reviewed by Carlos Garcia Campos.
Build JSC as a shared library.
Stop using -fvisibility=hidden. This is a shame, but it is causing problems that I don't
know how to fix.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitCompilerFlags.cmake:
2018-01-11 Keith Miller <keith_miller@apple.com>
Rename ENABLE_ASYNC_ITERATION to ENABLE_JS_ASYNC_ITERATION
https://bugs.webkit.org/show_bug.cgi?id=181573
Reviewed by Simon Fraser.
* Source/cmake/WebKitFeatures.cmake:
2018-01-10 Per Arne Vollan <pvollan@apple.com>
[Win] WebKitLegacy should be a dll, not a static library.
https://bugs.webkit.org/show_bug.cgi?id=181500
Reviewed by Alex Christensen.
Set WebKitLegacy library type to shared.
* Source/cmake/OptionsWin.cmake:
2018-01-09 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.5 release.
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2018-01-09 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.4 release.
* Source/cmake/OptionsGTK.cmake: Bump version numbers.
2018-01-05 Fujii Hironori <Hironori.Fujii@sony.com>
REGRESSION(r226306)[Win][CMake] Unnecessary recompilations triggered by unconditionally copied header files of DerivedSources
https://bugs.webkit.org/show_bug.cgi?id=181324
Reviewed by Konstantin Tokarev.
r226306 changed to use cmake -E copy to copy header files of
DerivedSources. This command copies files unconditionally, then
introduced unnecessary recompilations.
* Source/cmake/WebKitMacros.cmake: Use copy_if_different instead of copy.
Replace hard-coded paths in shebangs with #!/usr/bin/env https://bugs.webkit.org/show_bug.cgi?id=181040 Patch by Ting-Wei Lan <lantw44@gmail.com> on 2018-01-03 Reviewed by Alex Christensen. .: * Source/cmake/tools/scripts/auto-version.pl: * Source/cmake/tools/scripts/feature-defines.pl: * Source/cmake/tools/scripts/version-stamp.pl: Source/JavaScriptCore: * Scripts/UpdateContents.py: * Scripts/cssmin.py: * Scripts/generate-combined-inspector-json.py: * Scripts/xxd.pl: * create_hash_table: * generate-bytecode-files: * wasm/generateWasm.py: * wasm/generateWasmOpsHeader.py: * yarr/generateYarrCanonicalizeUnicode: Source/WebCore: * bindings/scripts/InFilesCompiler.pm: * bindings/scripts/InFilesParser.pm: * bindings/scripts/generate-bindings-all.pl: * bindings/scripts/generate-bindings.pl: * bindings/scripts/preprocess-idls.pl: * css/make-css-file-arrays.pl: * css/makeprop.pl: * css/makevalues.pl: * dom/make_event_factory.pl: * dom/make_names.pl: * extract-localizable-strings.pl: * make-hash-tools.pl: Source/WebCore/PAL: * AVFoundationSupport.py: Source/WebInspectorUI: * Scripts/combine-resources.pl: * Scripts/copy-user-interface-resources-dryrun.rb: * Scripts/copy-user-interface-resources.pl: * Scripts/fix-worker-imports-for-optimized-builds.pl: * Scripts/remove-console-asserts-dryrun.rb: * Scripts/remove-console-asserts.pl: * Scripts/update-LegacyInspectorBackendCommands.rb: * Scripts/update-codemirror-resources.rb: * WebInspectorUI.vcxproj/build-webinspectorui.pl: Source/WebKit: * Scripts/generate-forwarding-headers.pl: Source/WebKitLegacy: * scripts/generate-webkitversion.pl: Tools: * BuildSlaveSupport/build-launcher-app: * BuildSlaveSupport/build-launcher-dmg: * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: * BuildSlaveSupport/built-product-archive: * BuildSlaveSupport/clean-build: * BuildSlaveSupport/delete-stale-build-files: * BuildSlaveSupport/download-built-product: * BuildSlaveSupport/gtk/buildbot/log/run: * BuildSlaveSupport/gtk/buildbot/run: * BuildSlaveSupport/gtk/pulseaudio/run: * BuildSlaveSupport/kill-old-processes: * BuildSlaveSupport/test-result-archive: * BuildSlaveSupport/win/kill-old-processes: * Scripts/SpacingHeuristics.pm: * Scripts/add-include: * Scripts/build-api-tests: * Scripts/build-dumprendertree: * Scripts/build-imagediff: * Scripts/build-jsc: * Scripts/build-webkit: * Scripts/build-webkittestrunner: * Scripts/check-Xcode-source-file-types: * Scripts/check-dom-results: * Scripts/check-for-exit-time-destructors: * Scripts/check-for-global-initializers: * Scripts/check-for-inappropriate-objc-class-names: * Scripts/check-for-weak-vtables-and-externals: * Scripts/clean-header-guards: * Scripts/compare-timing-files: * Scripts/configure-xcode-for-ios-development: * Scripts/copy-webkitlibraries-to-product-directory: * Scripts/create-exports: * Scripts/debug-minibrowser: * Scripts/debug-safari: * Scripts/debug-test-runner: * Scripts/do-file-rename: * Scripts/do-webcore-rename: * Scripts/dump-webkit-tests-run: * Scripts/ensure-valid-python: * Scripts/execAppWithEnv: * Scripts/extract-localizable-js-strings: * Scripts/filter-build-webkit: * Scripts/find-extra-includes: * Scripts/fix-blink-patch: * Scripts/generate-coverage-data: * Scripts/git-add-reviewer: * Scripts/jsc-stress-test-helpers/js-exception-fuzz: * Scripts/jsc-stress-test-helpers/js-executable-allocation-fuzz: * Scripts/jsc-stress-test-helpers/js-osr-exit-fuzz: * Scripts/make-new-script-test: * Scripts/make-script-test-wrappers: * Scripts/package-root: * Scripts/parse-malloc-history: * Scripts/report-include-statistics: * Scripts/resolve-ChangeLogs: * Scripts/run-api-tests: * Scripts/run-bindings-tests: * Scripts/run-content-extension-tester: * Scripts/run-iexploder-tests: * Scripts/run-javascriptcore-tests: * Scripts/run-jsc: * Scripts/run-leaks: * Scripts/run-mangleme-tests: * Scripts/run-minibrowser: * Scripts/run-pageloadtest: * Scripts/run-regexp-tests: * Scripts/run-safari: * Scripts/run-sunspider: * Scripts/run-test-runner: * Scripts/run-webkit-app: * Scripts/run-webkit-httpd: * Scripts/run-webkit-websocketserver: * Scripts/set-webkit-configuration: * Scripts/show-pretty-diff: * Scripts/sort-Xcode-project-file: * Scripts/split-file-by-class: * Scripts/sunspider-compare-results: * Scripts/svn-apply: * Scripts/svn-unapply: * Scripts/test-webkit-scripts: * Scripts/test-webkitperl: * Scripts/update-iexploder-cssproperties: * Scripts/update-javascriptcore-test-results: * Scripts/update-webkit: * Scripts/update-webkit-auxiliary-libs: * Scripts/update-webkit-dependency: * Scripts/update-webkit-libs-jhbuild: * Scripts/update-webkit-localizable-strings: * Scripts/update-webkit-support-libs: * Scripts/update-webkitgtk-libs: * Scripts/update-webkitwpe-libs: * Scripts/webkit-build-directory: * Scripts/webkitperl/LoadAsModule.pm: * Scripts/webkitperl/VCSUtils_unittest/decodeGitBinaryPatch.pl: * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl: * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatchThenSetChangeLogDateAndReviewer.pl: * Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl: * Scripts/webkitperl/VCSUtils_unittest/generatePatchCommand.pl: * Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl: * Scripts/webkitperl/VCSUtils_unittest/parseChunkRange.pl: * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl: * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl: * Scripts/webkitperl/VCSUtils_unittest/parseDiffWithMockFiles.pl: * Scripts/webkitperl/VCSUtils_unittest/parseFirstEOL.pl: * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl: * Scripts/webkitperl/VCSUtils_unittest/parsePatch.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: * Scripts/webkitperl/VCSUtils_unittest/parseUnifiedDiffHeader.pl: * Scripts/webkitperl/VCSUtils_unittest/prepareParsedPatch.pl: * Scripts/webkitperl/VCSUtils_unittest/removeEOL.pl: * Scripts/webkitperl/VCSUtils_unittest/runCommand.pl: * Scripts/webkitperl/VCSUtils_unittest/runPatchCommand.pl: * Scripts/webkitperl/VCSUtils_unittest/setChangeLogDateAndReviewer.pl: * Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl: * Scripts/webkitperl/auto-version_unittest/versionStampTests.pl: * Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl: * Scripts/webkitperl/prepare-ChangeLog_unittest/extractLineRangeBeforeAndAfterChange.pl: * Scripts/webkitperl/prepare-ChangeLog_unittest/fetchRadarURLFromBugXMLData.pl: * Scripts/webkitperl/prepare-ChangeLog_unittest/generateFunctionLists.pl: * Scripts/webkitperl/prepare-ChangeLog_unittest/parser_unittests.pl: * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests.pl: * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v1.0.pl: * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-new.pl: * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-old.pl: * Scripts/webkitperl/webkitdirs_unittest/appendToEnvironmentVariableList.pl: * Scripts/webkitperl/webkitdirs_unittest/checkForArgumentAndRemoveFromArrayRef.pl: * Scripts/webkitperl/webkitdirs_unittest/checkForArgumentAndRemoveFromArrayRefGettingValue.pl: * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: * Scripts/webkitperl/webkitdirs_unittest/prependToEnvironmentVariableList.pl: * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py: * ccache/ccache-clang: * ccache/ccache-clang++: * ccache/ccache-wrapper: * gtk/install-dependencies: * iExploder/iexploder-1.3.2/htdocs/iexploder.cgi: * iExploder/iexploder-1.3.2/htdocs/webserver.rb: * iExploder/iexploder-1.3.2/tools/lasthit.rb: * iExploder/iexploder-1.3.2/tools/osx_last_crash.rb: * iExploder/iexploder-1.3.2/tools/showtest.rb: * iExploder/iexploder-1.7.2/src/browser_harness.rb: * iExploder/iexploder-1.7.2/src/iexploder.cgi: * iExploder/iexploder-1.7.2/src/webserver.rb: * iExploder/iexploder-1.7.2/tools/lasthit.rb: * iExploder/iexploder-1.7.2/tools/osx_last_crash.rb: * wpe/install-dependencies: Canonical link: https://commits.webkit.org/197118@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-04 07:18:18 +00:00
2018-01-03 Ting-Wei Lan <lantw44@gmail.com>
Replace hard-coded paths in shebangs with #!/usr/bin/env
https://bugs.webkit.org/show_bug.cgi?id=181040
Reviewed by Alex Christensen.
* Source/cmake/tools/scripts/auto-version.pl:
* Source/cmake/tools/scripts/feature-defines.pl:
* Source/cmake/tools/scripts/version-stamp.pl:
== Rolled over to ChangeLog-2018-01-01 ==