Timeline
Sep 9, 2017:
- 5:21 PM Changeset in webkit [221832] by
-
- 39 edits1 copy in trunk
[Re-landing] Use JIT probes for DFG OSR exit.
https://bugs.webkit.org/show_bug.cgi?id=175144
<rdar://problem/33437050>
Not reviewed. Original patch reviewed by Saam Barati.
JSTests:
Disable these tests for debug builds because they run too slow with the new OSR exit.
- stress/op_mod-ConstVar.js:
- stress/op_mod-VarConst.js:
- stress/op_mod-VarVar.js:
Source/JavaScriptCore:
Relanding r221774.
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MacroAssembler.cpp:
(JSC::stdFunctionCallback):
- assembler/MacroAssemblerPrinter.cpp:
(JSC::Printer::printCallback):
- assembler/ProbeContext.h:
(JSC::Probe::CPUState::gpr const):
(JSC::Probe::CPUState::spr const):
(JSC::Probe::Context::Context):
(JSC::Probe::Context::arg):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
(JSC::Probe::Context::fpr):
(JSC::Probe::Context::gprName):
(JSC::Probe::Context::sprName):
(JSC::Probe::Context::fprName):
(JSC::Probe::Context::gpr const):
(JSC::Probe::Context::spr const):
(JSC::Probe::Context::fpr const):
(JSC::Probe::Context::pc):
(JSC::Probe::Context::fp):
(JSC::Probe::Context::sp):
(JSC::Probe:: const): Deleted.
- assembler/ProbeFrame.h: Copied from Source/JavaScriptCore/assembler/ProbeFrame.h.
- assembler/ProbeStack.cpp:
(JSC::Probe::Page::Page):
- assembler/ProbeStack.h:
(JSC::Probe::Page::get):
(JSC::Probe::Page::set):
(JSC::Probe::Page::physicalAddressFor):
(JSC::Probe::Stack::lowWatermark):
(JSC::Probe::Stack::get):
(JSC::Probe::Stack::set):
- bytecode/ArithProfile.cpp:
- bytecode/ArithProfile.h:
- bytecode/ArrayProfile.h:
(JSC::ArrayProfile::observeArrayMode):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::addressOfOSRExitCounter): Deleted.
- bytecode/ExecutionCounter.h:
(JSC::ExecutionCounter::hasCrossedThreshold const):
(JSC::ExecutionCounter::setNewThresholdForOSRExit):
- bytecode/MethodOfGettingAValueProfile.cpp:
(JSC::MethodOfGettingAValueProfile::reportValue):
- bytecode/MethodOfGettingAValueProfile.h:
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
- dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::findPC): Deleted.
- dfg/DFGJITCode.h:
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::jsValueFor):
(JSC::DFG::restoreCalleeSavesFor):
(JSC::DFG::saveCalleeSavesFor):
(JSC::DFG::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer):
(JSC::DFG::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer):
(JSC::DFG::saveOrCopyCalleeSavesFor):
(JSC::DFG::createDirectArgumentsDuringExit):
(JSC::DFG::createClonedArgumentsDuringExit):
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::emitRestoreArguments):
(JSC::DFG::OSRExit::executeOSRExit):
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::adjustAndJumpToTarget):
(JSC::DFG::printOSRExit):
(JSC::DFG::OSRExit::setPatchableCodeOffset): Deleted.
(JSC::DFG::OSRExit::getPatchableCodeOffsetAsJump const): Deleted.
(JSC::DFG::OSRExit::codeLocationForRepatch const): Deleted.
(JSC::DFG::OSRExit::correctJump): Deleted.
(JSC::DFG::OSRExit::emitRestoreArguments): Deleted.
(JSC::DFG::OSRExit::compileOSRExit): Deleted.
(JSC::DFG::OSRExit::compileExit): Deleted.
(JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): Deleted.
- dfg/DFGOSRExit.h:
(JSC::DFG::OSRExitState::OSRExitState):
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSite):
- dfg/DFGOSRExitCompilerCommon.cpp:
- dfg/DFGOSRExitCompilerCommon.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGThunks.cpp:
(JSC::DFG::osrExitThunkGenerator):
(JSC::DFG::osrExitGenerationThunkGenerator): Deleted.
- dfg/DFGThunks.h:
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::debugCall): Deleted.
- jit/AssemblyHelpers.h:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- profiler/ProfilerOSRExit.h:
(JSC::Profiler::OSRExit::incCount):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
- runtime/VM.h:
- 3:54 PM Changeset in webkit [221831] by
-
- 4 edits2 adds in trunk
gl.detachShader breaks shader program
https://bugs.webkit.org/show_bug.cgi?id=137689
<rdar://problem/34025056>
Reviewed by Sam Weinig.
Source/WebCore:
It should be possible to compile shaders, attach them to a program,
link the program, detach the shaders, delete the shaders, and then
ask for the uniform and attribute locations. That is, once you've
linked, the shaders can be thrown away.
We were using the attached shaders to look up uniform locations, so
we now keep around a separate map that remembers what shaders were
attached when the program links.
This fixes the bug, but the whole area is still a bit messy. For one,
we're keeping around all the shader information even after it is
no longer used.
See https://bugs.webkit.org/show_bug.cgi?id=98204
Test: fast/canvas/webgl/detachShader-before-accessing-uniform.html
- platform/graphics/GraphicsContext3D.h: Add another map to remember
what shaders were used when a program was linked.
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::mappedSymbolInShaderSourceMap): New helper
to look up a name in our source maps.
(WebCore::GraphicsContext3D::mappedSymbolName): Use the helper, and look
at linked shaders if there are no attached shaders.
(WebCore::GraphicsContext3D::originalSymbolInShaderSourceMap): Does the
reverse of the above.
(WebCore::GraphicsContext3D::originalSymbolName):
(WebCore::GraphicsContext3D::linkProgram): Add to the new map.
(WebCore::GraphicsContext3D::deleteProgram): Delete the program from
our shader entries.
LayoutTests:
Test that detaches and deletes shaders after linking, but before
asking for uniform locations.
- fast/canvas/webgl/detachShader-before-accessing-uniform-expected.txt: Added.
- fast/canvas/webgl/detachShader-before-accessing-uniform.html: Added.
- 3:35 PM Changeset in webkit [221830] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176661
Unreviewed test gardening.
- platform/win/TestExpectations:
- 3:07 PM Changeset in webkit [221829] by
-
- 13 edits1 add in trunk/Tools
Add "if" statements to WSL
https://bugs.webkit.org/show_bug.cgi?id=176294
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2017-09-07
Reviewed by Filip Pizlo.
Rolling back in after skipping Test.js on debug.
Fairly straightforward implementation. ReturnChecker only returns true iff there is an else block,
and both the if body and the else body recursively return true.
In order to accept both syntaxes:
if (foo)
bar;
... and ...
if (foo) {
bar;
}
This patch lets parseStatement() call parseBlock(). This means that the following is valid:
int x = 7;
if (foo) {
int x = 8;
x is 8 here!
}
x is 7 here!
This production means that these blocks don't require "if" statements, so you can just have:
int foo() {
int x = 7;
{
int x = 8;
x is 8 here!
}
x is 7 here!
}
However, this patch doesn't touch the following use-case:
if (int x = bar()) {
use x here
}
- WebGPUShadingLanguageRI/All.js:
- WebGPUShadingLanguageRI/Checker.js:
- WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitIfStatement):
- WebGPUShadingLanguageRI/IfStatement.js: Copied from Tools/WebGPUShadingLanguageRI/TypeDef.js.
(IfStatement):
(IfStatement.prototype.get origin):
(IfStatement.prototype.get conditional):
(IfStatement.prototype.get body):
(IfStatement.prototype.get elseBody):
(IfStatement.prototype.toString):
- WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitIfStatement):
- WebGPUShadingLanguageRI/Parse.js:
(parseTypeParameters):
(parseIfStatement):
(parseStatement):
- WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker.prototype.visitIfStatement):
- WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitIfStatement):
(Rewriter):
- WebGPUShadingLanguageRI/Test.html:
- WebGPUShadingLanguageRI/Test.js:
(TEST_variableShadowing):
(TEST_ifStatement):
(TEST_ifElseStatement):
(TEST_ifElseIfStatement):
(TEST_ifElseIfElseStatement):
(TEST_returnIf):
(TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
- WebGPUShadingLanguageRI/TypeDef.js:
(TypeDef.prototype.toString):
(TypeDef):
- WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitIfStatement):
- 2:35 PM Changeset in webkit [221828] by
-
- 2 edits in trunk/LayoutTests
Mark svg/animations/animations-paused-in-background-page-iframe.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=176660
Unreviewed test gardening.
- platform/win/TestExpectations:
- 12:26 PM Changeset in webkit [221827] by
-
- 2 edits in trunk/Tools
[GTK] Unreviewed, fix typo forwad -> forward
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowUpdateNavigationActions):
(backForwardlistChanged):
(browserWindowSwitchTab):
(backForwadlistChanged): Deleted.
- 11:06 AM Changeset in webkit [221826] by
-
- 2 edits in trunk/LayoutTests
Skip web platform tests on Windows since many of them are very slow.
https://bugs.webkit.org/show_bug.cgi?id=176657
Unreviewed test gardening.
- platform/win/TestExpectations:
- 9:58 AM Changeset in webkit [221825] by
-
- 4 edits in trunk/Tools
Unreviewed, rolling out r221801.
This change introduced a webkitpy test failure.
Reverted changeset:
"bisect-builds doesn't work due to missing requests module"
https://bugs.webkit.org/show_bug.cgi?id=175709
http://trac.webkit.org/changeset/221801
- 9:56 AM Changeset in webkit [221824] by
-
- 12 edits1 delete in trunk/Tools
Unreviewed, rolling out r221776.
This change caused wsl-tests.yaml/Test.js to time out on Debug
JSC bots.
Reverted changeset:
"Add "if" statements to WSL"
https://bugs.webkit.org/show_bug.cgi?id=176294
http://trac.webkit.org/changeset/221776
- 9:54 AM Changeset in webkit [221823] by
-
- 35 edits1 delete in trunk/Source/JavaScriptCore
Unreviewed, rolling out r221774.
This change introduced three debug JSC test timeouts.
Reverted changeset:
"Use JIT probes for DFG OSR exit."
https://bugs.webkit.org/show_bug.cgi?id=175144
http://trac.webkit.org/changeset/221774
- 9:21 AM Changeset in webkit [221822] by
-
- 191 edits in trunk/Source
Avoid duplicate computations of ExecState::vm().
https://bugs.webkit.org/show_bug.cgi?id=176647
Reviewed by Saam Barati.
Source/JavaScriptCore:
Because while computing ExecState::vm() is cheap, it is not free.
This patch also:
- gets rids of some convenience methods in CallFrame that implicitly does a ExecState::vm() computation. This minimizes the chance of us accidentally computing ExecState::vm() more than necessary.
- passes vm (when available) to methodTable().
- passes vm (when available) to JSLockHolder.
- API/JSBase.cpp:
(JSCheckScriptSyntax):
(JSGarbageCollect):
(JSReportExtraMemoryCost):
(JSSynchronousGarbageCollectForDebugging):
(JSSynchronousEdenCollectForDebugging):
- API/JSCallbackConstructor.h:
(JSC::JSCallbackConstructor::create):
- API/JSCallbackObject.h:
(JSC::JSCallbackObject::create):
- API/JSContext.mm:
(-[JSContext setException:]):
- API/JSContextRef.cpp:
(JSContextGetGlobalObject):
(JSContextCreateBacktrace):
- API/JSManagedValue.mm:
(-[JSManagedValue value]):
- API/JSObjectRef.cpp:
(JSObjectMake):
(JSObjectMakeFunctionWithCallback):
(JSObjectMakeConstructor):
(JSObjectMakeFunction):
(JSObjectSetPrototype):
(JSObjectHasProperty):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
(JSObjectIsFunction):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):
(JSObjectCopyPropertyNames):
(JSPropertyNameAccumulatorAddName):
- API/JSScriptRef.cpp:
- API/JSTypedArray.cpp:
(JSValueGetTypedArrayType):
(JSObjectMakeTypedArrayWithArrayBuffer):
(JSObjectMakeTypedArrayWithArrayBufferAndOffset):
(JSObjectGetTypedArrayBytesPtr):
(JSObjectGetTypedArrayBuffer):
(JSObjectMakeArrayBufferWithBytesNoCopy):
(JSObjectGetArrayBufferBytesPtr):
- API/JSWeakObjectMapRefPrivate.cpp:
- API/JSWrapperMap.mm:
(constructorHasInstance):
(makeWrapper):
- API/ObjCCallbackFunction.mm:
(objCCallbackFunctionForInvocation):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::jettison):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::addConstant):
(JSC::CodeBlock::replaceConstant):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeFor):
- dfg/DFGDesiredWatchpoints.cpp:
(JSC::DFG::ArrayBufferViewWatchpointAdaptor::add):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::globalThisObjectFor):
- dfg/DFGOperations.cpp:
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationPopulateObjectInOSR):
(JSC::FTL::operationMaterializeObjectInOSR):
- heap/GCAssertions.h:
- inspector/InjectedScriptHost.cpp:
(Inspector::InjectedScriptHost::wrapper):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::subtype):
(Inspector::constructInternalProperty):
(Inspector::JSInjectedScriptHost::getInternalProperties):
(Inspector::JSInjectedScriptHost::weakMapEntries):
(Inspector::JSInjectedScriptHost::weakSetEntries):
(Inspector::JSInjectedScriptHost::iteratorEntries):
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::valueForScopeLocation):
(Inspector::JSJavaScriptCallFrame::scopeDescriptions):
(Inspector::toJS):
- inspector/ScriptCallStackFactory.cpp:
(Inspector::extractSourceInformationFromException):
(Inspector::createScriptArguments):
- interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
- interpreter/CallFrame.h:
(JSC::ExecState::atomicStringTable const): Deleted.
(JSC::ExecState::propertyNames const): Deleted.
(JSC::ExecState::emptyList const): Deleted.
(JSC::ExecState::interpreter): Deleted.
(JSC::ExecState::heap): Deleted.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JITOperations.cpp:
- jit/JITWorklist.cpp:
(JSC::JITWorklist::compileNow):
- jsc.cpp:
(WTF::RuntimeArray::create):
(WTF::RuntimeArray::getOwnPropertySlot):
(WTF::DOMJITGetter::DOMJITAttribute::slowCall):
(WTF::DOMJITFunctionObject::unsafeFunction):
(WTF::DOMJITCheckSubClassObject::unsafeFunction):
(GlobalObject::moduleLoaderFetch):
(functionDumpCallFrame):
(functionCreateRoot):
(functionGetElement):
(functionSetElementRoot):
(functionCreateSimpleObject):
(functionSetHiddenValue):
(functionCreateProxy):
(functionCreateImpureGetter):
(functionCreateCustomGetterObject):
(functionCreateDOMJITNodeObject):
(functionCreateDOMJITGetterObject):
(functionCreateDOMJITGetterComplexObject):
(functionCreateDOMJITFunctionObject):
(functionCreateDOMJITCheckSubClassObject):
(functionGCAndSweep):
(functionFullGC):
(functionEdenGC):
(functionHeapSize):
(functionShadowChickenFunctionsOnStack):
(functionSetGlobalConstRedeclarationShouldNotThrow):
(functionJSCOptions):
(functionFailNextNewCodeBlock):
(functionMakeMasquerader):
(functionDumpTypesForAllVariables):
(functionFindTypeForExpression):
(functionReturnTypeFor):
(functionDumpBasicBlockExecutionRanges):
(functionBasicBlockExecutionCount):
(functionDrainMicrotasks):
(functionGenerateHeapSnapshot):
(functionEnsureArrayStorage):
(functionStartSamplingProfiler):
(runInteractive):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- parser/ModuleAnalyzer.cpp:
(JSC::ModuleAnalyzer::ModuleAnalyzer):
- profiler/ProfilerBytecode.cpp:
(JSC::Profiler::Bytecode::toJS const):
- profiler/ProfilerBytecodeSequence.cpp:
(JSC::Profiler::BytecodeSequence::addSequenceProperties const):
- profiler/ProfilerBytecodes.cpp:
(JSC::Profiler::Bytecodes::toJS const):
- profiler/ProfilerCompilation.cpp:
(JSC::Profiler::Compilation::toJS const):
- profiler/ProfilerCompiledBytecode.cpp:
(JSC::Profiler::CompiledBytecode::toJS const):
- profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::toJS const):
- profiler/ProfilerEvent.cpp:
(JSC::Profiler::Event::toJS const):
- profiler/ProfilerOSRExit.cpp:
(JSC::Profiler::OSRExit::toJS const):
- profiler/ProfilerOrigin.cpp:
(JSC::Profiler::Origin::toJS const):
- profiler/ProfilerProfiledBytecodes.cpp:
(JSC::Profiler::ProfiledBytecodes::toJS const):
- runtime/AbstractModuleRecord.cpp:
(JSC::identifierToJSValue):
(JSC::AbstractModuleRecord::resolveExportImpl):
(JSC::getExportedNames):
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
- runtime/BooleanConstructor.cpp:
(JSC::constructBooleanFromImmediateBoolean):
- runtime/CallData.cpp:
(JSC::call):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):
(JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal):
- runtime/Completion.cpp:
(JSC::checkSyntax):
(JSC::evaluate):
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
(JSC::linkAndEvaluateModule):
(JSC::importModule):
- runtime/ConstructData.cpp:
(JSC::construct):
- runtime/DatePrototype.cpp:
(JSC::dateProtoFuncToJSON):
- runtime/DirectArguments.h:
(JSC::DirectArguments::length const):
- runtime/DirectEvalExecutable.cpp:
(JSC::DirectEvalExecutable::create):
- runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
- runtime/ExceptionHelpers.cpp:
(JSC::createUndefinedVariableError):
(JSC::errorDescriptionForValue):
- runtime/FunctionConstructor.cpp:
(JSC::constructFunction):
- runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::getOwnPropertyNames):
- runtime/IdentifierInlines.h:
(JSC::Identifier::add):
- runtime/IndirectEvalExecutable.cpp:
(JSC::IndirectEvalExecutable::create):
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::finishCreation):
(JSC::InternalFunction::createSubclassStructureSlow):
- runtime/JSArray.cpp:
(JSC::JSArray::getOwnPropertySlot):
(JSC::JSArray::put):
(JSC::JSArray::deleteProperty):
(JSC::JSArray::getOwnNonIndexPropertyNames):
(JSC::JSArray::isIteratorProtocolFastAndNonObservable):
- runtime/JSArray.h:
(JSC::JSArray::shiftCountForShift):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::dumpForBacktrace const):
- runtime/JSDataView.cpp:
(JSC::JSDataView::getOwnPropertySlot):
(JSC::JSDataView::deleteProperty):
(JSC::JSDataView::getOwnNonIndexPropertyNames):
- runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::deleteProperty):
(JSC::JSFunction::reifyName):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
- runtime/JSInternalPromise.cpp:
(JSC::JSInternalPromise::then):
- runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::deleteProperty):
- runtime/JSMap.cpp:
(JSC::JSMap::isIteratorProtocolFastAndNonObservable):
- runtime/JSMapIterator.h:
(JSC::JSMapIterator::advanceIter):
- runtime/JSModuleEnvironment.cpp:
(JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames):
- runtime/JSModuleLoader.cpp:
(JSC::printableModuleKey):
(JSC::JSModuleLoader::provide):
(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::requestImportModule):
- runtime/JSModuleNamespaceObject.h:
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::evaluate):
- runtime/JSONObject.cpp:
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::appendNextProperty):
- runtime/JSObject.cpp:
(JSC::JSObject::calculatedClassName):
(JSC::JSObject::putByIndex):
(JSC::JSObject::ordinaryToPrimitive const):
(JSC::JSObject::toPrimitive const):
(JSC::JSObject::hasInstance):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength):
(JSC::getCustomGetterSetterFunctionForGetterSetter):
(JSC::JSObject::getOwnPropertyDescriptor):
(JSC::JSObject::getMethod):
- runtime/JSObject.h:
(JSC::JSObject::createRawObject):
(JSC::JSFinalObject::create):
- runtime/JSObjectInlines.h:
(JSC::JSObject::canPerformFastPutInline):
(JSC::JSObject::putInlineForJSObject):
(JSC::JSObject::hasOwnProperty const):
- runtime/JSScope.cpp:
(JSC::isUnscopable):
(JSC::JSScope::resolveScopeForHoistingFuncDeclInEval):
- runtime/JSSet.cpp:
(JSC::JSSet::isIteratorProtocolFastAndNonObservable):
- runtime/JSSetIterator.h:
(JSC::JSSetIterator::advanceIter):
- runtime/JSString.cpp:
(JSC::JSString::getStringPropertyDescriptor):
- runtime/JSString.h:
(JSC::JSString::getStringPropertySlot):
- runtime/MapConstructor.cpp:
(JSC::constructMap):
- runtime/ModuleProgramExecutable.cpp:
(JSC::ModuleProgramExecutable::create):
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncToLocaleString):
- runtime/ProgramExecutable.h:
- runtime/RegExpObject.cpp:
(JSC::RegExpObject::getOwnPropertySlot):
(JSC::RegExpObject::deleteProperty):
(JSC::RegExpObject::getOwnNonIndexPropertyNames):
(JSC::RegExpObject::getPropertyNames):
(JSC::RegExpObject::getGenericPropertyNames):
(JSC::RegExpObject::put):
- runtime/ScopedArguments.h:
(JSC::ScopedArguments::length const):
- runtime/StrictEvalActivation.h:
(JSC::StrictEvalActivation::create):
- runtime/StringObject.cpp:
(JSC::isStringOwnProperty):
(JSC::StringObject::deleteProperty):
(JSC::StringObject::getOwnNonIndexPropertyNames):
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::gc):
(JSC::JSDollarVMPrototype::edenGC):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::evaluate):
Source/WebCore:
No new tests because this is only a refactoring patch. There is no
significant behavior change.
- Modules/mediastream/SDPProcessor.cpp:
(WebCore::SDPProcessor::callScript const):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::installReplacement):
- bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::constructCustomElementSynchronously):
(WebCore::JSCustomElementInterface::upgradeElement):
(WebCore::JSCustomElementInterface::invokeCallback):
- bindings/js/JSDOMConvertRecord.h:
- bindings/js/JSDOMMapLike.h:
(WebCore::forwardSizeToMapLike):
(WebCore::forwardEntriesToMapLike):
(WebCore::forwardKeysToMapLike):
(WebCore::forwardValuesToMapLike):
(WebCore::forwardGetToMapLike):
(WebCore::forwardHasToMapLike):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::addCrossOriginWindowOwnPropertyNames):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::reportMemoryForDocumentIfFrameless):
- bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
- bindings/js/JSImageDataCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSLocationCustom.cpp:
(WebCore::getOwnPropertySlotCommon):
(WebCore::putCommon):
(WebCore::addCrossOriginLocationPropertyNames):
(WebCore::addCrossOriginLocationOwnPropertyNames):
(WebCore::JSLocation::defineOwnProperty):
(WebCore::JSLocationPrototype::put):
(WebCore::JSLocationPrototype::defineOwnProperty):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::setJSInterfaceNameConstructor):
- bindings/scripts/test/JS/JSMapLike.cpp:
(WebCore::setJSMapLikeConstructor):
- bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
(WebCore::setJSReadOnlyMapLikeConstructor):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::setJSTestActiveDOMObjectConstructor):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::setJSTestCEReactionsConstructor):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::setJSTestCEReactionsStringifierConstructor):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::setJSTestCallTracerConstructor):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::setJSTestClassWithJSBuiltinConstructorConstructor):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::setJSTestDOMJITConstructor):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::setJSTestEnabledBySettingConstructor):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::setJSTestEventConstructorConstructor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::setJSTestEventTargetConstructor):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::setJSTestExceptionConstructor):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::setJSTestGenerateIsReachableConstructor):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::setJSTestGlobalObjectConstructor):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::setJSTestIndexedSetterNoIdentifierConstructor):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::setJSTestIndexedSetterThrowingExceptionConstructor):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::setJSTestIndexedSetterWithIdentifierConstructor):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::setJSTestInterfaceConstructor):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::setJSTestInterfaceLeadingUnderscoreConstructor):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::setJSTestIterableConstructor):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::setJSTestJSBuiltinConstructorConstructor):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::setJSTestMediaQueryListListenerConstructor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::setJSTestNamedConstructorConstructor):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::setJSTestNamedDeleterNoIdentifierConstructor):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::setJSTestNamedDeleterThrowingExceptionConstructor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::setJSTestNamedDeleterWithIdentifierConstructor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::setJSTestNamedGetterCallWithConstructor):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::setJSTestNamedGetterNoIdentifierConstructor):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::setJSTestNamedGetterWithIdentifierConstructor):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::setJSTestNamedSetterNoIdentifierConstructor):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::setJSTestNamedSetterThrowingExceptionConstructor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::setJSTestNamedSetterWithIdentifierConstructor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::setJSTestNamedSetterWithIndexedGetterConstructor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
(WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
(WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
(WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::setJSTestNodeConstructor):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjConstructor):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::setJSTestOverloadedConstructorsConstructor):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::setJSTestOverrideBuiltinsConstructor):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::setJSTestPluginInterfaceConstructor):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::setJSTestPromiseRejectionEventConstructor):
- bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::setJSTestSerializationConstructor):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
(WebCore::setJSTestSerializationIndirectInheritanceConstructor):
- bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
(WebCore::setJSTestSerializationInheritConstructor):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
(WebCore::setJSTestSerializationInheritFinalConstructor):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::setJSTestSerializedScriptValueInterfaceConstructor):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::setJSTestStringifierConstructor):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::setJSTestStringifierAnonymousOperationConstructor):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::setJSTestStringifierNamedOperationConstructor):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::setJSTestStringifierOperationImplementedAsConstructor):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::setJSTestStringifierOperationNamedToStringConstructor):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::setJSTestStringifierReadOnlyAttributeConstructor):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::setJSTestStringifierReadWriteAttributeConstructor):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::setJSTestTypedefsConstructor):
- bridge/NP_jsobject.cpp:
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_Enumerate):
- bridge/c/c_instance.cpp:
(JSC::Bindings::CRuntimeMethod::create):
- bridge/objc/WebScriptObject.mm:
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
- bridge/objc/objc_instance.mm:
(ObjCRuntimeMethod::create):
- bridge/objc/objc_runtime.h:
(JSC::Bindings::ObjcFallbackObjectImp::create):
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertyNames):
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::put):
- bridge/runtime_array.h:
(JSC::RuntimeArray::create):
- bridge/runtime_method.cpp:
(JSC::RuntimeMethod::getOwnPropertySlot):
- bridge/runtime_method.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateCaptionContainer):
(WebCore::HTMLMediaElement::setControllerJSProperty):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
(WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange):
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
- testing/Internals.cpp:
(WebCore::Internals::cloneArrayBuffer):
Source/WebKit:
- WebProcess/Plugins/Netscape/JSNPMethod.h:
(WebKit::JSNPMethod::create):
- WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
Source/WebKitLegacy/mac:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::enumerate):
- Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyRuntimeMethod::create):
- 9:15 AM Changeset in webkit [221821] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/security/canvas-remote-read-remote-video-allowed-with-credentials.html as a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=176653
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:55 AM Changeset in webkit [221820] by
-
- 2 edits in trunk/LayoutTests
Mark web platform tests as slow on Windows.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:31 AM Changeset in webkit [221819] by
-
- 2 edits in trunk/Tools
MiniBrowser closes tab instead of window on close signal
https://bugs.webkit.org/show_bug.cgi?id=176587
Reviewed by Carlos Garcia Campos.
This has been broken since we added support for multiple tabs. We need to run try_close for
every open tab, not just the current one. If there are no onbeforeonload handlers then all
tabs will close; if there are some, then they'll be respected, but the remaining tabs will
be closed.
Note that we cannot simply iterate through the tabs of the GtkNotebook, as we'd be deleting
tabs as we go, so save all the tabs into a separate list and then try to close each in turn.
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowTryClose):
(browserWindowDeleteEvent):
- 8:28 AM Changeset in webkit [221818] by
-
- 4 edits in trunk/LayoutTests
Unreviewed GTK+ gardening.
Added failure expectation for the HTTP test introduced in r221633,
and updated baselines for the editing/execCommand/print.html test.
- platform/gtk/TestExpectations:
- platform/gtk/editing/execCommand/print-expected.png:
- platform/gtk/editing/execCommand/print-expected.txt:
- 8:02 AM Changeset in webkit [221817] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Adding ImageOnlyFailure expectations
for reference tests failing after Freetype changes in r221670
and r221724.
- platform/gtk/TestExpectations:
- 5:42 AM Changeset in webkit [221816] by
-
- 5 edits in trunk/Source/WebCore
[EME] MediaKeySession: handle MediaKeys association through a WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=176584
Reviewed by Xabier Rodriguez-Calvar.
Don't keep a raw pointer to the originating MediaKeys object in
MediaKeySession that gets nulled out once MediaKeys is destroyed.
Instead, make MediaKeys a WeakPtrFactory and use a WeakPtr<MediaKeys>
object to maintain the association between MediaKeySession and
MediaKeys.
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::create):
(WebCore::MediaKeySession::MediaKeySession):
(WebCore::MediaKeySession::detachKeys): Deleted.
- Modules/encryptedmedia/MediaKeySession.h:
- Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::MediaKeys):
(WebCore::MediaKeys::createSession):
(WebCore::MediaKeys::~MediaKeys): Deleted.
- Modules/encryptedmedia/MediaKeys.h:
- 5:38 AM Changeset in webkit [221815] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Missing GRefPtr adoptions in MediaPlayerPrivateGStreamerBase, PlaybackPipeline
https://bugs.webkit.org/show_bug.cgi?id=176646
Reviewed by Carlos Garcia Campos.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::registerWebKitGStreamerElements): Adopt the return value
of gst_element_factory_find(), which is transferred in full.
- platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:
(WebCore::PlaybackPipeline::flush): Adopt the return values
of gst_element_get_static_pad() and gst_pad_get_peer(), both being
transferred in full.
- 5:29 AM Changeset in webkit [221814] by
-
- 2 edits in trunk/Tools
Unreviewed WPE build fix.
- TestWebKitAPI/PlatformWPE.cmake:
Link WebCore archives into the TestWebCore binary as a group.
- 2:35 AM Changeset in webkit [221813] by
-
- 2 edits in trunk/Source/WebCore
Use RenderLayerBacking::renderer() when possible
https://bugs.webkit.org/show_bug.cgi?id=176585
The private member renderer() is a shorthand for m_owningLayer.renderer(). This patch uses
it in RenderLayerBacking when possible.
Patch by Frederic Wang <fwang@igalia.com> on 2017-09-09
Reviewed by Carlos Garcia Campos.
No new tests, behavior not changed.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::setContentsNeedDisplay):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
- 12:46 AM Changeset in webkit [221812] by
-
- 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebDriver
Merge r221808 - WebDriver: ensure we close all windows handles when closing the session
https://bugs.webkit.org/show_bug.cgi?id=176508
Reviewed by Brian Burg.
The spec says that when closing the session all top level browsing contexts should be closed. We are currently
checking if we have an active top level browsing context and then we try to close it before trying with the
rest. It can happen that we are in an inconsistent state, for example if the current top level browsing context
has been closed by JavaScript or another action and the user didn't switch to another one before closing the
session. In such case, closing the session will fail with NoSuchwindow and any other window open will not be
closed. It's safer to always ask for all window handles and close them, which is what the spec says too.
- Session.cpp:
(WebDriver::firstWindowHandleInResult): Helper class to get the first window handle in the result array.
(WebDriver::Session::closeAllToplevelBrowsingContexts): Use firstWindowHandleInResult().
(WebDriver::Session::close): Close the current top level browsing context and get all window handles to close
them all if needed.
- 12:45 AM Changeset in webkit [221811] by
-
- 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebCore
Merge r221677 - Missing break in URLParser
https://bugs.webkit.org/show_bug.cgi?id=176357
Reviewed by Darin Adler.
Add a missing break so the currently set state is not overwritten
after the block. Found by Coverity scan.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
- 12:44 AM Changeset in webkit [221810] by
-
- 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebCore
Merge r221742 - [ARM] Building FELightningNEON.cpp fails due to missing {Point,Spot}LightSource declarations
https://bugs.webkit.org/show_bug.cgi?id=176531
Reviewed by Žan Doberšek.
The m_lightSource member is a Ref<LightSource>, and its get() method returns
a reference, therefore the casts have to be done to the corresponding reference
types.
- platform/graphics/cpu/arm/filters/FELightingNEON.h:
(WebCore::FELighting::platformApplyNeon): Adjust casts and member accesses accordingly.
- 12:42 AM Changeset in webkit [221809] by
-
- 2 edits in releases/WebKitGTK/webkit-2.18/Source/bmalloc
Merge r221588 - Unreviewed build fix for Clang with libc++
Fixes a build failure when building with Clang, -stdlib=libc++, and gigacage
support enabled, which resulted in "stderr" being undefined.
- bmalloc/Gigacage.cpp: Add missing <ctsdio> include to pull the definition.
- 12:14 AM Changeset in webkit [221808] by
-
- 2 edits in trunk/Source/WebDriver
WebDriver: ensure we close all windows handles when closing the session
https://bugs.webkit.org/show_bug.cgi?id=176508
Reviewed by Brian Burg.
The spec says that when closing the session all top level browsing contexts should be closed. We are currently
checking if we have an active top level browsing context and then we try to close it before trying with the
rest. It can happen that we are in an inconsistent state, for example if the current top level browsing context
has been closed by JavaScript or another action and the user didn't switch to another one before closing the
session. In such case, closing the session will fail with NoSuchwindow and any other window open will not be
closed. It's safer to always ask for all window handles and close them, which is what the spec says too.
- Session.cpp:
(WebDriver::firstWindowHandleInResult): Helper class to get the first window handle in the result array.
(WebDriver::Session::closeAllToplevelBrowsingContexts): Use firstWindowHandleInResult().
(WebDriver::Session::close): Close the current top level browsing context and get all window handles to close
them all if needed.
Sep 8, 2017:
- 10:19 PM Changeset in webkit [221807] by
-
- 3 edits1 add in trunk
[DFG] NewArrayWithSize(size)'s size does not care negative zero
https://bugs.webkit.org/show_bug.cgi?id=176300
Reviewed by Saam Barati.
JSTests:
- stress/new-array-with-size-div.js: Added.
(shouldBe):
(test):
(i.i):
Source/JavaScriptCore:
NewArrayWithSize(size)'s size does not care negative zero as
is the same to NewTypedArray. We propagate this information
in DFGBackwardsPropagationPhase. This removes negative zero
check in kraken fft's deinterleave function.
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
- 8:32 PM Changeset in webkit [221806] by
-
- 13 edits2 deletes in trunk/Source/WebCore
Replace JS builtin implementation of the FetchResponse constructor with a C++ one
https://bugs.webkit.org/show_bug.cgi?id=176627
Patch by Sam Weinig <sam@webkit.org> on 2017-09-08
Reviewed by Alex Christensen.
Removes the last of the Fetch related JS builtin code.
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- Modules/fetch/FetchInternals.js: Removed.
- Modules/fetch/FetchResponse.js: Removed.
Remove FetchInternals.js and FetchResponse.js.
- Modules/fetch/FetchBody.idl:
- Modules/fetch/FetchBodyConsumer.h:
Remove no longer correct FIXMEs.
- Modules/fetch/FetchBodySource.cpp:
Add missing newline between functions.
- Modules/fetch/FetchHeaders.idl:
- Modules/fetch/FetchResponse.idl:
Remove builtin related operations and extended attributes.
- Modules/fetch/FetchHeaders.h:
(WebCore::FetchHeaders::fastHas const):
- Modules/fetch/FetchHeaders.cpp:
Added fastHas to allow checking for a header using a HTTPHeaderName. Remove
now unused filter function.
- Modules/fetch/FetchResponse.cpp:
(WebCore::isNullBodyStatus):
Added helper predicate for 'null body status' concept.
(WebCore::FetchResponse::create):
Add spec defined constructor implementation.
(WebCore::FetchResponse::setBodyData):
Reformatted to match more common WTF::switchOn style.
(WebCore::FetchResponse::setStatus): Deleted.
(WebCore::FetchResponse::initializeWith): Deleted.
Removed now unused functions.
- Modules/fetch/FetchResponse.h:
(WebCore::FetchResponse::create):
Move inline create out of the class definition to make things a bit less crowded.
- 8:09 PM Changeset in webkit [221805] by
-
- 10 edits10 adds in trunk
Implement HTMLImageElement.decoode() method
https://bugs.webkit.org/show_bug.cgi?id=176016
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-08
Reviewed by Simon Fraser.
Source/WebCore:
The specs is:
https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-decode.
-- img.decode() waits till loading the image finishes. Otherwise it starts
decoding the image immediately.
-- If the image frame is already decoded, the promise will be resolved
before return.
-- If an error happens in loading the image or decoding the image frame,
the promise will be rejected with 'EncodingError' exception.
-- Animated image resolves the promise when the next frame is decoded and
the animation is advanced it. If the image is not displayed, decode() will
request the decoding the first frame and start animating the image.
Tests: fast/images/decode-animated-image.html
fast/images/decode-render-animated-image.html
fast/images/decode-render-static-image.html
fast/images/decode-static-image-reject.html
fast/images/decode-static-image-resolve.html
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::decode):
- html/HTMLImageElement.h:
- html/HTMLImageElement.idl:
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::decode):
(WebCore::ImageLoader::decodeError):
- loader/ImageLoader.h:
(WebCore::ImageLoader::hasPendingDecodePromise const):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::internalStartAnimation):
(WebCore::BitmapImage::internalAdvanceAnimation):
(WebCore::BitmapImage::decode):
(WebCore::BitmapImage::imageFrameAvailableAtIndex):
- platform/graphics/BitmapImage.h:
- platform/graphics/Image.h:
(WebCore::Image::decode):
LayoutTests:
- fast/images/decode-animated-image-expected.html: Added.
- fast/images/decode-animated-image.html: Added.
- fast/images/decode-render-animated-image-expected.html: Added.
- fast/images/decode-render-animated-image.html: Added.
- fast/images/decode-render-static-image-expected.html: Added.
- fast/images/decode-render-static-image.html: Added.
- fast/images/decode-static-image-reject-expected.txt: Added.
- fast/images/decode-static-image-reject.html: Added.
- fast/images/decode-static-image-resolve-expected.html: Added.
- fast/images/decode-static-image-resolve.html: Added.
- 5:33 PM Changeset in webkit [221804] by
-
- 5 edits7 adds in trunk
Fetch's Response.statusText is unexpectedly the full http status line for HTTP/2 responses
https://bugs.webkit.org/show_bug.cgi?id=176479
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-08
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/wpt/fetch/response-status-text.html
HTTP/2 doesn't include a status reason phrase. So the "status line"
ends up just being the version and status code. Fallback to the empty
string instead of the full line.
- platform/network/HTTPParsers.cpp:
(WebCore::extractReasonPhraseFromHTTPStatusLine):
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
Initialize AtomicString statics like emptyAtom().
LayoutTests:
- http/wpt/fetch/resources/status-garbage.asis: Added.
- http/wpt/fetch/resources/status-normal.txt: Added.
- http/wpt/fetch/resources/status-with-message.asis: Added.
- http/wpt/fetch/resources/status-without-message.asis: Added.
Various text HTTP responses with different status lines.
- http/wpt/fetch/response-status-text-expected.txt: Added.
- http/wpt/fetch/response-status-text.html: Added.
Test the Fetch Response's status / statusText for different HTTP status lines.
The status without a message is similiar to HTTP/2 because HTTP/2 only
has a :status pseudo-header and lacks a reason phrase.
- 5:10 PM Changeset in webkit [221803] by
-
- 4 edits2 adds in trunk
Implement the attribute HTMLImageElement.async
https://bugs.webkit.org/show_bug.cgi?id=176204
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-08
Reviewed by Darin Adler.
Source/WebCore:
Adding this attribute to the <img> element will force async decoding for
this image all the times. None of the heuristics, which prevents flickering
the image, will be checked.
Test: fast/images/async-attribute-with-small-image.html
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
- html/HTMLImageElement.h:
(WebCore::HTMLImageElement::async const):
- html/HTMLImageElement.idl:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::decodingModeForImageDraw const):
LayoutTests:
- fast/images/async-attribute-with-small-image-expected.html: Added.
- fast/images/async-attribute-with-small-image.html: Added.
- 4:11 PM Changeset in webkit [221802] by
-
- 2 edits in trunk/LayoutTests
Fix duplicate entry warnings on Windows.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 4:00 PM Changeset in webkit [221801] by
-
- 4 edits in trunk/Tools
bisect-builds doesn't work due to missing requests module
https://bugs.webkit.org/show_bug.cgi?id=175709
Reviewed by Ryosuke Niwa.
- Scripts/bisect-builds: update import to webkitpy.thirdparty.autoinstalled
- Scripts/webkitpy/thirdparty/init.py: add logic to install requests module.
(AutoinstallImportHook.find_module):
(AutoinstallImportHook):
(AutoinstallImportHook._install_requests):
- Scripts/webkitpy/thirdparty/init_unittest.py:
(ThirdpartyTest.test_imports):
- 3:09 PM Changeset in webkit [221800] by
-
- 2 edits in trunk/Source/WebInspectorUI
Uncaught Exception: TypeError: this._heapSnapshot.addEventListener is not a function.
https://bugs.webkit.org/show_bug.cgi?id=176633
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-08
Reviewed by Michael Saboff.
- UserInterface/Proxies/HeapSnapshotDiffProxy.js:
(WI.HeapSnapshotDiffProxy):
This class has listeners of another object's events. It should extend WI.Object.
- 2:27 PM Changeset in webkit [221799] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/websocket/tests/hybi/websocket-pending-activity.html as a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=176632
Unreviewed test gardening.
- platform/win/TestExpectations:
- 1:37 PM Changeset in webkit [221798] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: changes to currentX/currentY aren't highlighted in the details sidebar
https://bugs.webkit.org/show_bug.cgi?id=176569
Reviewed by Matt Baker.
- UserInterface/Models/RecordingAction.js:
Add entries to WI.RecordingAction._stateModifiers for each path function.
- 1:31 PM Changeset in webkit [221797] by
-
- 2 edits in trunk/LayoutTests
Added timeout expectation to imported/w3c/web-platform-tests/IndexedDB/large-nested-cloning.html on mac.
https://bugs.webkit.org/show_bug.cgi?id=173487
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:24 PM Changeset in webkit [221796] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/security/canvas-remote-read-remote-video-allowed-anonymous.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176626.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 12:30 PM Changeset in webkit [221795] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-element.html as slow.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 12:03 PM Changeset in webkit [221794] by
-
- 11 edits in trunk/Source
Unreviewed, rolling out r221773.
https://bugs.webkit.org/show_bug.cgi?id=176614
This caused build failures. (Requested by mlewis13 on
#webkit).
Reverted changeset:
"[Mac] Upstream QTKit-related WebKitSystemInterface functions"
https://bugs.webkit.org/show_bug.cgi?id=176472
http://trac.webkit.org/changeset/221773
- 11:58 AM Changeset in webkit [221793] by
-
- 11 edits2 adds in trunk
[DFG] PutByVal with Array::Generic is too generic
https://bugs.webkit.org/show_bug.cgi?id=176345
Reviewed by Filip Pizlo.
JSTests:
- stress/object-assign-symbols.js: Added.
(shouldBe):
(test):
- stress/object-assign.js: Added.
(shouldBe):
(test):
(i.shouldBe.JSON.stringify.test):
Source/JavaScriptCore:
Our DFG/FTL's PutByVal with Array::Generic is too generic implementation.
We could have the case like,
dst[key] = src[key];
with string or symbol keys. But they are handled in slow path.
This patch adds PutByVal(CellUse, StringUse/SymbolUse, UntypedUse). They go
to optimized path that does not have generic checks like (isInt32() / isDouble() etc.).
This improves SixSpeed object-assign.es5 by 9.1%.
object-assign.es5 424.3159+-11.0471 388.8771+-10.9239 definitely 1.0911x faster
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGOperations.cpp:
(JSC::DFG::putByVal):
(JSC::DFG::putByValInternal):
(JSC::DFG::putByValCellInternal):
(JSC::DFG::putByValCellStringInternal):
(JSC::DFG::operationPutByValInternal): Deleted.
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString):
(JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
- jit/JITOperations.h:
- 11:55 AM Changeset in webkit [221792] by
-
- 1 edit in trunk/Tools/ChangeLog
Test commit to verify trac sync is working.
- 11:46 AM Changeset in webkit [221791] by
-
- 2 edits5 adds in trunk/Source/WebKit
[WinCairo] Add Storage Process files for wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=176567
Patch by Stephan Szabo <stephan.szabo@am.sony.com> on 2017-09-08
Reviewed by Alex Christensen.
- PlatformWin.cmake:
- StorageProcess/EntryPoint/win/StorageProcessMain.cpp: Added.
(main):
- StorageProcess/win/StorageProcessMainWin.cpp: Added.
(WebKit::StorageProcessMainWin):
- StorageProcess/win/StorageProcessMainWin.h: Added.
- 11:45 AM Changeset in webkit [221790] by
-
- 1 edit in trunk/Tools/ChangeLog
Test commit to verify git sync is working.
- 10:25 AM Changeset in webkit [221789] by
-
- 2 edits in trunk/Tools
bisect-builds should not print out extracting command
https://bugs.webkit.org/show_bug.cgi?id=175632
Reviewed by Alexey Proskuryakov.
- Scripts/bisect-builds:
(extract_archive):
- 9:35 AM Changeset in webkit [221788] by
-
- 40 edits10 deletes in trunk
Remove support for >> descendant combinator syntax
https://bugs.webkit.org/show_bug.cgi?id=175765
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Tests for these have been removed in WPT master, just update expectations until new version is imported.
- web-platform-tests/dom/nodes/Element-matches-expected.txt:
- web-platform-tests/dom/nodes/Element-webkitMatchesSelector-expected.txt:
- web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
- web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:
Source/WebCore:
This is an alternative syntax for the normal descendant combinator (just space) that was
advertised as being consistent with > (child combinator) and >>> (shadow piercing combinator).
The latter has been killed so it is not consistent with anything anymore.
No other engine besides WebKit has implemented this and the WPT tests have been removed
(in https://github.com/w3c/web-platform-tests/pull/6785). Full removal from spec is still
open (https://github.com/w3c/csswg-drafts/issues/641) but we shouldn't encourage adoption of
this pointless feature.
While this has shipped the compatibility risk is low as no other engine implemented it and
there were no incentives to use it over the standard syntax.
- css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
- css/CSSSelector.h:
(WebCore::CSSSelector::hasDescendantRelation const):
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively const):
- css/SelectorFilter.cpp:
(WebCore::SelectorFilter::collectIdentifierHashes):
- css/parser/CSSParserSelector.cpp:
(WebCore::CSSParserSelector::appendTagHistory):
- css/parser/CSSParserSelector.h:
- css/parser/CSSSelectorParser.cpp:
(WebCore::isDescendantCombinator):
(WebCore::CSSSelectorParser::consumeCombinator):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
LayoutTests:
- fast/css/ancestor-of-hovered-element-removed.html:
- fast/css/css-selector-text-expected.txt:
- fast/css/css-selector-text.html:
- fast/css/css-set-selector-text-expected.txt:
- fast/css/css-set-selector-text.html:
- fast/css/currentColor-value-style-update.html:
- fast/css/descendant-combinator-doubled-child-syntax-styling-expected.html: Removed.
- fast/css/descendant-combinator-doubled-child-syntax-styling.html: Removed.
- fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt:
- fast/css/parsing-css-attribute-case-insensitive-value-1.html:
- fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt:
- fast/css/parsing-css-attribute-case-insensitive-value-4.html:
- fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
- fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html: Removed.
- fast/selectors/case-insensitive-attribute-register-requirement-2.html:
- fast/selectors/element-closest-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
- fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html: Removed.
- fast/selectors/element-matches-attribute-ascii-case-insensitive-html.html:
- fast/selectors/element-matches-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
- fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html: Removed.
- fast/selectors/id-attribute-querySelector-used-as-id-selector-quirks.html:
- fast/selectors/id-attribute-querySelector-used-as-id-selector.html:
- fast/selectors/nth-child-matching-first.html:
- fast/selectors/nth-last-child-matching-first.html:
- fast/selectors/querySelector-attribute-ascii-case-insensitive-html.html:
- fast/selectors/querySelector-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
- fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html: Removed.
- 9:19 AM Changeset in webkit [221787] by
-
- 9 edits in trunk/Source/WebKit
Unreviewed, rolling out r221771.
This change caused two API tests to crash.
Reverted changeset:
"Clean up API::UIClient"
https://bugs.webkit.org/show_bug.cgi?id=176568
http://trac.webkit.org/changeset/221771
- 9:03 AM Changeset in webkit [221786] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/websocket/tests/hybi/close-code-and-reason.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176609.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:57 AM Changeset in webkit [221785] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/preload/single_download_preload_headers.php as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176606.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:43 AM Changeset in webkit [221784] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/security/contentSecurityPolicy/audio-redirect-allowed2.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176598.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:36 AM Changeset in webkit [221783] by
-
- 10 edits4 adds in trunk
[DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported
https://bugs.webkit.org/show_bug.cgi?id=176590
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/object-iterate-symbols.js: Added.
(test):
- microbenchmarks/object-iterate.js: Added.
(test):
- stress/object-iterate-symbols.js: Added.
(shouldBe):
(test):
- stress/object-iterate.js: Added.
(shouldBe):
(test):
Source/JavaScriptCore:
We add fixup edges for GetByVal(Array::Generic) to call faster operation instead of generic operationGetByVal.
baseline patched
object-iterate 5.8531+-0.3029 5.7903+-0.2795 might be 1.0108x faster
object-iterate-symbols 7.4099+-0.3993 5.8254+-0.2276 definitely 1.2720x faster
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGOperations.cpp:
(JSC::DFG::getByValObject):
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString):
(JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
- 8:06 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 3:57 AM Changeset in webkit [221782] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] initializationDataEncountered() dispatch can outlive MediaPlayerPrivateGStreamerBase
https://bugs.webkit.org/show_bug.cgi?id=176544
Reviewed by Xabier Rodriguez-Calvar.
The RunLoop dispatch that invokes MediaPlayer::initializationDataEncountered()
can outlive the MediaPlayerPrivateGStreamerBase object that is referenced
from the dispatched functor. To avoid this, a WeakPtrFactory is placed onto
MediaPlayerPrivateGStreamerBase and a WeakPtr object is kept in the functor,
bailing during dispatch if the factory (along with MediaPlayerPrivateGStreamerBase)
has already been destroyed since the schedule of this dispatch.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
Also remove the unusedsessionIdstring.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- 3:55 AM Changeset in webkit [221781] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Add GRefPtr specializations for GstGLDisplay, GstGLContext
https://bugs.webkit.org/show_bug.cgi?id=176543
Reviewed by Xabier Rodriguez-Calvar.
Both GstGLDisplay and GstGLContext inherit from GstObject, meaning
gst_object_ref_sink() and gst_object_unref() should be used for
incrementing and decrementing reference count. Template specializations
for the adoptGRef(), refGPtr() and derefGPtr() are added for both types,
preventing GRefPtr<> from falling back to using g_object_ref() and
g_object_unref() for reference count modification purposes.
- platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef):
(WTF::refGPtr<GstGLDisplay>):
(WTF::derefGPtr<GstGLDisplay>):
(WTF::refGPtr<GstGLContext>):
(WTF::derefGPtr<GstGLContext>):
- platform/graphics/gstreamer/GRefPtrGStreamer.h:
- 3:54 AM Changeset in webkit [221780] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Incorrect GstCaps unreffing in GStreamerEMEUtilities::createDecryptor()
https://bugs.webkit.org/show_bug.cgi?id=176540
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp:
Include the GRefPtrGStreamer.h header in order to use specialized template
functions that correctly adopt and dereference GstCaps object that is
wrapped the GRefPtr<>.