Timeline
Aug 20, 2018:
- 11:59 PM WebKitGTK/2.20.x edited by
- (diff)
- 11:05 PM Changeset in webkit [235106] by
-
- 31 edits7 adds in trunk
Inline DataView accesses into DFG/FTL
https://bugs.webkit.org/show_bug.cgi?id=188573
<rdar://problem/43286746>
Reviewed by Michael Saboff.
JSTests:
- microbenchmarks/data-view-accesses-2.js: Added.
(assert):
(let.p.of.Object.keys.let.str):
(let.p.of.Object.keys):
(test):
- microbenchmarks/data-view-accesses.js: Added.
(assert):
(let.p.of.Object.keys.let.str):
(let.p.of.Object.keys):
- stress/dataview-jit-bounds-checks.js: Added.
(assert):
(let.p.of.Object.keys.let.str):
(let.p.of.Object.keys):
- stress/dataview-jit-get.js: Added.
(assert):
(test1.bigEndian):
(test1.littleEndian):
(test1.biEndian):
(test1):
(test2.bigEndian):
(test2.littleEndian):
(test2.biEndian):
(test2):
(test3.bigEndian):
(test3.littleEndian):
(test3.biEndian):
(test3):
(test4.bigEndian):
(test4.littleEndian):
(test4.biEndian):
(test4):
(test5.bigEndian):
(test5.littleEndian):
(test5.biEndian):
(test5):
(test6.bigEndian):
(test6.littleEndian):
(test6.biEndian):
(test6):
(test7.load):
(test7):
(test8.load):
(test8):
- stress/dataview-jit-neuter.js: Added.
(assert):
(test.load):
(test):
(test2.load):
(test2):
- stress/dataview-jit-set.js: Added.
(assert):
(isLittleEndian):
(readByte):
(readHex):
(test.storeLittleEndian):
(test.storeBigEndian):
(test.store):
(test):
(test2.storeLittleEndian):
(test2.storeBigEndian):
(test2.store):
(test2):
(test3.storeLittleEndian):
(test3.storeBigEndian):
(test3.store):
(test3):
(test4.storeLittleEndian):
(test4.storeBigEndian):
(test4.store):
(test4):
(test5.storeLittleEndian):
(test5.storeBigEndian):
(test5.store):
(test5):
(test6.storeLittleEndian):
(test6.storeBigEndian):
(test6.store):
(test6):
(test7.store):
(test7):
(test8.store):
(test8):
- stress/dataview-jit-unaligned-accesses.js: Added.
(assert):
(let.p.of.Object.keys.let.str):
(let.p.of.Object.keys):
Source/JavaScriptCore:
This patch teaches the DFG/FTL to inline DataView accesses. The approach is
straight forward. We inline the various get*/set* operations as intrinsics.
This patch takes the most obvious approach for now. We OSR exit when:
- An isLittleEndian argument is provided, and is not a boolean.
- The index isn't an integer.
- The |this| isn't a DataView.
- We do an OOB access (or see a neutered array)
To implement this change in a performant way, this patch teaches the macro
assembler how to emit byte swap operations. The semantics of the added functions
are byteSwap + zero extend. This means for the 16bit byte swaps, we need
to actually emit zero extend instructions. For the 32/64bit byte swaps,
the instructions already have these semantics.
This patch is just a lightweight initial implementation. There are some easy
extensions we can do in future changes:
- Teach B3 how to byte swap: https://bugs.webkit.org/show_bug.cgi?id=188759
- CSE DataViewGet* nodes: https://bugs.webkit.org/show_bug.cgi?id=188768
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::byteSwap16):
(JSC::MacroAssemblerARM64::byteSwap32):
(JSC::MacroAssemblerARM64::byteSwap64):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::byteSwap32):
(JSC::MacroAssemblerX86Common::byteSwap16):
(JSC::MacroAssemblerX86Common::byteSwap64):
- assembler/X86Assembler.h:
(JSC::X86Assembler::bswapl_r):
(JSC::X86Assembler::bswapq_r):
(JSC::X86Assembler::shiftInstruction16):
(JSC::X86Assembler::rolw_i8r):
(JSC::X86Assembler::X86InstructionFormatter::SingleInstructionBufferWriter::memoryModRM):
- assembler/testmasm.cpp:
(JSC::testByteSwap):
(JSC::run):
- bytecode/DataFormat.h:
- bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationFromClassInfo):
(JSC::speculationFromJSType):
(JSC::speculationFromString):
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::dataViewData):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateDataViewObject):
(JSC::DFG::SpeculativeJIT::speculate):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::byteSwap32):
(JSC::FTL::DFG::LowerDFGToB3::byteSwap64):
(JSC::FTL::DFG::LowerDFGToB3::emitCodeBasedOnEndiannessBranch):
(JSC::FTL::DFG::LowerDFGToB3::compileDataViewGet):
(JSC::FTL::DFG::LowerDFGToB3::compileDataViewSet):
(JSC::FTL::DFG::LowerDFGToB3::lowDataViewObject):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateDataViewObject):
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/JSDataViewPrototype.cpp:
Source/WTF:
- wtf/TriState.h:
- 9:44 PM Changeset in webkit [235105] by
-
- 2 edits in trunk/LayoutTests
Unreviewed WinCairo port test gardening
- platform/wincairo/TestExpectations: Marked some http tests flaky.
- 9:28 PM Abandoned documents edited by
- (diff)
- 8:29 PM Changeset in webkit [235104] by
-
- 5 edits2 adds in trunk
[YARR] Extend size of fixed characters bulk matching in 64bit platform
https://bugs.webkit.org/show_bug.cgi?id=181989
Patch by Yusuke Suzuki <Yusuke Suzuki> on 2018-08-20
Reviewed by Michael Saboff.
JSTests:
- stress/characters-regexp-ignore-case.js: Added.
(shouldBe):
(testH):
(testHe):
(testHel):
(testHell):
(testHello):
(testHelloW):
(testHelloWo):
(testHelloWor):
(testHelloWorl):
(testHelloWorld):
- stress/characters-regexp.js: Added.
(shouldBe):
(testH):
(testHe):
(testHel):
(testHell):
(testHello):
(testHelloW):
(testHelloWo):
(testHelloWor):
(testHelloWorl):
(testHelloWorld):
Source/JavaScriptCore:
This patch extends bulk matching style for fixed-sized characters.
In 64bit environment, the GPR can hold up to 8 characters. This change
reduces the code size since we can fuse multiplemovoperations into one.
- assembler/LinkBuffer.h:
- runtime/Options.h:
- yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generatePatternCharacterOnce):
(JSC::Yarr::YarrGenerator::compile):
- 7:15 PM Changeset in webkit [235103] by
-
- 19 edits2 adds in trunk
Web Inspector: allow breakpoints to be set for specific event listeners
https://bugs.webkit.org/show_bug.cgi?id=183138
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/DOM.json:
Add
setBreakpointForEventListenerandremoveBreakpointForEventListener, each of which
takes aneventListenerIdand toggles whether that specific usage of that event listener
should have a breakpoint and pause before running.
Source/WebCore:
Test: inspector/dom/breakpoint-for-event-listener.html
- inspector/agents/InspectorDOMAgent.h:
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::setEventListenerDisabled):
(WebCore::InspectorDOMAgent::setBreakpointForEventListener): Added.
(WebCore::InspectorDOMAgent::removeBreakpointForEventListener): Added.
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::willRemoveEventListener):
(WebCore::InspectorDOMAgent::isEventListenerDisabled):
(WebCore::InspectorDOMAgent::hasBreakpointForEventListener): Added.
(WebCore::InspectorDOMAgent::idForEventListener): Added.
Rework the event listener data structure to be based on ID instead ofEventListener, since
it is possible to have the sameEventListenerbe used for multiple events.
- inspector/agents/InspectorDOMDebuggerAgent.h:
- inspector/agents/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::willHandleEvent): Added.
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
For DOM events, also check to see if there is a matching event listener specific breakpoint
set via the DOMAgent, and break on it if one is found.
- inspector/InspectorInstrumentation.h:
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didInstallTimerImpl):
(WebCore::InspectorInstrumentation::didRemoveTimerImpl):
(WebCore::InspectorInstrumentation::willHandleEventImpl):
(WebCore::InspectorInstrumentation::willFireTimerImpl):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
(WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
(WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
(WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
Split offpauseOnNativeEventIfNeededto only handle non-DOM events, since all DOM events
would already only go throughwillHandleEvent.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/EventBreakpoint.js:
(WI.EventBreakpoint):
(WI.EventBreakpoint.fromPayload): Added.
(WI.EventBreakpoint.prototype.get eventListener): Added.
- UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager):
- UserInterface/Controllers/DOMTreeManager.js:
(WI.DOMTreeManager):
(WI.DOMTreeManager.prototype.get eventBreakpoints): Added.
(WI.DOMTreeManager.prototype._setDocument):
(WI.DOMTreeManager.prototype.setEventListenerDisabled):
(WI.DOMTreeManager.prototype.setBreakpointForEventListener): Added.
(WI.DOMTreeManager.prototype.removeBreakpointForEventListener): Added.
(WI.DOMTreeManager.prototype.breakpointForEventListenerId): Added.
- UserInterface/Controllers/EventBreakpointTreeController.js:
(WI.EventBreakpointTreeController):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
- UserInterface/Views/EventListenerSectionGroup.js:
(WI.EventListenerSectionGroup):
(WI.EventListenerSectionGroup.prototype._createDisabledToggleRow):
(WI.EventListenerSectionGroup.prototype._createBreakpointToggleRow): Added.
- UserInterface/Views/EventBreakpointTreeElement.js:
(WI.EventBreakpointTreeElement):
(WI.EventBreakpointTreeElement.prototype.ondelete):
(WI.EventBreakpointTreeElement.prototype.populateContextMenu):
(WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
LayoutTests:
- inspector/dom/breakpoint-for-event-listener-expected.txt: Added.
- inspector/dom/breakpoint-for-event-listener.html: Added.
- 6:13 PM Changeset in webkit [235102] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix the LLInt so that btjs shows vmEntryToJavaScript instead of llintPCRangeStart for the entry frame.
https://bugs.webkit.org/show_bug.cgi?id=188769
Reviewed by Michael Saboff.
- llint/LowLevelInterpreter.asm:
- Just put an unused instruction between llintPCRangeStart and vmEntryToJavaScript so that libunwind doesn't get confused by the 2 labels pointing to the same code address.
- 5:50 PM Changeset in webkit [235101] by
-
- 36 edits in trunk/Source/WebKit
Use unified build for NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=185011
Reviewed by Alex Christensen.
- NetworkProcess/Cookies/WebCookieManager.cpp:
- NetworkProcess/Downloads/Download.cpp:
- NetworkProcess/Downloads/DownloadManager.cpp:
- NetworkProcess/Downloads/PendingDownload.cpp:
- NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
- NetworkProcess/NetworkContentRuleListManager.cpp:
- NetworkProcess/NetworkDataTask.cpp:
- NetworkProcess/NetworkDataTaskBlob.cpp:
- NetworkProcess/NetworkLoadChecker.cpp:
- NetworkProcess/NetworkProcess.cpp:
- NetworkProcess/NetworkProcessPlatformStrategies.cpp:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
- NetworkProcess/NetworkResourceLoader.cpp:
- NetworkProcess/NetworkSession.cpp:
- NetworkProcess/NetworkSocketStream.cpp:
- NetworkProcess/PingLoad.cpp:
- NetworkProcess/cache/CacheStorageEngine.cpp:
- NetworkProcess/cache/CacheStorageEngineCache.cpp:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
- NetworkProcess/cache/CacheStorageEngineConnection.cpp:
- NetworkProcess/cache/NetworkCache.cpp:
- NetworkProcess/capture/NetworkCaptureEvent.cpp:
- NetworkProcess/capture/NetworkCaptureManager.cpp:
- NetworkProcess/capture/NetworkCaptureRecorder.cpp:
- NetworkProcess/capture/NetworkCaptureReplayer.cpp:
- NetworkProcess/capture/NetworkDataTaskReplay.cpp:
- NetworkProcess/webrtc/NetworkMDNSRegister.cpp:
- NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::platformCancelNetworkLoad):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:didBecomeInvalidWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]):
Fix the build with unified sources.
- Sources.txt: Un-@no-unify NetworkProcess/*.
- SourcesCocoa.txt: Un-@no-unify NetworkProcess/*.
- 4:29 PM Changeset in webkit [235100] by
-
- 1 copy in tags/Safari-606.1.36.10.3
Tag Safari-606.1.36.10.3.
- 4:10 PM Changeset in webkit [235099] by
-
- 3 edits1 add in trunk/Tools
WebKitTestRunner: Add watchOS entitlements
https://bugs.webkit.org/show_bug.cgi?id=188758
Reviewed by Tim Horton.
watchOS needs an additional entitlement to open up a socket for on-device testing.
- WebKitTestRunner/Configurations/WebKitTestRunnerApp-watchOS.entitlements: Added.
- WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- 3:59 PM Changeset in webkit [235098] by
-
- 11 edits in trunk/Source
[CMake] Sync unified build with Cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=188732
Reviewed by Tim Horton.
Source/WebCore:
For iOS, disambiguate between ::WebEvent declared in PlatformKeyboardEvent.h and
WebCore::WebEvent declared in WebEvent.h. It's expected that we'll have to deal with random
issues like this when modifying unrelated source files in higher-level projects, since any
change to the sources list changes which files get bundled together, and headers from
lower-level projects that were not included before may now be included together.
- platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::event const):
Source/WebKit:
Sync unified build with Cocoa ports. This enables unified build for WebKit/Platform and
WebKit/Shared.
Lots of files need to be moved around since the existing Sources.txt was not copied from
CMakeLists.txt. This replaces the Sources.txt with the sources list from CMakeList.txt.
Files that are not built for Cocoa are moved to SourcesGTK.txt, SourcesWPE.txt, and
PlatformWin.cmake. Files that are built only on Cocoa are moved to SourcesCocoa.txt. There's
plenty of room to determine if many of these files really need to be platform-specific in
the future, but let's not change that now.
Unfortunately, several files under Shared and PluginProcess need to be un-unified to be
usable for GTK's WebKitPluginProcess2. I've never managed to understand why, but it won't
link otherwise. Fortunately, this only affects a few files (listed in
PluginProcessGTK2_SOURCES), only a couple dozen of which are cross-platform.
- CMakeLists.txt:
- PlatformWin.cmake:
- Sources.txt:
- SourcesCocoa.txt:
- SourcesGTK.txt:
- SourcesWPE.txt:
- 3:57 PM Changeset in webkit [235097] by
-
- 7 edits in branches/safari-606.1.36.10-branch/Source
Versioning.
- 3:52 PM Changeset in webkit [235096] by
-
- 51 edits3 copies6 moves6 adds10 deletes in trunk/Tools
[WHLSL] Remove generics from the interpreter
https://bugs.webkit.org/show_bug.cgi?id=187988
Patch by Thomas Denney <tdenney@apple.com> on 2018-08-20
Reviewed by Myles C. Maxfield.
This patch completely removes generic and protocol support from WHLSL
whilst adding back any features that were originally implemented with
generics.
Many of the changes in this patch just remove occurrences of type
arguments and type parameters --- although there are some cases where
they have been deliberately left in --- as well as removing tests only
relevant to those features. These changes are not listed below.
- WebGPUShadingLanguageRI/All.js: Add/remove JS dependencies
- WebGPUShadingLanguageRI/AutoWrapper.js:
(AutoWrapper.prototype.visitConstexprTypeParameter): Deleted.
- WebGPUShadingLanguageRI/BuiltinVectorCasts.js: Added. The built-in
vectors have many constructors for different scalar and vector types.
These were originally implemented with generics.
- WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Adds the
equality operator for built-in vectors, again this was removed with
generics.
- WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Added, as above.
Built-in vectors only support the getter and setter, and not the ander.
- WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js: Added.
- WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js: Added.
- WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Added.
- WebGPUShadingLanguageRI/CallExpression.js: Adds support for
instantiating functions which cannot be discovered earlier in
preparation because their types are absent (specifically support for the
operator &[] for array references and the length operator for array
references). Previously support for these was implemented with generics.
(CallExpression.resolve):
(CallExpression.prototype.resolve):
(CallExpression.prototype._resolveByInstantiation):
(CallExpression.prototype._resolveToOperatorAnderIndexer):
(CallExpression.prototype._resolveToOperatorLength):
(CallExpression.prototype.resolveToOverload):
(CallExpression.prototype.becomeCast):
(CallExpression.prototype.toString):
(CallExpression):
- WebGPUShadingLanguageRI/CallExpressionTypeArgumentResolver.js: Added.
We support syntax like vector<int, 2>(a, b) for constructing vectors;
this new preparation step resolves them to specific constructors.
- WebGPUShadingLanguageRI/CallFunction.js:
- WebGPUShadingLanguageRI/Checker.js:
- WebGPUShadingLanguageRI/ConstexprFolder.js:
- WebGPUShadingLanguageRI/CreateLiteralType.js:
- WebGPUShadingLanguageRI/ExpressionFinder.js:
- WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Removed.
- WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
- WebGPUShadingLanguageRI/Func.js:
- WebGPUShadingLanguageRI/FuncDef.js:
- WebGPUShadingLanguageRI/FuncInstantiator.js: Deleted.
- WebGPUShadingLanguageRI/InferTypesForCall.js: Removed usage of type arguments.
- WebGPUShadingLanguageRI/Inline.js: Remove use of FuncInstantiator.
- WebGPUShadingLanguageRI/Inliner.js: Ditto.
- WebGPUShadingLanguageRI/Intrinsics.js:
- WebGPUShadingLanguageRI/Lexer.js:
- WebGPUShadingLanguageRI/LiteralTypeChecker.js:
- WebGPUShadingLanguageRI/NameContext.js:
(NameContext.prototype.add):
(NameContext.prototype.get let):
(NameContext.underlyingThings.prototype.else):
(NameContext.prototype.resolveFuncOverload):
- WebGPUShadingLanguageRI/NameFinder.js:
- WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitFunc):
(NameResolver.prototype.visitFuncDef):
(NameResolver.prototype.visitTypeDef):
(NameResolver.prototype.visitStructType):
(NameResolver.prototype.visitTypeRef):
(NameResolver.prototype.visitCallExpression):
(NameResolver.prototype.visitVectorType):
(NameResolver):
(NameResolver.prototype._visitTypeParametersAndBuildNameContext): Deleted.
(NameResolver.prototype.visitProtocolDecl): Deleted.
- WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc):
- WebGPUShadingLanguageRI/NativeFuncInstance.js: Deleted.
- WebGPUShadingLanguageRI/NativeType.js:
(NativeType):
(NativeType.prototype.get name):
(NativeType.prototype.toString):
(NativeType.prototype.get typeParameters): Deleted.
(NativeType.prototype.instantiate): Deleted.
- WebGPUShadingLanguageRI/Node.js:
(Node.prototype.commit):
(Node):
(Node.prototype.substitute): Deleted.
(Node.prototype.substituteToUnification): Deleted.
- WebGPUShadingLanguageRI/OperatorAnderIndex.js: Added, previously
implemented with generics.
- WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Ditto.
- WebGPUShadingLanguageRI/OperatorBool.js: Ditto.
- WebGPUShadingLanguageRI/Parse.js: Removed everything related to
generics and protocols.
- WebGPUShadingLanguageRI/Prepare.js: Added new stages.
- WebGPUShadingLanguageRI/Program.js:
(Program):
(Program.prototype.get types):
(Program.prototype.add):
(Program.prototype.get protocols): Deleted.
- WebGPUShadingLanguageRI/ProtocolDecl.js: Removed.
- WebGPUShadingLanguageRI/ProtocolRef.js: Removed.
- WebGPUShadingLanguageRI/RecursiveTypeChecker.js:
- WebGPUShadingLanguageRI/ResolveCallExpressionsWithTypeArguments.js: Added.
- WebGPUShadingLanguageRI/ResolveNames.js:
- WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
- WebGPUShadingLanguageRI/ResolveTypeDefs.js:
(resolveTypeDefsInProtocols): Deleted.
- WebGPUShadingLanguageRI/Rewriter.js: Changes for new classes.
- WebGPUShadingLanguageRI/SPIRV.html:
- WebGPUShadingLanguageRI/SPIRVCodegen.js:
- WebGPUShadingLanguageRI/StandardLibrary.js: Replace old generic features.
- WebGPUShadingLanguageRI/StatementCloner.js: Changes for new classes.
(StructLayoutBuilder):
- WebGPUShadingLanguageRI/StructType.js:
- WebGPUShadingLanguageRI/SwizzleOp.js:
(SwizzleOp):
(SwizzleOp.prototype.get baseTypeName):
(SwizzleOp.prototype.toString):
(SwizzleOp.functions.):
(SwizzleOp.functions):
(SwizzleOp.prototype.instantiateImplementation):
(SwizzleOp.allSwizzleOperators.): Deleted.
(SwizzleOp.allSwizzleOperators): Deleted.
- WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Added,
previously implemented with generics.
- WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Ditto.
- WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Ditto.
- WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Ditto.
- WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Ditto.
- WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
(synthesizeStructAccessors.setupImplementationData):
(synthesizeStructAccessors.createFieldType):
(synthesizeStructAccessors.createTypeRef):
(synthesizeStructAccessors.setupAnder):
(synthesizeStructAccessors):
(synthesizeStructAccessors.createTypeParameters): Deleted.
(synthesizeStructAccessors.): Deleted.
- WebGPUShadingLanguageRI/Test.html:
- WebGPUShadingLanguageRI/Test.js: Removed redundant tests and added new
tests for changed language features.
- WebGPUShadingLanguageRI/Type.js:
- WebGPUShadingLanguageRI/TypeDef.js:
- WebGPUShadingLanguageRI/TypeDefResolver.js:
- WebGPUShadingLanguageRI/TypeParameterRewriter.js: Removed.
- WebGPUShadingLanguageRI/TypeRef.js:
- WebGPUShadingLanguageRI/TypeVariable.js: Removed.
- WebGPUShadingLanguageRI/UnificationContext.js:
- WebGPUShadingLanguageRI/VectorType.js: Added.
- WebGPUShadingLanguageRI/Visitor.js: Changes for new classes.
- WebGPUShadingLanguageRI/WSL.md: Removed description of
generics/protocols.
- WebGPUShadingLanguageRI/WrapChecker.js:
(WrapChecker):
(WrapChecker.visitConstexprTypeParameter): Deleted.
(WrapChecker.prototype.visitFuncParameter): Deleted.
(WrapChecker.prototype.visitTypeVariable): Deleted.
- WebGPUShadingLanguageRI/index.html:
- 2:31 PM Changeset in webkit [235095] by
-
- 13 edits2 deletes in trunk/Source/WebInspectorUI
Web Inspector: Canvas tab: allow recording processing to be stopped midway
https://bugs.webkit.org/show_bug.cgi?id=185152
Reviewed by Joseph Pecoraro.
Previously,
WI.Recordingused aWI.YieldableTaskto process every action in such a way
as to not block the UI. The downside to this approach was that it used a message view to
indicate the progress of this process, and prevented the user from viewing theWI.Recording
until that process was completed.
This patch changes
WI.Recordingto instead useasync/awaitand fire events whenever a
WI.RecordingAction(andWI.RecordingFrame) finished processing, allowing it to be added
to the recordingWI.TreeOutlineand selected by the user. Additionally, a pause/resume
button is added to theWI.CanvasSidebarPanelso the user has greater control over what
how much of theWI.Recordingthey want to process.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Utilities.js:
(Promise.delay)
Utility function for promisifyingsetTimeout.
- UserInterface/Models/Recording.js:
(WI.Recording):
(WI.Recording.prototype.get processing): Added.
(WI.Recording.prototype.get ready): Added.
(WI.Recording.prototype.startProcessing): Added.
(WI.Recording.prototype.stopProcessing): Added.
(WI.Recording.prototype.async._process): Added.
(WI.Recording.prototype.process): Deleted.
(WI.Recording.prototype.async.yieldableTaskWillProcessItem): Deleted.
(WI.Recording.prototype.async.yieldableTaskDidFinish): Deleted.
- UserInterface/Models/RecordingAction.js:
(WI.RecordingAction):
(WI.RecordingAction.prototype.get ready): Added.
(WI.RecordingAction.prototype.async.swizzle):
(WI.RecordingAction.prototype.apply):
- UserInterface/Models/RecordingInitialStateAction.js:
(WI.RecordingInitialStateAction):
- UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel):
(WI.CanvasSidebarPanel.prototype.set recording):
(WI.CanvasSidebarPanel.prototype.set action):
(WI.CanvasSidebarPanel.prototype._recordingAdded):
(WI.CanvasSidebarPanel.prototype._recordingRemoved):
(WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
(WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
(WI.CanvasSidebarPanel.prototype._recordingChanged):
(WI.CanvasSidebarPanel.prototype._recordingChanged.createPauseButton): Added.
(WI.CanvasSidebarPanel.prototype._recordingChanged.createResumeButton): Added.
(WI.CanvasSidebarPanel.prototype._createRecordingFrameTreeElement): Added.
(WI.CanvasSidebarPanel.prototype._createRecordingActionTreeElement): Added.
(WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction): Added.
(WI.CanvasSidebarPanel.prototype._handleRecordingStartProcessingFrame): Added.
- UserInterface/Views/CanvasSidebarPanel.css:
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle::before): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options > .indeterminate-progress-spinner): Added.
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner): Deleted.
- UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView):
(WI.RecordingContentView.prototype.updateActionIndex):
(WI.RecordingContentView.prototype.initialLayout):
(WI.RecordingContentView.prototype._updateCanvasPath):
(WI.RecordingContentView.prototype._handleRecordingProcessedAction): Added.
(WI.RecordingContentView.prototype._updateProcessProgress): Deleted.
(WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Deleted.
(WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Deleted.
- UserInterface/Views/RecordingContentView.css:
(.content-view:not(.tab).recording > header > .slider-container > .slider-value): Added.
- UserInterface/Views/FolderTreeElement.js:
(WI.FolderTreeElement):
- UserInterface/Views/GeneralTreeElement.js:
(WI.GeneralTreeElement.prototype.get statusElement): Added.
(WI.GeneralTreeElement.prototype._updateTitleElements):
- UserInterface/Views/RecordingContentView.js:
(WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
(WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
Drive-by:WI.Collectiondoesn't have avalues()accessor for the underlyingSet.
- UserInterface/Views/RecordingNavigationSidebarPanel.css: Removed.
- UserInterface/Views/RecordingNavigationSidebarPanel.js: Removed.
These files are no longer used since they were "merged" into
WI.CanvasSidebarPanel.
- 2:09 PM Changeset in webkit [235094] by
-
- 2 edits in trunk/LayoutTests
Enable ios media tests that were blocked on user gesture.
https://bugs.webkit.org/show_bug.cgi?id=188753
Patch by Jeremy Jones <jeremyj@apple.com> on 2018-08-20
Reviewed by Jer Noble.
Enable tests that now work on ios because there is now a way to simulate user gesture.
- platform/ios/TestExpectations:
- 1:30 PM Changeset in webkit [235093] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas tab: create icons for recordings/shaders in the preview tile
https://bugs.webkit.org/show_bug.cgi?id=183650
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/CanvasContentView.js:
(WI.CanvasContentView):
(WI.CanvasContentView.prototype.initialLayout):
(WI.CanvasContentView.prototype.attached):
(WI.CanvasContentView.prototype._recordingStopped):
(WI.CanvasContentView.prototype._shaderProgramAdded):
(WI.CanvasContentView.prototype._shaderProgramRemoved):
(WI.CanvasContentView.prototype._updateViewRelatedItems):
(WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
(WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
(WI.CanvasContentView.prototype._addRecording): Deleted.
(WI.CanvasContentView.prototype._handleRecordingSelectElementChange): Deleted.
- UserInterface/Views/CanvasOverviewContentView.css:
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items):
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > :matches(.view-shader, .view-recording)):
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > img + img):
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-shader):
(.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-recording):
(.content-view.canvas-overview .content-view.canvas > footer > .recordings): Deleted.
(.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.
(.content-view.canvas-overview .content-view.canvas > footer > .recordings > select): Deleted.
(.content-view.canvas-overview .content-view.canvas > footer .recordings > select:focus): Deleted.
Create two image buttons in the bottom left corner of each canvas tile that appear when the
canvas has associated shaders and/or recordings. Clicking each image button will function
similar to path components, in that if there is only one shader/recording, it is immediately
selected, whereas if there are multiple a dropdown is shown.
- UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
(WI.CanvasSidebarPanel.prototype._recordingChanged):
Drive-by: ensure that the selected recording action is properly updated when first loading a
recording and when scrubbing through one.
- 1:04 PM Changeset in webkit [235092] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r223192): Remove invalid
pathfor Modules/geolocation/ios folder
- WebCore.xcodeproj/project.pbxproj: Remove invalid
path
setting for WebCore/Modules/geolocation/ios folder. This was
found while working on a script for Bug 188754: Tool to fix
folders that should map to directories in Xcode project files.
- 12:51 PM Changeset in webkit [235091] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r235015): Xcode changes
mainGroupname when updating WebCore project file
- WebCore.xcodeproj/project.pbxproj:
- Change
nameto "WebCore" within the group used bymainGroupso Xcode won't keep changing its value back to "WebKit".
- 12:29 PM Changeset in webkit [235090] by
-
- 11 edits in trunk/LayoutTests
Update webkit-webgl-test-harness.js to provide more info on failing and partially passing tests
https://bugs.webkit.org/show_bug.cgi?id=188628
Patch by Justin Fan <Justin Fan> on 2018-08-20
Reviewed by Alexey Proskuryakov.
Slightly augment the test-harness for the WebGL 2 conformance suite; failing test results now report
failure messagees and the number of individual reported failures and passes from the wrapped Khronos test.
Allow us to track when incremental conformance improvements or regressions occur within the breadth of a
single conformance test.
- webgl/2.0.0/conformance2/glsl3/attrib-location-length-limits-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-linking-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-with-1024-character-define-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-with-1024-character-identifier.frag-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-with-invalid-characters-expected.txt:
- webgl/2.0.0/conformance2/glsl3/shader-with-mis-matching-uniform-block-expected.txt:
- webgl/2.0.0/conformance2/glsl3/unary-minus-operator-in-dynamic-loop-expected.txt:
- webgl/2.0.0/conformance2/glsl3/uniform-location-length-limits-expected.txt:
- webgl/2.0.0/conformance2/glsl3/valid-invariant-expected.txt:
- webgl/2.0.0/resources/webkit-webgl-test-harness.js:
(window.webglTestHarness.reportResults):
(window.webglTestHarness.notifyFinished):
- 12:22 PM Changeset in webkit [235089] by
-
- 2 edits in trunk/Tools
Added Thomas Denney to contributors.json.
https://bugs.webkit.org/show_bug.cgi?id=188525
Patch by Thomas Denney <tdenney@apple.com> on 2018-08-20
Reviewed by Myles C. Maxfield.
- Scripts/webkitpy/common/config/contributors.json:
- 12:15 PM Changeset in webkit [235088] by
-
- 4 edits in trunk/Source/WebKit
Fix the iOSMac build with unified sources
- Shared/mac/ArgumentCodersMac.mm:
- Shared/mac/ChildProcessMac.mm:
- Shared/mac/NativeWebKeyboardEventMac.mm:
- 11:38 AM Changeset in webkit [235087] by
-
- 2 edits in trunk/Source/WebCore
UIWebView crashes while attempting to play youtube video on phone
https://bugs.webkit.org/show_bug.cgi?id=188351
rdar://problem/42489664
Patch by Jeremy Jones <jeremyj@apple.com> on 2018-08-20
Reviewed by David Kilzer.
Test will be incorporated with fix for 188749, which will test both fixes.
VideoFullscreenControllerContext must remove unretained reference to it from m_playbackModel during cleanup.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::didCleanupFullscreen):
- 11:10 AM Changeset in webkit [235086] by
-
- 40 edits in trunk
[MediaStream] Move capture device monitoring to WebKit
https://bugs.webkit.org/show_bug.cgi?id=188521
<rdar://problem/43251787>
Reviewed by Youenn Fablet.
Source/WebCore:
No new tests, updated fast/mediastream/device-change-event-2.html for the changes.
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::MediaDevices): Device change listener is added in addEventListener.
(WebCore::MediaDevices::stop): Device change listener is on the user media controller.
(WebCore::MediaDevices::addEventListener): Add the device change listener only once the first
event handler is added.
- Modules/mediastream/MediaDevices.h:
- Modules/mediastream/UserMediaClient.h:
- Modules/mediastream/UserMediaController.h:
(WebCore::UserMediaController::addDeviceChangeObserver): Pass through to the client.
(WebCore::UserMediaController::removeDeviceChangeObserver): Ditto.
- platform/mediastream/CaptureDeviceManager.cpp:
(CaptureDeviceManager::deviceChanged): Notify RealtimeMediaSourceCenter.
(nextObserverToken): Deleted.
(CaptureDeviceManager::addCaptureDeviceChangedObserver): Deleted.
(CaptureDeviceManager::removeCaptureDeviceChangedObserver): Deleted.
- platform/mediastream/CaptureDeviceManager.h:
- platform/mediastream/RealtimeMediaSourceCenter.cpp:
(WebCore::RealtimeMediaSourceCenter::setDevicesChangedObserver):
(WebCore::RealtimeMediaSourceCenter::captureDevicesChanged):
(WebCore::observerMap): Deleted.
(WebCore::RealtimeMediaSourceCenter::addDevicesChangedObserver): Deleted.
(WebCore::RealtimeMediaSourceCenter::removeDevicesChangedObserver): Deleted.
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
(WebCore::AVAudioSessionCaptureDeviceManager::refreshAudioCaptureDevices): Call base class.
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::deviceConnected): Ditto.
(WebCore::AVCaptureDeviceManager::deviceDisconnected): Ditto.
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
(WebCore::deviceHasInputStreams): Drive-by fix, check the number of buffers to see if the
device has input streams.
(WebCore::CoreAudioCaptureDeviceManager::coreAudioCaptureDevices): Use new bool parameter
added to refreshAudioCaptureDevices so we won't trigger a device change event on the first scan.
(WebCore::CoreAudioCaptureDeviceManager::refreshAudioCaptureDevices): Add param.
(WebCore::CoreAudioCaptureDeviceManager::devicesChanged): Use new param.
- platform/mediastream/mac/CoreAudioCaptureDeviceManager.h:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::setDevices): Don't need to call captureDevicesChanged,
it is done in the UI process.
(WebCore::MockRealtimeMediaSourceCenter::addDevice): Ditto.
(WebCore::MockRealtimeMediaSourceCenter::removeDevice): Ditto.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::setPageIsFocusedAndActive): New, used by updated test.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::captureDevicesChanged): Notify as appropriate.
(WebKit::UserMediaPermissionRequestManagerProxy::viewIsBecomingVisible): Change name from
viewIsBecomingVisible. Call captureDevicesChanged if a change happened when not visible.
(WebKit::UserMediaPermissionRequestManagerProxy::watchdogTimerFired): Clear m_pendingDeviceChangeEvent.
(WebKit::UserMediaPermissionRequestManagerProxy::processPregrantedRequests): Deleted.
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::UserMediaProcessManager): Initialize timer.
(WebKit::UserMediaProcessManager::captureDevicesChanged): New, notify each manager.
(WebKit::UserMediaProcessManager::beginMonitoringCaptureDevices): Cache the device list and
register device change listener the first time it is called.
- UIProcess/UserMediaProcessManager.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewIsBecomingVisible):
(WebKit::WebPageProxy::beginMonitoringCaptureDevices):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::addDeviceChangeObserver): Add listener, tell page
to start monitoring device changes.
(WebKit::UserMediaPermissionRequestManager::removeDeviceChangeObserver): Remove listener.
(WebKit::UserMediaPermissionRequestManager::captureDevicesChanged): Call listeners.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
- WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
(WebKit::WebUserMediaClient::addDeviceChangeObserver):
(WebKit::WebUserMediaClient::removeDeviceChangeObserver):
- WebProcess/WebCoreSupport/WebUserMediaClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::captureDevicesChanged):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::addMockMediaDevice):
(WebKit::WebProcess::clearMockMediaDevices):
(WebKit::WebProcess::removeMockMediaDevice):
(WebKit::WebProcess::resetMockMediaDevices):
(WebKit::WebProcess::captureDevicesChanged):
- WebProcess/WebProcess.h:
LayoutTests:
- fast/mediastream/device-change-event-2-expected.txt: Updated.
- fast/mediastream/device-change-event-2.html: Updated.
- 10:41 AM Changeset in webkit [235085] by
-
- 1 copy in tags/Safari-606.1.36.10.2
Tag Safari-606.1.36.10.2.
- 10:39 AM Changeset in webkit [235084] by
-
- 7 edits in branches/safari-606.1.36.10-branch/Source
Versioning.
- 10:39 AM Changeset in webkit [235083] by
-
- 1 delete in tags/Safari-606.1.36.10.2
Delete tag
- 10:30 AM Changeset in webkit [235082] by
-
- 1 copy in tags/Safari-606.1.36.10.2
Tag Safari-606.1.36.10.2.
- 10:25 AM Changeset in webkit [235081] by
-
- 3 edits1 add in branches/safari-606.1.36.10-branch
Cherry-pick r235007. rdar://problem/43445973
intersectionOfPastValuesAtHead must filter values after they've observed an invalidation point
https://bugs.webkit.org/show_bug.cgi?id=188707
<rdar://problem/43015442>
Reviewed by Mark Lam.
JSTests:
- stress/cfa-expected-values-must-set-clobbered-to-false.js: Added. (foo): (let.comp.valueOf): (result):
Source/JavaScriptCore:
We use the values in intersectionOfPastValuesAtHead to verify that it is safe to
OSR enter at the head of a block. We verify it's safe to OSR enter by checking
that each incoming value is compatible with its corresponding AbstractValue.
The bug is that we were sometimes filtering the intersectionOfPastValuesAtHead
with abstract values that were clobbererd. This meant that the value we're
verifying with at OSR entry effectively has an infinite structure set because
it's clobbered. So, imagine we have code like this:
`
---> We OSR enter here, and we're clobbered here
InvalidationPoint
GetByOffset(@base)
`
The abstract value for @base inside intersectionOfPastValuesAtHead has a
clobberred structure set, so we'd allow an incoming object with any
structure. However, this is wrong because the invalidation point is no
longer fulfilling its promise that it filters the structure that @base has.
We fix this by filtering the AbstractValues in intersectionOfPastValuesAtHead
as if the incoming value may be live past an InvalidationPoint.
This places a stricter requirement that to safely OSR enter at any basic
block, all incoming values must be compatible as if they lived past
the execution of an invalidation point.
- dfg/DFGCFAPhase.cpp: (JSC::DFG::CFAPhase::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:49 AM Changeset in webkit [235080] by
-
- 2 edits in trunk/Tools
[GTK] Sort inspector GResource manifest to ensure reproducible builds
https://bugs.webkit.org/show_bug.cgi?id=188738
Patch by Bernhard M. Wiedemann <bwiedemann@suse.de> on 2018-08-20
Reviewed by Michael Catanzaro.
- glib/generate-inspector-gresource-manifest.py:
(get_filenames): sort list of input files
- 9:43 AM Changeset in webkit [235079] by
-
- 2 edits in trunk/Tools
[iOS] Paste is missing from callout bar when pasteboard only contains custom data
https://bugs.webkit.org/show_bug.cgi?id=184271
<rdar://problem/39256708>
Reviewed by Andy Estes.
This API test is failing when run against older macOS builds, where custom pasteboard
data is not enabled by default.
- TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
(TestWebKitAPI::TEST):
- 7:08 AM Changeset in webkit [235078] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r235036 - Unreviewed. Fix GTK/WPE cookie API tests after r234396.
- UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName): Bring back the check to handle localhost as an
special case for non cocoa ports.
- 7:08 AM Changeset in webkit [235077] by
-
- 4 edits in releases/WebKitGTK/webkit-2.22
Merge r235026 - [SOUP] Check length before calling soup_message_body_append_buffer.
https://bugs.webkit.org/show_bug.cgi?id=176803
Reviewed by Carlos Garcia Campos.
Source/WebCore:
The function has a precondition that the buffer is non-empty.
Test: http/tests/local/blob/send-hybrid-blob-using-open-panel.html
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::appendEncodedBlobItemToSoupMessageBody):
(WebCore::ResourceRequest::updateSoupMessageBody const):
LayoutTests:
- platform/gtk/TestExpectations: Enable test.
- 7:08 AM Changeset in webkit [235076] by
-
- 9 edits in releases/WebKitGTK/webkit-2.22
Merge r235025 - Relax Request constructor around referrers
https://bugs.webkit.org/show_bug.cgi?id=168649
Patch by Rob Buis <rbuis@igalia.com> on 2018-08-20
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
- web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
Source/WebCore:
Implement remaining part of fetch change
https://github.com/whatwg/fetch/pull/377, i.e.
if "parsedReferrer’s origin is not same origin with origin",
then set request’s referrer to "client", instead of
throwing an exception [1].
WebKit's new behavior matches that of Chrome and Firefox.
Testing is covered by existing wpt tests.
[1] Step 15.3.3 of https://fetch.spec.whatwg.org/#main-fetch
- Modules/fetch/FetchRequest.cpp:
(WebCore::computeReferrer):
LayoutTests:
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
- 7:08 AM Changeset in webkit [235075] by
-
- 8 edits in releases/WebKitGTK/webkit-2.22
Merge r235024 - [GLIB] Add API to throw exceptions using printf formatted strings
https://bugs.webkit.org/show_bug.cgi?id=188698
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Add jsc_context_throw_printf() and jsc_context_throw_with_name_printf(). Also add new public constructors of
JSCException using printf formatted string.
- API/glib/JSCContext.cpp:
(jsc_context_throw_printf):
(jsc_context_throw_with_name_printf):
- API/glib/JSCContext.h:
- API/glib/JSCException.cpp:
(jsc_exception_new_printf):
(jsc_exception_new_vprintf):
(jsc_exception_new_with_name_printf):
(jsc_exception_new_with_name_vprintf):
- API/glib/JSCException.h:
- API/glib/docs/jsc-glib-4.0-sections.txt:
Tools:
Add cases to test the new API.
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(createFormattedError):
(createCustomFormattedError):
(testJSCExceptions):
- 7:08 AM Changeset in webkit [235074] by
-
- 8 edits in releases/WebKitGTK/webkit-2.22
Merge r235023 - [GLIB] Complete the JSCException API
https://bugs.webkit.org/show_bug.cgi?id=188695
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Add more API to JSCException:
- New function to get the column number
- New function get exception as string (toString())
- Add the possibility to create exceptions with a custom error name.
- New function to get the exception error name
- New function to get the exception backtrace.
- New convenience function to report a exception by returning a formatted string with all the exception details, to be shown as a user error message.
- API/glib/JSCContext.cpp:
(jsc_context_throw_with_name):
- API/glib/JSCContext.h:
- API/glib/JSCException.cpp:
(jscExceptionEnsureProperties):
(jsc_exception_new):
(jsc_exception_new_with_name):
(jsc_exception_get_name):
(jsc_exception_get_column_number):
(jsc_exception_get_back_trace_string):
(jsc_exception_to_string):
(jsc_exception_report):
- API/glib/JSCException.h:
- API/glib/docs/jsc-glib-4.0-sections.txt:
Tools:
Add cases to test the new API.
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(testJSCCheckSyntax):
(createCustomError):
(testJSCExceptions):
- 7:08 AM Changeset in webkit [235073] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/JavaScriptCore
Merge r235021 - Unreviewed, rolling out r234852.
https://bugs.webkit.org/show_bug.cgi?id=188736
Workaround is not correct (Requested by yusukesuzuki on
Reverted changeset:
"[JSC] Should not rotate constant with 64"
https://bugs.webkit.org/show_bug.cgi?id=188556
https://trac.webkit.org/changeset/234852
- 7:07 AM Changeset in webkit [235072] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r235020 - Shrink size of WebCore::Event further by reordering members
https://bugs.webkit.org/show_bug.cgi?id=188734
Reviewed by Daniel Bates.
Since WebCore::Event is ref-counted class, it has 4bytes m_refCount at the head of the class.
So placing 4bytes just after that before placing 8bytes aligned member (like pointers in 64bit
platforms) can save the size of WebCore::Event further.
This patch reorders members of WebCore::Event to shrink the size from 80bytes to 72bytes.
No behavior change.
- dom/Event.cpp:
(WebCore::Event::Event):
- dom/Event.h:
- 7:07 AM Changeset in webkit [235071] by
-
- 9 edits1 add in releases/WebKitGTK/webkit-2.22/Source
Merge r235018 - [WTF] Add WTF::unalignedLoad and WTF::unalignedStore
https://bugs.webkit.org/show_bug.cgi?id=188716
Reviewed by Darin Adler.
Source/JavaScriptCore:
Use WTF::unalignedLoad and WTF::unalignedStore to avoid undefined behavior.
The compiler can emit appropriate mov operations in x86 even if we use these
helper functions.
- assembler/AssemblerBuffer.h:
(JSC::AssemblerBuffer::LocalWriter::putIntegralUnchecked):
(JSC::AssemblerBuffer::putIntegral):
(JSC::AssemblerBuffer::putIntegralUnchecked):
- assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::readCallTarget):
- assembler/X86Assembler.h:
(JSC::X86Assembler::linkJump):
(JSC::X86Assembler::readPointer):
(JSC::X86Assembler::replaceWithHlt):
(JSC::X86Assembler::replaceWithJump):
(JSC::X86Assembler::setPointer):
(JSC::X86Assembler::setInt32):
(JSC::X86Assembler::setInt8):
- interpreter/InterpreterInlines.h:
(JSC::Interpreter::getOpcodeID): Embedded opcode may be misaligned. Actually UBSan detects misaligned accesses here.
Source/WTF:
While some CPUs allow unaligned accesses to memory, doing it in C++ with
reinterpret_cast<>is
undefined behavior. This patch adds WTF::{unalignedLoad,unalignedStore} helper functions, which
can load from and store to the pointer in an unaligned manner.
Actual implementation usesmemcpy. This can be optimized to direct unaligned access operations
in supported CPUs like x86. Even though a CPU does not support unaligned accesses, memcpy is still
safe and the compiler emits appropriate code.
We name these functions
unalignedLoadandunalignedStoreinstead ofloadUnalignedandstoreUnaligned
in order to align them toatomicLoadandatomicStore.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/UnalignedAccess.h: Added.
(WTF::unalignedLoad):
(WTF::unalignedStore):
- wtf/text/StringCommon.h:
(WTF::equal):
(WTF::loadUnaligned): Deleted.
- 7:07 AM Changeset in webkit [235070] by
-
- 37 edits2 adds in releases/WebKitGTK/webkit-2.22
Merge r235014 - [IntersectionObserver] Fire an initial dummy notification
https://bugs.webkit.org/show_bug.cgi?id=188670
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Rebaseline tests now that an initial notification is fired.
- web-platform-tests/intersection-observer/bounding-box-expected.txt:
- web-platform-tests/intersection-observer/client-rect-expected.txt:
- web-platform-tests/intersection-observer/containing-block-expected.txt:
- web-platform-tests/intersection-observer/cross-origin-iframe-expected.txt:
- web-platform-tests/intersection-observer/disconnect-expected.txt:
- web-platform-tests/intersection-observer/display-none-expected.txt:
- web-platform-tests/intersection-observer/edge-inclusive-intersection-expected.txt:
- web-platform-tests/intersection-observer/iframe-no-root-expected.txt:
- web-platform-tests/intersection-observer/inline-client-rect-expected.txt:
- web-platform-tests/intersection-observer/isIntersecting-change-events-expected.txt:
- web-platform-tests/intersection-observer/multiple-targets-expected.txt:
- web-platform-tests/intersection-observer/multiple-thresholds-expected.txt:
- web-platform-tests/intersection-observer/observer-without-js-reference-expected.txt:
- web-platform-tests/intersection-observer/remove-element-expected.txt:
- web-platform-tests/intersection-observer/root-margin-expected.txt:
- web-platform-tests/intersection-observer/same-document-no-root-expected.txt:
- web-platform-tests/intersection-observer/same-document-root-expected.txt:
- web-platform-tests/intersection-observer/same-document-zero-size-target-expected.txt:
- web-platform-tests/intersection-observer/shadow-content-expected.txt:
- web-platform-tests/intersection-observer/text-target-expected.txt:
- web-platform-tests/intersection-observer/timestamp-expected.txt:
- web-platform-tests/intersection-observer/unclipped-root-expected.txt:
- web-platform-tests/intersection-observer/zero-area-element-hidden-expected.txt:
- web-platform-tests/intersection-observer/zero-area-element-visible-expected.txt:
Source/WebCore:
Add logic to track ongoing intersection observations. Create an IntersectionObserverRegistration
and fire a single dummy notification for each one.
Test: intersection-observer/root-element-moved.html
Also tested by existing tests in imported/w3c/web-platform-tests/intersection-observer.
- dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::addIntersectionObserver):
(WebCore::Document::removeIntersectionObserver):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::notifyIntersectionObserversTimerFired):
- dom/Document.h:
(WebCore::Document::numberOfIntersectionObservers const):
- dom/Element.cpp:
(WebCore::Element::didMoveToNewDocument):
(WebCore::Element::disconnectFromIntersectionObservers):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::create):
(WebCore::IntersectionObserver::IntersectionObserver):
(WebCore::IntersectionObserver::~IntersectionObserver):
(WebCore::IntersectionObserver::observe):
(WebCore::IntersectionObserver::unobserve):
(WebCore::IntersectionObserver::disconnect):
(WebCore::IntersectionObserver::takeRecords):
(WebCore::IntersectionObserver::targetDestroyed):
(WebCore::IntersectionObserver::removeTargetRegistration):
(WebCore::IntersectionObserver::removeAllTargets):
(WebCore::IntersectionObserver::rootDestroyed):
(WebCore::IntersectionObserver::appendQueuedEntry):
(WebCore::IntersectionObserver::notify):
- page/IntersectionObserver.h:
(WebCore::IntersectionObserver::trackingDocument):
(WebCore::IntersectionObserver:: const):
(WebCore::IntersectionObserver::hasObservationTargets const):
- page/IntersectionObserver.idl:
- testing/Internals.cpp:
(WebCore::Internals::numberOfIntersectionObservers const):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- intersection-observer/root-element-deleted.html: Add additional assertions.
- intersection-observer/root-element-moved-expected.txt: Added.
- intersection-observer/root-element-moved.html: Added.
- 7:07 AM Changeset in webkit [235069] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22
Merge r235010 - Adjust CMAKE_MODULE_LINKER_FLAGS for asan
https://bugs.webkit.org/show_bug.cgi?id=188699
Reviewed by Konstantin Tokarev.
- Source/cmake/WebKitCompilerFlags.cmake:
- 7:07 AM Changeset in webkit [235068] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r235009 - Pack booleans in Event into a bitfield
https://bugs.webkit.org/show_bug.cgi?id=188713
Reviewed by Daniel Bates.
Use bitfields for booleans in Event class.
- dom/Event.cpp:
(WebCore::Event::Event):
- dom/Event.h:
(WebCore::Event::IsComposed): Added.
(WebCore::Event): Packed booleans into a bitfield.
- 7:07 AM Changeset in webkit [235067] by
-
- 3 edits1 add in releases/WebKitGTK/webkit-2.22
Merge r235007 - intersectionOfPastValuesAtHead must filter values after they've observed an invalidation point
https://bugs.webkit.org/show_bug.cgi?id=188707
<rdar://problem/43015442>
Reviewed by Mark Lam.
JSTests:
- stress/cfa-expected-values-must-set-clobbered-to-false.js: Added.
(foo):
(let.comp.valueOf):
(result):
Source/JavaScriptCore:
We use the values in intersectionOfPastValuesAtHead to verify that it is safe to
OSR enter at the head of a block. We verify it's safe to OSR enter by checking
that each incoming value is compatible with its corresponding AbstractValue.
The bug is that we were sometimes filtering the intersectionOfPastValuesAtHead
with abstract values that were clobbererd. This meant that the value we're
verifying with at OSR entry effectively has an infinite structure set because
it's clobbered. So, imagine we have code like this:
`
---> We OSR enter here, and we're clobbered here
InvalidationPoint
GetByOffset(@base)
`
The abstract value for @base inside intersectionOfPastValuesAtHead has a
clobberred structure set, so we'd allow an incoming object with any
structure. However, this is wrong because the invalidation point is no
longer fulfilling its promise that it filters the structure that @base has.
We fix this by filtering the AbstractValues in intersectionOfPastValuesAtHead
as if the incoming value may be live past an InvalidationPoint.
This places a stricter requirement that to safely OSR enter at any basic
block, all incoming values must be compatible as if they lived past
the execution of an invalidation point.
- dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::run):
- 7:06 AM Changeset in webkit [235066] by
-
- 17 edits2 adds in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r235006 - Start bringing up Unified Sources in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=188703
Reviewed by Simon Fraser.
- Configurations/BaseTarget.xcconfig:
Add SRCROOT to the include path, so unified sources can find the source files.
- Shared/APIWebArchive.mm:
(API::releaseWebArchiveData):
(API::WebArchive::data):
(API::releaseCFData): Deleted.
- Shared/APIWebArchiveResource.mm:
(API::releaseWebArchiveResourceData):
(API::WebArchiveResource::data):
(API::releaseCFData): Deleted.
Disambiguate two static methods by renaming them.
- Shared/cf/ArgumentCodersCF.cpp:
Leave a comment about the bizarreness of this file.
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::decode):
- Shared/WebPlatformTouchPoint.cpp:
- Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::WebPopupItem):
(WebKit::WebPopupItem::decode):
- Shared/WebPreferencesStore.cpp:
- Shared/WebRenderLayer.cpp:
(WebKit::WebRenderLayer::create):
(WebKit::WebRenderLayer::createArrayFromLayerList):
(WebKit::WebRenderLayer::WebRenderLayer):
- Shared/gtk/WebEventFactory.cpp:
- Shared/mac/WebCoreArgumentCodersMac.mm:
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):
- Shared/mac/WebMemorySampler.mac.mm:
(WebKit::WebMemorySampler::sampleWebKit const):
- UIProcess/API/APIAutomationSessionClient.h:
(API::AutomationSessionClient::sessionIdentifier const):
(API::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage):
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::ensureBackingStore):
(WebKit::RemoteLayerBackingStore::setNeedsDisplay):
(WebKit::RemoteLayerBackingStore::backingStoreSize const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::decode):
(WebKit::RemoteLayerTreeTransaction::setRootLayerID):
(WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
(WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::description const):
- Shared/WebPlatformTouchPoint.cpp:
(WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
Get rid of lots ofusing namespace.
- Sources.txt: Added.
- SourcesCocoa.txt: Added.
- WebKit.xcodeproj/project.pbxproj:
Set up unified sources.
Right now, we only unify Platform/ and Shared/[API].
- 6:31 AM Changeset in webkit [235065] by
-
- 3 edits in trunk/Tools
Add WPE Debug configuration to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=188743
Reviewed by Michael Catanzaro.
- TestResultServer/static-dashboards/builders.jsonp:
- TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
- 5:54 AM Changeset in webkit [235064] by
-
- 6 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r235002 - Clean up CSSSelectorList after r234825
https://bugs.webkit.org/show_bug.cgi?id=188566
Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-17
Reviewed by Megan Gardner.
This is responding to Darin's feedback in https://bugs.webkit.org/show_bug.cgi?id=188539
- css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::operator=): Deleted.
- css/CSSSelectorList.h:
(WebCore::CSSSelectorList::CSSSelectorList):
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::parsePageSelector):
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumeComplexSelectorList):
(WebCore::CSSSelectorParser::consumeCompoundSelectorList):
- 5:54 AM Changeset in webkit [235063] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r235000 - Remove Adobe SSO exception now that StorageAccess API is available
https://bugs.webkit.org/show_bug.cgi?id=188710
<rdar://problem/35056707>
Reviewed by Alex Christensen.
Remove custom quirk now that proper API exists to allow the same functions.
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logSubresourceLoading): Remove unneeded quirk.
(WebCore::resourceNeedsSSOQuirk): Deleted.
- 5:54 AM Changeset in webkit [235062] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234999 - Replace canBubble and cancelable booleans in Event by enum classes
https://bugs.webkit.org/show_bug.cgi?id=188692
<rdar://problem/43411944>
Rubber-stamped by Alex Christensen.
Make these enum classes uint8_t.
- dom/Event.h:
- 5:54 AM Changeset in webkit [235061] by
-
- 165 edits in releases/WebKitGTK/webkit-2.22/Source
Merge r234995 - Replace canBubble and cancelable booleans in Event by enum classes
https://bugs.webkit.org/show_bug.cgi?id=188692
Reviewed by Alex Christensen.
Source/WebCore:
Replaced booleans indicating whether an event can bubble and an event is cancelable
by two enum classes: CanBubble and IsCancelable.
No new tests since there should be no behavioral changes.
- Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:
(WebCore::WebKitPlaybackTargetAvailabilityEvent::WebKitPlaybackTargetAvailabilityEvent):
- Modules/applepay/ApplePayPaymentAuthorizedEvent.cpp:
(WebCore::ApplePayPaymentAuthorizedEvent::ApplePayPaymentAuthorizedEvent):
- Modules/applepay/ApplePayPaymentMethodSelectedEvent.cpp:
(WebCore::ApplePayPaymentMethodSelectedEvent::ApplePayPaymentMethodSelectedEvent):
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::didCancelPaymentSession):
- Modules/applepay/ApplePayShippingContactSelectedEvent.cpp:
(WebCore::ApplePayShippingContactSelectedEvent::ApplePayShippingContactSelectedEvent):
- Modules/applepay/ApplePayShippingMethodSelectedEvent.cpp:
(WebCore::ApplePayShippingMethodSelectedEvent::ApplePayShippingMethodSelectedEvent):
- Modules/applepay/ApplePayValidateMerchantEvent.cpp:
(WebCore::ApplePayValidateMerchantEvent::ApplePayValidateMerchantEvent):
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::updateKeyStatuses):
- Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.cpp:
(WebCore::WebKitMediaKeyMessageEvent::WebKitMediaKeyMessageEvent):
- Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.cpp:
(WebCore::WebKitMediaKeyNeededEvent::WebKitMediaKeyNeededEvent):
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::addKeyTimerFired):
(WebCore::WebKitMediaKeySession::sendError):
- Modules/gamepad/GamepadEvent.cpp:
(WebCore::GamepadEvent::GamepadEvent):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::connectionToServerLost):
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onError):
(WebCore::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):
(WebCore::IDBOpenDBRequest::onSuccess):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):
- Modules/indexeddb/IDBRequestCompletionEvent.cpp:
(WebCore::IDBRequestCompletionEvent::IDBRequestCompletionEvent):
- Modules/indexeddb/IDBRequestCompletionEvent.h:
(WebCore::IDBRequestCompletionEvent::create):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::fireOnComplete):
(WebCore::IDBTransaction::fireOnAbort):
- Modules/indexeddb/IDBVersionChangeEvent.cpp:
(WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::skipToNextTrack):
(WebCore::MediaSession::skipToPreviousTrack):
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::scheduleEvent):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::scheduleEvent):
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::scheduleEvent):
- Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::scheduledEventTimerFired):
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::internalAddTrack):
(WebCore::MediaStream::internalRemoveTrack):
- Modules/mediastream/MediaStreamEvent.cpp:
(WebCore::MediaStreamEvent::create):
(WebCore::MediaStreamEvent::MediaStreamEvent):
- Modules/mediastream/MediaStreamEvent.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::trackEnded):
(WebCore::MediaStreamTrack::trackMutedChanged):
- Modules/mediastream/MediaStreamTrackEvent.cpp:
(WebCore::MediaStreamTrackEvent::create):
(WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
- Modules/mediastream/MediaStreamTrackEvent.h:
- Modules/mediastream/OverconstrainedErrorEvent.h:
(WebCore::OverconstrainedErrorEvent::create):
(WebCore::OverconstrainedErrorEvent::OverconstrainedErrorEvent):
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::fireICECandidateEvent):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):
(WebCore::PeerConnectionBackend::updateSignalingState):
- Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent):
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::didChangeReadyState):
(WebCore::RTCDataChannel::didDetectError):
(WebCore::RTCDataChannel::bufferedAmountIsDecreasing):
- Modules/mediastream/RTCDataChannelEvent.cpp:
(WebCore::RTCDataChannelEvent::create):
(WebCore::RTCDataChannelEvent::RTCDataChannelEvent):
- Modules/mediastream/RTCDataChannelEvent.h:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
(WebCore::RTCPeerConnection::updateConnectionState):
(WebCore::RTCPeerConnection::scheduleNegotiationNeededEvent):
- Modules/mediastream/RTCPeerConnectionIceEvent.cpp:
(WebCore::RTCPeerConnectionIceEvent::create):
(WebCore::RTCPeerConnectionIceEvent::RTCPeerConnectionIceEvent):
- Modules/mediastream/RTCPeerConnectionIceEvent.h:
- Modules/mediastream/RTCTrackEvent.cpp:
(WebCore::RTCTrackEvent::create):
(WebCore::RTCTrackEvent::RTCTrackEvent):
- Modules/mediastream/RTCTrackEvent.h:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addRemoteStream):
(WebCore::LibWebRTCMediaEndpoint::addRemoteTrack):
(WebCore::LibWebRTCMediaEndpoint::addDataChannel):
- Modules/notifications/Notification.cpp:
(WebCore::Notification::dispatchShowEvent):
(WebCore::Notification::dispatchClickEvent):
(WebCore::Notification::dispatchCloseEvent):
(WebCore::Notification::dispatchErrorEvent):
- Modules/paymentrequest/MerchantValidationEvent.cpp:
(WebCore::MerchantValidationEvent::MerchantValidationEvent):
- Modules/paymentrequest/PaymentRequestUpdateEvent.cpp:
(WebCore::PaymentRequestUpdateEvent::PaymentRequestUpdateEvent):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::postEvent):
- Modules/speech/SpeechSynthesisEvent.cpp:
(WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::setState):
- Modules/webaudio/AudioProcessingEvent.cpp:
(WebCore::AudioProcessingEvent::AudioProcessingEvent):
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::finish):
- Modules/webaudio/OfflineAudioCompletionEvent.cpp:
(WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent):
- Modules/websockets/CloseEvent.h:
(WebCore::CloseEvent::CloseEvent):
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect):
(WebCore::WebSocket::dispatchOrQueueErrorEvent):
- Modules/webvr/VRDisplayEvent.cpp:
(WebCore::VRDisplayEvent::VRDisplayEvent):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::dispatchAccessibilityEventWithType const):
- accessibility/AccessibleSetValueEvent.cpp:
(WebCore::AccessibleSetValueEvent::AccessibleSetValueEvent):
- animation/AnimationPlaybackEvent.cpp:
(WebCore::AnimationPlaybackEvent::AnimationPlaybackEvent):
- dom/AbortSignal.cpp:
(WebCore::AbortSignal::abort):
- dom/AnimationEvent.cpp:
(WebCore::AnimationEvent::AnimationEvent):
- dom/BeforeLoadEvent.h:
- dom/BeforeTextInsertedEvent.cpp:
(WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
- dom/BeforeUnloadEvent.cpp:
(WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
- dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
- dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::CompositionEvent):
- dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
- dom/DeviceMotionEvent.cpp:
(WebCore::DeviceMotionEvent::DeviceMotionEvent):
- dom/DeviceOrientationEvent.cpp:
(WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
- dom/Document.cpp:
(WebCore::Document::setReadyState):
(WebCore::Document::visibilityStateChanged):
(WebCore::Document::finishedParsing):
(WebCore::Document::dispatchFullScreenChangeOrErrorEvent):
(WebCore::Document::orientationChanged):
- dom/DocumentEventQueue.cpp:
(WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
(WebCore::DocumentEventQueue::enqueueScrollEvent):
(WebCore::DocumentEventQueue::enqueueResizeEvent):
- dom/DocumentEventQueue.h:
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
(WebCore::Element::dispatchFocusEvent):
(WebCore::Element::dispatchBlurEvent):
(WebCore::Element::dispatchWebKitImageReadyEventForTesting):
- dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::ErrorEvent):
- dom/Event.cpp:
(WebCore::Event::Event):
(WebCore::Event::create):
- dom/Event.h:
- dom/FocusEvent.cpp:
(WebCore::FocusEvent::FocusEvent):
- dom/FocusEvent.h:
- dom/HashChangeEvent.h:
- dom/InputEvent.cpp:
(WebCore::InputEvent::create):
(WebCore::InputEvent::InputEvent):
- dom/InputEvent.h:
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
- dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
- dom/MouseEvent.h:
- dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
- dom/MouseRelatedEvent.h:
- dom/MutationEvent.cpp:
(WebCore::MutationEvent::MutationEvent):
- dom/MutationEvent.h:
- dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchDOMActivateEvent):
(WebCore::Node::dispatchInputEvent):
- dom/OverflowEvent.cpp:
(WebCore::OverflowEvent::OverflowEvent):
- dom/PageTransitionEvent.cpp:
(WebCore::PageTransitionEvent::PageTransitionEvent):
- dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::PopStateEvent):
- dom/ProgressEvent.cpp:
(WebCore::ProgressEvent::ProgressEvent):
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::dispatchErrorEvent):
- dom/SecurityPolicyViolationEvent.h:
- dom/SimulatedClick.cpp:
- dom/TextEvent.cpp:
(WebCore::TextEvent::TextEvent):
- dom/TransitionEvent.cpp:
(WebCore::TransitionEvent::TransitionEvent):
- dom/UIEvent.cpp:
(WebCore::UIEvent::UIEvent):
- dom/UIEvent.h:
(WebCore::UIEvent::create):
- dom/UIEventWithKeyState.h:
(WebCore::UIEventWithKeyState::UIEventWithKeyState):
- dom/WebKitAnimationEvent.cpp:
(WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
- dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
- dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
- editing/Editor.cpp:
(WebCore::dispatchBeforeInputEvent):
(WebCore::dispatchBeforeInputEvents):
(WebCore::Editor::willApplyEditing const):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::dispatchSelectStart):
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::dispatchPendingEvent):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::dispatchChangeEvent):
(WebCore::HTMLFormControlElement::checkValidity):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::reset):
- html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::dispatchLoadEvent):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::onSearch):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::dispatchPendingEvent):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::scheduleEvent):
(WebCore::HTMLMediaElement::notifyAboutPlaying):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::layoutSizeChanged):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
- html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::dispatchLoadEvent):
- html/HTMLSlotElement.cpp:
(WebCore::HTMLSlotElement::dispatchSlotChangeEvent):
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::errorEventTimerFired):
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::dispatchPendingEvent):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::selectionChanged):
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::didCompleteLoad):
- html/MediaController.cpp:
(WebCore::MediaController::scheduleEvent):
- html/canvas/WebGLContextEvent.cpp:
(WebCore::WebGLContextEvent::WebGLContextEvent):
- html/canvas/WebGLContextEvent.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
(WebCore::WebGLRenderingContextBase::dispatchContextLostEvent):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::dispatchContextChangedEvent):
- html/parser/HTMLScriptRunner.cpp:
(WebCore::createScriptLoadEvent):
- html/track/TrackEvent.cpp:
(WebCore::TrackEvent::TrackEvent):
- html/track/TrackEvent.h:
- html/track/TrackListBase.cpp:
(WebCore::TrackListBase::scheduleTrackEvent):
(WebCore::TrackListBase::scheduleChangeEvent):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchUnloadEvents):
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::dispatchPendingErrorEvent):
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::createApplicationCacheEvent):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
(WebCore::DOMWindow::languagesChanged):
(WebCore::DOMWindow::dispatchLoadEvent):
- page/EventHandler.cpp:
(WebCore::dispatchSelectStart):
(WebCore::EventHandler::dispatchDragEvent):
- page/EventSource.cpp:
(WebCore::EventSource::scheduleReconnect):
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::abortConnectionAttempt):
- page/FocusController.cpp:
(WebCore::dispatchEventsOnWindowAndFocusedElement):
(WebCore::FocusController::setFocusedFrame):
- page/FrameView.cpp:
(WebCore::FrameView::sendResizeEventIfNeeded):
- page/Page.cpp:
(WebCore::networkStateChanged):
- page/Performance.cpp:
(WebCore::Performance::resourceTimingBufferFullTimerFired):
- page/PointerLockController.cpp:
(WebCore::PointerLockController::enqueueEvent):
- page/VisualViewport.cpp:
(WebCore::VisualViewport::enqueueResizeEvent):
(WebCore::VisualViewport::enqueueScrollEvent):
- storage/StorageEvent.cpp:
(WebCore::StorageEvent::StorageEvent):
- svg/SVGElement.cpp:
(WebCore::SVGElement::sendSVGLoadEventIfPossible):
- svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::dispatchLoadEvent):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::notifyFinished):
- svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::dispatchPendingEvent):
- workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
- workers/service/ExtendableEvent.cpp:
(WebCore::ExtendableEvent::ExtendableEvent):
- workers/service/ExtendableEvent.h:
- workers/service/ExtendableMessageEvent.cpp:
(WebCore::ExtendableMessageEvent::ExtendableMessageEvent):
- workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::scheduleTaskToUpdateState):
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::scheduleTaskToFireControllerChangeEvent):
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::scheduleTaskToFireUpdateFoundEvent):
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::notifyNetworkStateChange):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
Source/WebKitLegacy/ios:
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Source/WebKitLegacy/mac:
- WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- WebView/WebView.mm:
(-[WebView _dispatchUnloadEvent]):
- 5:53 AM Changeset in webkit [235060] by
-
- 5 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234990 - Simplify server trust authentication flow
https://bugs.webkit.org/show_bug.cgi?id=188684
Reviewed by Youenn Fablet.
We unnecessarily had the allowsSpecificHTTPSCertificateForHost check at two different abstraction levels.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::didReceiveChallenge):
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::allowsSpecificHTTPSCertificateForHost): Deleted.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
- 5:53 AM Changeset in webkit [235059] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234989 - Fix API tests after r234985
https://bugs.webkit.org/show_bug.cgi?id=188679
- UIProcess/API/C/WKPage.cpp:
(encodingOf):
(dataFrom):
The encoding of null strings had changed, which is no big deal because there's no data in that encoding,
but switching it back fixes the tests.
- 5:53 AM Changeset in webkit [235058] by
-
- 12 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234985 - Replace WebPageProxy::loadAlternateHTMLString with loadAlternateHTML
https://bugs.webkit.org/show_bug.cgi?id=188679
Reviewed by Carlos Garcia Campos.
- Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
- Shared/LoadParameters.h:
- UIProcess/API/C/WKPage.cpp:
(encodingOf):
(dataFrom):
(loadString):
(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadAlternateHTMLString): Deleted.
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadAlternateHTMLString):
- 5:52 AM Changeset in webkit [235057] by
-
- 14 edits in releases/WebKitGTK/webkit-2.22/Source
Merge r234984 - [JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg
https://bugs.webkit.org/show_bug.cgi?id=188589
Patch by Yusuke Suzuki <yusukesuzuki@slowstart.org> and Fujii Hironori <Fujii Hironori> on 2018-08-17
Reviewed by Mark Lam.
And reviewed by Yusuke Suzuki for Hironori's change.
Source/JavaScriptCore:
Since GPRReg(RegisterID) and FPRReg(FPRegisterID) do not include -1 in their enum values,
UBSan dumps bunch of warnings "runtime error: load of value 4294967295, which is not a valid value for type 'RegisterID'".
- We add InvalidGPRReg and InvalidFPRReg to enum values of GPRReg and FPRReg to suppress the above warnings.
- We make GPRReg and FPRReg int8_t enums.
- We replace
#define InvalidGPRReg ((JSC::GPRReg)-1)tostatic constexpr GPRReg InvalidGPRReg { GPRReg::InvalidGPRReg };. - We add operator+/- definition for RegisterIDs as a MSVC workaround. MSVC fails to resolve operator+ and operator-
if
enum : int8_tis used instead ofenum.
- assembler/ARM64Assembler.h:
- assembler/ARMAssembler.h:
- assembler/ARMv7Assembler.h:
- assembler/MIPSAssembler.h:
- assembler/MacroAssembler.h:
- assembler/X86Assembler.h:
- jit/CCallHelpers.h:
(JSC::CCallHelpers::clampArrayToSize):
- jit/FPRInfo.h:
- jit/GPRInfo.h:
(JSC::JSValueRegs::JSValueRegs):
(JSC::JSValueRegs::tagGPR const):
(JSC::JSValueRegs::payloadGPR const):
(JSC::JSValueSource::JSValueSource):
(JSC::JSValueSource::unboxedCell):
(JSC::JSValueSource::operator bool const):
(JSC::JSValueSource::base const):
(JSC::JSValueSource::tagGPR const):
(JSC::JSValueSource::payloadGPR const):
(JSC::JSValueSource::hasKnownTag const):
Source/WebCore:
- cssjit/FunctionCall.h:
(WebCore::FunctionCall::FunctionCall):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
- html/HTMLKeygenElement.cpp:
Remove
using namespace WebCorenot to introduceoperator+/-which makes the resolution ofoperator+/-for RegisterID ambiguous.
- 5:52 AM Changeset in webkit [235056] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234983 - [GStreamer] reduce position queries frequency
https://bugs.webkit.org/show_bug.cgi?id=188645
Patch by Philippe Normand <philn@igalia.com> on 2018-08-17
Reviewed by Xabier Rodriguez-Calvar.
There is no need to perform dozens of position queries per second.
One every 300ms is enough.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 5:52 AM Changeset in webkit [235055] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234982 - [SOUP] Handle OAuth authentication after r234912
https://bugs.webkit.org/show_bug.cgi?id=188651
Reviewed by Carlos Garcia Campos.
Update this switch to consider the new OAuth enum value added in r234912. I suppose OAuth is
used for HTTP Auth now. It will be a one-time compatibility break as passwords previously
stored with type "Unknown" will no longer be accessible.
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::authTypeFromProtectionSpaceAuthenticationScheme):
- 5:52 AM Changeset in webkit [235054] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WTF
Merge r234980 - WTF's internal std::optional implementation should release assert on all bad accesses
<https://webkit.org/b/187669>
Reviewed by Ryosuke Niwa.
- wtf/Assertions.h:
(RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT): Add macro definitions.
- wtf/Optional.h:
(std::optional::operator -> const):
(std::optional::operator ->):
(std::optional::operator * const):
(std::optional::operator *):
(std::optional::value const):
(std::optional::value):
(std::optional<T::operator-> const):
(std::optional<T::operator* const):
(std::optional<T::value const):
- Change ASSERT_UNDER_CONSTEXPR_CONTEXT() macros to RELEASE_ASSERT_UNDER_CONSTEXPR_CONTEXT() macros.
- 5:52 AM Changeset in webkit [235053] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234979 - [GTK] Never return an uninitialized ImageGStreamer object.
https://bugs.webkit.org/show_bug.cgi?id=188305
Reviewed by Philippe Normand.
The single caller was already checking for a null return value, so
make that check actually do something. Also remove the null-check on
the return value of image(), which asserted that it would never return
null.
Test: fast/canvas/canvas-createPattern-video-loading.html
- platform/graphics/gstreamer/ImageGStreamer.h:
(WebCore::ImageGStreamer::createImage): Return null if m_image wasn't created.
(WebCore::ImageGStreamer::image): Return a reference.
(WebCore::ImageGStreamer::rect): Always assert that m_image is present.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::paint): Update for new signature.
- 5:52 AM Changeset in webkit [235052] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234978 - [GStreamer] Enable fpsdisplaysink only when MEDIA_STATISTICS is enabled
https://bugs.webkit.org/show_bug.cgi?id=188648
Patch by Philippe Normand <philn@igalia.com> on 2018-08-17
Reviewed by Xabier Rodriguez-Calvar.
The fpsdisplaysink is useful only when MEDIA_STATISTICS is turned on.
The text overlay is now enabled when GST_DEBUG tracing is enabled for the player.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
- 5:52 AM Changeset in webkit [235051] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234977 - [GStreamer][MSE] Disable last-sample support in AppendPipeline
https://bugs.webkit.org/show_bug.cgi?id=188649
Patch by Philippe Normand <philn@igalia.com> on 2018-08-17
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::AppendPipeline): This property isn't
used by the append pipeline. So as a micro-optimization, it is now
disabled.
- 4:47 AM Changeset in webkit [235050] by
-
- 10 edits in trunk
Throw an exception if window.open() gets passed a URL that cannot be parsed
https://bugs.webkit.org/show_bug.cgi?id=171656
Patch by Rob Buis <rbuis@igalia.com> on 2018-08-20
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/url/failure-expected.txt:
Source/WebCore:
Throw a SyntaxError exception when an invalid url gets passed into window.open().
Tests: imported/w3c/web-platform-tests/url/failure.html
fast/dom/Window/open-invalid-url.html
- page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
(WebCore::DOMWindow::open):
(WebCore::DOMWindow::showModalDialog):
- page/DOMWindow.h:
- page/DOMWindow.idl:
- testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend):
LayoutTests:
- fast/dom/Window/open-invalid-url-expected.txt:
- fast/dom/Window/open-invalid-url.html:
- 4:12 AM Changeset in webkit [235049] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/JavaScriptCore
Merge r234975 - [JSC] alignas for RegisterState should respect alignof(RegisterState) too
https://bugs.webkit.org/show_bug.cgi?id=188686
Reviewed by Saam Barati.
RegisterState would have larger alignment than
alignof(void*). We use the larger alignment value
foralignoffor RegisterState.
- heap/RegisterState.h:
- 4:12 AM Changeset in webkit [235048] by
-
- 11 edits11 adds in releases/WebKitGTK/webkit-2.22
Merge r234974 - Web Inspector: support breakpoints for arbitrary event names
https://bugs.webkit.org/show_bug.cgi?id=183118
Reviewed by Joseph Pecoraro.
Source/WebCore:
Tests: inspector/dom-debugger/event-breakpoints.html
inspector/dom-debugger/event-breakpoints-with-navigation.html
- inspector/agents/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
Source/WebInspectorUI:
Create UI for setting breakpoints on event names. Ties into renamed DOMDebugger commands,
specificallysetEventBreakpointandremoveEventBreakpoint, that will pause execution if
any DOM event is fired that matches any previously registered breakpoints.
Event breakpoints are distinguished by name, and they currently apply globally, meaning
that only one breakpoint per event name can be registered.
Event breakpoints are created in the Debugger tab in a new "Event Breakpoints" section in
the Navigation sidebar. A new type of popover, EventBreakpointPopover, is used, but right
now all it contains is a basic text input for the event name. Similarly, a new TreeElement
subclass, EventBreakpointTreeElement, is used when showing the list of event listener
breakpoints, but all it shows now is the event name.
The majority of the logic in this patch was derived from XHR breakpoints.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Main.html:
- UserInterface/Test.html:
- UserInterface/Images/EventBreakpoint.svg: Added.
- UserInterface/Models/EventBreakpoint.js: Added.
(WI.EventBreakpoint):
(WI.EventBreakpoint.prototype.get eventName):
(WI.EventBreakpoint.prototype.get disabled):
(WI.EventBreakpoint.prototype.set disabled):
(WI.EventBreakpoint.prototype.get serializableInfo):
(WI.EventBreakpoint.prototype.saveIdentityToCookie):
- UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager):
(WI.DOMDebuggerManager.prototype.get eventBreakpoints): Added.
(WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Added.
(WI.DOMDebuggerManager.prototype.addEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype.removeEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints):
(WI.DOMDebuggerManager.prototype._updateEventBreakpoint.breakpointUpdated): Added.
(WI.DOMDebuggerManager.prototype._updateEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._resolveEventBreakpoint): Added.
(WI.DOMDebuggerManager.prototype._saveEventBreakpoints): Added.
(WI.DOMDebuggerManager.prototype._eventBreakpointDisabledStateDidChange): Added.
- UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager.prototype._pauseReasonFromPayload):
- UserInterface/Controllers/EventBreakpointTreeController.js: Added.
(WI.EventBreakpointTreeController):
(WI.EventBreakpointTreeController.prototype.revealAndSelect):
(WI.EventBreakpointTreeController.prototype._eventBreakpointAdded):
(WI.EventBreakpointTreeController.prototype._eventBreakpointRemoved):
(WI.EventBreakpointTreeController.prototype._addTreeElement):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WI.DebuggerSidebarPanel):
(WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
(WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Added.
(WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Added.
(WI.DebuggerSidebarPanel.prototype.willDismissPopover):
- UserInterface/Views/EventBreakpointTreeElement.js: Added.
(WI.EventBreakpointTreeElement):
(WI.EventBreakpointTreeElement.prototype.onattach):
(WI.EventBreakpointTreeElement.prototype.ondetach):
(WI.EventBreakpointTreeElement.prototype.ondelete):
(WI.EventBreakpointTreeElement.prototype.onenter):
(WI.EventBreakpointTreeElement.prototype.onspace):
(WI.EventBreakpointTreeElement.prototype.populateContextMenu):
(WI.EventBreakpointTreeElement.prototype._statusImageElementClicked):
(WI.EventBreakpointTreeElement.prototype._statusImageElementFocused):
(WI.EventBreakpointTreeElement.prototype._statusImageElementMouseDown):
(WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
(WI.EventBreakpointTreeElement.prototype._updateStatus):
- UserInterface/Views/EventBreakpointTreeElement.css: Added.
(.breakpoint.event-listener:not(.breakpoint-paused-icon) .icon):
- UserInterface/Views/EventBreakpointPopover.js: Added.
(WI.EventBreakpointPopover):
(WI.EventBreakpointPopover.prototype.get result):
(WI.EventBreakpointPopover.prototype.get value):
(WI.EventBreakpointPopover.prototype.show):
(WI.EventBreakpointPopover.prototype._presentOverTargetElement):
- UserInterface/Views/EventBreakpointPopover.css: Added.
(.popover .event-listener-breakpoint-content):
(.popover .event-listener-breakpoint-content > input):
- UserInterface/Views/NavigationSidebarPanel.js:
(WI.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
LayoutTests:
- inspector/dom-debugger/event-breakpoints-expected.txt: Added.
- inspector/dom-debugger/event-breakpoints.html: Added.
- inspector/dom-debugger/event-breakpoints-with-navigation-expected.txt: Added.
- inspector/dom-debugger/event-breakpoints-with-navigation.html: Added.
- 4:12 AM Changeset in webkit [235047] by
-
- 4 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234970 - Remove unused parentProcessName from NetworkProcessCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=188618
Reviewed by Alex Christensen.
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- 4:11 AM Changeset in webkit [235046] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234967 - Remove unused allowScriptsToCloseWindows setting
https://bugs.webkit.org/show_bug.cgi?id=188602
Reviewed by Simon Fraser.
No change in behaviour. It was always false.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::close):
- page/Settings.yaml:
- 4:11 AM Changeset in webkit [235045] by
-
- 3 edits in releases/WebKitGTK/webkit-2.22/Source/WebInspectorUI
Merge r234963 - Web Inspector: Show Initiator information in Network Table
https://bugs.webkit.org/show_bug.cgi?id=188590
<rdar://problem/43305488>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-08-16
Reviewed by Matt Baker.
- UserInterface/Views/NetworkResourceDetailView.js:
(WI.NetworkResourceDetailView):
(WI.NetworkResourceDetailView.prototype.shown):
(WI.NetworkResourceDetailView.prototype.willShowWithCookie):
(WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
When a ResourceDetailView gets shown, it may also want to show its initial content view
with a cookie as the cookie may contain position highlight information.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype._showResourceDetailView):
(WI.NetworkTableContentView.prototype.showRepresentedObject):
When showing a represented object, pass the cookie information on to the detail
view's so that it may include the cookie when showing the final content view.
(WI.NetworkTableContentView.prototype.tablePopulateCell):
(WI.NetworkTableContentView.prototype._populateInitiatorCell):
(WI.NetworkTableContentView.prototype.initialLayout):
New initiator column contains a source code link to the call site.
(WI.NetworkTableContentView.prototype._generateSortComparator):
(WI.NetworkTableContentView.prototype._entryForResource):
Entry data for the initiator is a display string that can be sorted easily.
- 4:11 AM Changeset in webkit [235044] by
-
- 4 edits in releases/WebKitGTK/webkit-2.22
Merge r234957 - Custom element constructor doesn't use HTMLElement in new.target's realm
https://bugs.webkit.org/show_bug.cgi?id=188634
Reviewed by Keith Miller.
LayoutTests/imported/w3c:
Rebaselined the test now that all relevant test cases pass. All remaining test failures are
for customized builtin, which we do not and shall not implement.
- web-platform-tests/custom-elements/htmlconstructor/newtarget-expected.txt:
Source/WebCore:
Fixed the bug that HTMLElement's constructor was constructing an element of its own realm
instead of the realm of new.target. This results in the JS wrapper created for the element
belonging to the global object of the HTMLElement constructor which was invoked instead of
the global object of new.target as specified in:
https://html.spec.whatwg.org/multipage/dom.html#html-element-constructors
In particular, step 9.2. specifies that we "perform element.SetPrototypeOf(prototype)."
where prototype is the result of Get(NewTarget, "prototype") in step 7.
WebKit's new behavior matches that of Chrome and Firefox.
Test: imported/w3c/web-platform-tests/custom-elements/htmlconstructor/newtarget.html
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
- 4:11 AM Changeset in webkit [235043] by
-
- 10 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234954 - Consolidate data/string API loading paths
https://bugs.webkit.org/show_bug.cgi?id=188417
Reviewed by Michael Catanzaro.
loadHTMLString and loadData are basically duplicate code.
loadPlainTextString was also basically the same except it didn't set up a navigation, which
was almost certainly a bug, but nobody uses it in all of Apple and Debian. We should probably deprecate
and remove it, but for now I make it use the same data loading path.
- UIProcess/API/C/WKPage.cpp:
(WKPageLoadData):
(WKPageLoadDataWithUserData):
(loadString):
(WKPageLoadHTMLString):
(WKPageLoadHTMLStringWithUserData):
(WKPageLoadPlainTextString):
(WKPageLoadPlainTextStringWithUserData):
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
- UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_load_html):
(webkit_web_view_load_plain_text):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadHTMLString): Deleted.
(WebKit::WebPageProxy::loadPlainTextString): Deleted.
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadString): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 4:11 AM Changeset in webkit [235042] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.22
Merge r234953 - Custom element doesn't invalidate its style when :defined rule starts to apply
https://bugs.webkit.org/show_bug.cgi?id=188637
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Rebaselined the test now that all relevant test cases pass. The only remaining test failures
are for customized builtins which we do not and shall not implement.
- web-platform-tests/custom-elements/pseudo-class-defined-expected.txt:
Source/WebCore:
Fixed the bug by invalidating the subtree when a custom element gets defined.
Test: fast/custom-elements/defined-update-style.html
- dom/Element.cpp:
(WebCore::Element::setIsDefinedCustomElement):
LayoutTests:
Added a regression test.
- fast/custom-elements/defined-update-style-expected.html: Added.
- fast/custom-elements/defined-update-style.html: Added.
- 4:11 AM Changeset in webkit [235041] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.22
Merge r234945 - LayoutTest inspector/worker/debugger-pause.html sometimes times out
https://bugs.webkit.org/show_bug.cgi?id=188580
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-08-16
Reviewed by Matt Baker.
Source/WebInspectorUI:
- UserInterface/Protocol/Target.js:
(WI.Target.prototype.get mainResource):
(WI.Target.prototype.set mainResource):
Dispatch an event when the Main Resource is set.
LayoutTests:
- inspector/worker/debugger-pause.html:
- inspector/worker/resources/worker-utilities.js: Added.
(TestPage.registerInitializer.window.awaitTargetMainResource):
(TestPage.registerInitializer):
Use a more deterministic wait for the main resource.
- 4:11 AM Changeset in webkit [235040] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.22
Merge r234944 - Perform a microtask checkpoint before creating a custom element
https://bugs.webkit.org/show_bug.cgi?id=188189
<rdar://problem/42843022>
Reviewed by Geoffrey Garen.
Source/WebCore:
Fixed the bug that the HTML parser was not performing a microtask checkpoint prior to synchronously constructing
a custom element in the concept to create an element for a token:
https://html.spec.whatwg.org/multipage/parsing.html#creating-and-inserting-nodes:perform-a-microtask-checkpoint
Also added a microtask checkpoint before dispatching DOMContentLoaded to work around webkit.org/b/82931 since
scheduling a task to fire a DOMContentLoaded event in Document::finishedParsing as the HTML5 spec mandates
is a long standing bug with a lot of implications, which is completely outside the scope of this bug fix:
https://html.spec.whatwg.org/multipage/parsing.html#stop-parsing
Test: fast/custom-elements/perform-microtask-checkpoint-before-construction.html
- dom/Document.cpp:
(WebCore::Document::finishedParsing): Perform a microtask checkpoint before dispatching DOMContentLoaded here as
a workaround for webkit.org/b/82931.
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): Perform a microtask checkpoint here to fix the bug.
LayoutTests:
Added a W3C style testharness.js test for perfoming microtask checkpoint before constructing
a custom element synchronously.
- fast/custom-elements/perform-microtask-checkpoint-before-construction-expected.txt: Added.
- fast/custom-elements/perform-microtask-checkpoint-before-construction.html: Added.
- fast/dom/MutationObserver/parser-mutations.html: Fixed the test per new behavior in Document::finishParsing.
Because iframe loads synchronously and fires DOMContentLoaded, mutation records are now delivered twice after
iframe element is encountered in this test and before script element executes. Concatenate the mutation records
arrays to account for this behavioral change. New WebKit behavior matches that of Chrome; namely this test
fails both on Chrome Canary 70 and trunk WebKit with this patch without this fix.
- 4:10 AM Changeset in webkit [235039] by
-
- 6 edits in releases/WebKitGTK/webkit-2.22
Merge r234943 - Re-introduce assertion removed in r234890
https://bugs.webkit.org/show_bug.cgi?id=188611
Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-16
Reviewed by Geoffrey Garen.
Source/WebCore:
The assertion was failing because Vector<String>::operator== was using memcmp,
which failed to consider different instances of equal Strings equal. Added an
API test and this assertion, which now succeeds.
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
Source/WTF:
- wtf/text/WTFString.h:
Tools:
- TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
- 4:10 AM Changeset in webkit [235038] by
-
- 28 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234941 - Stop using canAuthenticateAgainstProtectionSpace in modern WebKit
https://bugs.webkit.org/show_bug.cgi?id=188639
Reviewed by Youenn Fablet.
canAuthenticateAgainstProtectionSpace is an unnecessary step in the authentication process.
It is leftover from when it was necessary when we used NSURLConnection, which is only used in WebKitLegacy now.
Now it's just an extra IPC roundtrip asking if we should use NSURLSessionAuthChallengeRejectProtectionSpace
or if we are going to ask the API client. We can move this step into the C API for compatibility
with the 1 client that still uses it (not for long, see rdar://problem/43358403) and simplify and optimize
authentication.
- NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::didReceiveChallenge):
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::didReceiveChallenge):
(WebKit::NetworkLoad::completeAuthenticationChallenge): Deleted.
(WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): Deleted.
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkLoadClient.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::cancelDownload):
(WebKit::NetworkProcess::canAuthenticateAgainstProtectionSpace): Deleted.
(WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/PreconnectTask.cpp:
(WebKit::PreconnectTask::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
- NetworkProcess/PreconnectTask.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- Shared/Authentication/AuthenticationManager.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageNavigationClient):
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::didReceiveAuthenticationChallenge):
(WebKit::NavigationState::NavigationClient::canAuthenticateAgainstProtectionSpace): Deleted.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::canAuthenticateAgainstProtectionSpace): Deleted.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpace): Deleted.
- UIProcess/WebPageProxy.h:
- 4:10 AM Changeset in webkit [235037] by
-
- 2 edits2 adds in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234932 - [Nicosia] Add Nicosia::ImageBackingTextureMapperImpl
https://bugs.webkit.org/show_bug.cgi?id=188550
Reviewed by Carlos Garcia Campos.
Add the Nicosia::ImageBackingTextureMapperImpl class, the
TextureMapper-specific implementation that will extend the ImageBacking
class.
This class will be used to contain and manage updates for layers that
are backed by image objects. The CoordinatedGraphicsLayer instance will
use the LayerState object to track the currently-presented image objects
and to store the latest update of these objects. The Update struct
contains information about the current visibility of the image in the
layer tree as well as the Nicosia::Buffer object containing the painted
image data that's to be presented on the screen.
During the layer flush the flushUpdate() method will move the current
update data into the pending position, from which this data will be
gathered by the composition component through the takeUpdate() method
and used to update the CoordinatedBackingStore object that's kept in
the CompositionState object on this impl class.
This will be deployed for use in the CoordinatedGraphicsLayer at a later
stage as it requires a larger rework in both CoordinatedGraphicsLayer as
well as the CoordinatedGraphicsScene classes.
The implementation itself differs from the current image backing support
in CoordinatedGraphicsLayer and CompositingCoordinator by abandoning the
idea of sharing single image backings between layers that might be
backed by identical Image objects. We thus end up trading any memory
consumption benefit in these scenarios for a much simplified
implementation. Overall this area needs more research both in figuring
out whether there's worthy improvements in grouping image backings, as
well as investigating whether it's possible to avoid additional image
rasterization by just leveraging direct pixel data via the
NativeImagePtr object.
- platform/TextureMapper.cmake:
- platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.cpp: Added.
(Nicosia::ImageBackingTextureMapperImpl::createFactory):
(Nicosia::ImageBackingTextureMapperImpl::flushUpdate):
(Nicosia::ImageBackingTextureMapperImpl::takeUpdate):
- platform/graphics/nicosia/texmap/NicosiaImageBackingTextureMapperImpl.h: Added.
- 3:37 AM Changeset in webkit [235036] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed. Fix GTK/WPE cookie API tests after r234396.
- UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName): Bring back the check to handle localhost as an
special case for non cocoa ports.
- 2:33 AM Changeset in webkit [235035] by
-
- 2 edits368 adds in releases/WebKitGTK/webkit-2.22/LayoutTests
Merge r234931 - Unreviewed WPE gardening. Enable a few subdirectories under fast/ and
provide platform-specific baselines as well as failure expectations
where required.
- platform/wpe/TestExpectations:
- platform/wpe/fast/box-shadow: Added 10 baselines.
- platform/wpe/fast/box-sizing: Added 4 baselines.
- platform/wpe/fast/clip: Added 23 baselines.
- platform/wpe/fast/compact: Added 3 baselines.
- platform/wpe/fast/css-generated-content: Added 43 baselines.
- platform/wpe/fast/doctypes: Added 4 baselines.
- platform/wpe/fast/flexbox: Added 26 baselines.
- platform/wpe/fast/inline: Added 32 baselines.
- platform/wpe/fast/inline-block: Added 9 baselines.
- platform/wpe/fast/invalid: Added 29 baselines.
- platform/wpe/fast/line-grid: Added 8 baselines.
- platform/wpe/fast/lists: Added 27 baselines.
- platform/wpe/fast/loader: Added 1 baseline.
- platform/wpe/fast/preloader: Added 2 baselines.
- platform/wpe/fast/replaced: Added 57 baselines.
- platform/wpe/fast/ruby: Added 26 baselines.
- platform/wpe/fast/writing-mode: Added 37 baselines.
- 2:31 AM Changeset in webkit [235034] by
-
- 6 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234927 - [lFC][Floating] Add estimated margin top computation.
https://bugs.webkit.org/show_bug.cgi?id=188619
Reviewed by Antti Koivisto.
In order to figure out whether a box should avoid a float, we need to know the final positions of both (ignore relative positioning for now).
In block formatting context the final position for a normal flow box includes
- the static position and
- the corresponding (non)collapsed margins.
Now the vertical margins are computed when all the descendants are finalized, because the margin values might be depending on the height of the box
(and the height might be based on the content).
So when we get to the point where we intersect the box with the float to decide if the box needs to move, we don't yet have the final vertical position.
The idea here is that as long as we don't cross the block formatting context boundary, we should be able to pre-compute the final top margin.
(if this holds true for all the cases, the estimated prefix could be removed and just use marginTop() instead.)
Covered by existing block-only tests.
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeEstimatedMarginTop const):
(WebCore::Layout::BlockFormattingContext::computeEstimatedMarginTopForAncestors const):
(WebCore::Layout::BlockFormattingContext::computeFloatingPosition const):
(WebCore::Layout::BlockFormattingContext::computeVerticalPositionForFloatClear const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeightAndMargin const):
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::estimatedMarginTop):
- layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::Box):
- layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::setHasValidTop):
(WebCore::Display::Box::setHasValidLeft):
(WebCore::Display::Box::top const):
(WebCore::Display::Box::left const):
(WebCore::Display::Box::topLeft const):
(WebCore::Display::Box::setTopLeft):
(WebCore::Display::Box::setTop):
(WebCore::Display::Box::setLeft):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::setEstimatedMarginTop):
(WebCore::Display::Box::estimatedMarginTop const):
- 2:31 AM Changeset in webkit [235033] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore/platform/gtk/po
Merge r234926 - [l10n] Updated Polish translation of WebKitGTK+ for 2.22
https://bugs.webkit.org/show_bug.cgi?id=188652
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2018-08-16
Rubber-stamped by Michael Catanzaro.
- pl.po:
- 2:31 AM Changeset in webkit [235032] by
-
- 5 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234925 - [LFC][BFC] Display::Box interface should reflect that padding is optional.
https://bugs.webkit.org/show_bug.cgi?id=188630
Reviewed by Antti Koivisto.
Certain type of boxes can't have paddings (see Layout::Box::isPaddingApplicable).
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeBorderAndPadding const):
(WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
- layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::width const):
(WebCore::Display::Box::height const):
(WebCore::Display::Box::contentBoxTop const):
(WebCore::Display::Box::contentBoxLeft const):
(WebCore::Display::Box::setPadding):
(WebCore::Display::Box::paddingTop const):
(WebCore::Display::Box::paddingLeft const):
(WebCore::Display::Box::paddingBottom const):
(WebCore::Display::Box::paddingRight const):
- 2:30 AM Changeset in webkit [235031] by
-
- 6 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234924 - [LFC] Add showLayoutTree() that does not require LayoutContext.
https://bugs.webkit.org/show_bug.cgi?id=188631
Reviewed by Antti Koivisto.
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::formattingContextRoot const):
(WebCore::Layout::Box::initialContainingBlock const):
- layout/layouttree/LayoutBox.h:
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::outputLayoutTree):
(WebCore::Layout::showLayoutTree):
(WebCore::Layout::TreeBuilder::showLayoutTree): Deleted.
- layout/layouttree/LayoutTreeBuilder.h:
- 2:30 AM Changeset in webkit [235030] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234923 - [LFC] Tree builder should construct block and inline containers based on the display type.
https://bugs.webkit.org/show_bug.cgi?id=188632
Reviewed by Antti Koivisto.
Inline elements can also construct RenderBlock renderers (inline-bloc etc), so use the display type instead when deciding what type of container to construct.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createSubTree):
- 2:30 AM Changeset in webkit [235029] by
-
- 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore
Merge r234922 - [LFC] Bail out of subtree verification when trees are out of sync.
https://bugs.webkit.org/show_bug.cgi?id=188633
Reviewed by Antti Koivisto.
There's no point of trying to match geometry when subtrees are out of sync.
They get out of sync when the render tree has unsupported boxes (see LayoutTreeBuilder).
- layout/Verification.cpp:
(WebCore::Layout::verifyAndOutputSubtree):
- 2:30 AM Changeset in webkit [235028] by
-
- 4 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit
Merge r234921 - Unreviewed, WPE build fix after r234920.
- UIProcess/API/wpe/PageClientImpl.cpp:
(WebKit::PageClientImpl::isViewWindowActive):
(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewInWindow):
- UIProcess/API/wpe/WPEView.cpp:
(WKWPE::View::setViewState):
- UIProcess/API/wpe/WPEView.h:
- 2:30 AM Changeset in webkit [235027] by
-
- 44 edits in releases/WebKitGTK/webkit-2.22
Merge r234920 - Use OptionSet for ActivityState::Flags
https://bugs.webkit.org/show_bug.cgi?id=188554
Reviewed by Brent Fulgham.
Source/WebCore:
More typesafe flags.
- Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::activityStateDidChange):
- Modules/geolocation/GeolocationController.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::activityStateDidChange):
- html/canvas/WebGLRenderingContextBase.h:
- page/ActivityState.cpp:
(WebCore::operator<<):
(WebCore::activityStateFlagsToString): Deleted.
- page/ActivityState.h:
(WebCore::ActivityState::allFlags):
- page/ActivityStateChangeObserver.h:
- page/FocusController.cpp:
(WebCore::FocusController::FocusController):
(WebCore::FocusController::setFocused):
(WebCore::FocusController::setActivityState):
(WebCore::FocusController::setActive):
- page/FocusController.h:
(WebCore::FocusController::isActive const):
(WebCore::FocusController::isFocused const):
(WebCore::FocusController::contentIsVisible const):
- page/Page.cpp:
(WebCore::pageInitialActivityState):
(WebCore::Page::Page):
(WebCore::Page::setIsInWindow):
(WebCore::Page::updateTimerThrottlingState):
(WebCore::Page::setActivityState):
(WebCore::Page::isVisibleAndActive const):
(WebCore::Page::isWindowActive const):
(WebCore::Page::setIsVisible):
- page/Page.h:
(WebCore::Page::activityState const):
(WebCore::Page::isVisible const):
(WebCore::Page::isInWindow const):
- page/PerformanceMonitor.cpp:
(WebCore::activityStateForCPUSampling):
(WebCore::PerformanceMonitor::activityStateChanged):
- page/PerformanceMonitor.h:
- platform/text/cocoa: Added.
Source/WebKit:
- Shared/WebPageCreationParameters.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::windowDidOrderOffScreen):
(WebKit::WebViewImpl::windowDidOrderOnScreen):
(WebKit::WebViewImpl::viewDidMoveToWindow):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateActivityState):
(WebKit::WebPageProxy::activityStateDidChange):
(WebKit::WebPageProxy::dispatchActivityStateChange):
(WebKit::WebPageProxy::setMuted):
(WebKit::WebPageProxy::isPlayingMediaDidChange):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isInWindow const):
(WebKit::WebPageProxy::isViewVisible const):
(WebKit::WebPageProxy::isViewFocused const):
(WebKit::WebPageProxy::isViewWindowActive const):
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::activityStateDidChange):
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::activityStateDidChange):
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::activityStateDidChange):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateThrottleState):
(WebKit::WebPage::updateIsInWindow):
(WebKit::WebPage::visibilityDidChange):
(WebKit::WebPage::setActivityState):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::isVisible const):
(WebKit::WebPage::isVisibleOrOccluded const):
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::pageActivityStateDidChange):
- WebProcess/WebProcess.h:
Source/WTF:
- wtf/OptionSet.h:
(WTF::OptionSet::operator):
Add xor operator, useful for finding changes between sets.
Tools:
- TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
- 2:29 AM Changeset in webkit [235026] by
-
- 4 edits in trunk
[SOUP] Check length before calling soup_message_body_append_buffer.
https://bugs.webkit.org/show_bug.cgi?id=176803
Reviewed by Carlos Garcia Campos.
Source/WebCore:
The function has a precondition that the buffer is non-empty.
Test: http/tests/local/blob/send-hybrid-blob-using-open-panel.html
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::appendEncodedBlobItemToSoupMessageBody):
(WebCore::ResourceRequest::updateSoupMessageBody const):
LayoutTests:
- platform/gtk/TestExpectations: Enable test.
- 1:42 AM Changeset in webkit [235025] by
-
- 9 edits in trunk
Relax Request constructor around referrers
https://bugs.webkit.org/show_bug.cgi?id=168649
Patch by Rob Buis <rbuis@igalia.com> on 2018-08-20
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
- web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
Source/WebCore:
Implement remaining part of fetch change
https://github.com/whatwg/fetch/pull/377, i.e.
if "parsedReferrer’s origin is not same origin with origin",
then set request’s referrer to "client", instead of
throwing an exception [1].
WebKit's new behavior matches that of Chrome and Firefox.
Testing is covered by existing wpt tests.
[1] Step 15.3.3 of https://fetch.spec.whatwg.org/#main-fetch
- Modules/fetch/FetchRequest.cpp:
(WebCore::computeReferrer):
LayoutTests:
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
- 12:00 AM Changeset in webkit [235024] by
-
- 8 edits in trunk
[GLIB] Add API to throw exceptions using printf formatted strings
https://bugs.webkit.org/show_bug.cgi?id=188698
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Add jsc_context_throw_printf() and jsc_context_throw_with_name_printf(). Also add new public constructors of
JSCException using printf formatted string.
- API/glib/JSCContext.cpp:
(jsc_context_throw_printf):
(jsc_context_throw_with_name_printf):
- API/glib/JSCContext.h:
- API/glib/JSCException.cpp:
(jsc_exception_new_printf):
(jsc_exception_new_vprintf):
(jsc_exception_new_with_name_printf):
(jsc_exception_new_with_name_vprintf):
- API/glib/JSCException.h:
- API/glib/docs/jsc-glib-4.0-sections.txt:
Tools:
Add cases to test the new API.
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(createFormattedError):
(createCustomFormattedError):
(testJSCExceptions):
Aug 19, 2018:
- 11:57 PM Changeset in webkit [235023] by
-
- 8 edits in trunk
[GLIB] Complete the JSCException API
https://bugs.webkit.org/show_bug.cgi?id=188695
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
Add more API to JSCException:
- New function to get the column number
- New function get exception as string (toString())
- Add the possibility to create exceptions with a custom error name.
- New function to get the exception error name
- New function to get the exception backtrace.
- New convenience function to report a exception by returning a formatted string with all the exception details, to be shown as a user error message.
- API/glib/JSCContext.cpp:
(jsc_context_throw_with_name):
- API/glib/JSCContext.h:
- API/glib/JSCException.cpp:
(jscExceptionEnsureProperties):
(jsc_exception_new):
(jsc_exception_new_with_name):
(jsc_exception_get_name):
(jsc_exception_get_column_number):
(jsc_exception_get_back_trace_string):
(jsc_exception_to_string):
(jsc_exception_report):
- API/glib/JSCException.h:
- API/glib/docs/jsc-glib-4.0-sections.txt:
Tools:
Add cases to test the new API.
- TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(testJSCCheckSyntax):
(createCustomError):
(testJSCExceptions):
- 5:53 PM Changeset in webkit [235022] by
-
- 29 edits in trunk/Source/WebKit
[Cocoa] Update uses of wrapper template functions in WebKit for clarity, simplicity, better ARC readiness
https://bugs.webkit.org/show_bug.cgi?id=188735
Reviewed by Dan Bernstein.
Because of argument-dependent lookup, there should never be a reason to call
the wrapper function as WebKit::wrapper or API::wrapper unless there is a need
to resolve a name conflict, so removed the explicit namespacing.
- UIProcess/API/C/mac/WKPagePrivateMac.mm:
(WKPageLoadURLRequestReturningNavigation): Removed explicit null check and
leakRef/autorelease pair, both done by the wrapper template function now.
- UIProcess/API/Cocoa/WKBackForwardList.mm:
(toWKBackForwardListItem): Deleted.
(-[WKBackForwardList currentItem]): Use wrapper instead of toWKBackForwardListItem.
(-[WKBackForwardList backItem]): Ditto.
(-[WKBackForwardList forwardItem]): Ditto.
(-[WKBackForwardList itemAtIndex:]): Ditto.
(-[WKBackForwardList backList]): Removed leakRef/autorelease pair.
(-[WKBackForwardList forwardList]): Ditto.
- UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(+[WKContentRuleListStore defaultStore]): Removed explicit WebKit namespace.
(+[WKContentRuleListStore storeWithURL:]): Fixed a storage leak by removing leakRef,
which was not balanced. This is not a copy or create function, so it should not
return an object that requires a release to balance it.
(-[WKContentRuleListStore _compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:releasesArgument:]):
Removed explicit WebKit namespace and unneeded get().
(-[WKContentRuleListStore lookUpContentRuleListForIdentifier:completionHandler:]):
Removed explicit WebKit namespace.
(+[WKContentRuleListStore defaultStoreWithLegacyFilename]): Ditto.
(+[WKContentRuleListStore storeWithURLAndLegacyFilename:]): Fixed storage leak,
as above in storeWithURL.
- UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo _handle]): Removed explicit WebKit namespace.
- UIProcess/API/Cocoa/WKHTTPCookieStore.mm:
(WKHTTPCookieStoreObserver::cookiesDidChange): Ditto.
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction sourceFrame]): Removed explicit null check, now done by
the wrapper template function.
(-[WKNavigationAction targetFrame]): Ditto.
(-[WKNavigationAction _userInitiatedAction]): Ditto.
(-[WKNavigationAction _mainFrameNavigation]): Ditto.
- UIProcess/API/Cocoa/WKOpenPanelParameters.mm:
(-[WKOpenPanelParameters _acceptedMIMETypes]): Removed leakRef/autorelease pair,
now done by the wrapper template function.
(-[WKOpenPanelParameters _acceptedFileExtensions]): Ditto.
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences copyWithZone:]): Use retain instead of leakRef; slightly clearer
for when we convert to ARC.
(+[WKPreferences _experimentalFeatures]): Removed leakRef/autorelease pair,
now done by the wrapper template function.
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _configuration]): Fixed a storage leak by removing leakRef,
which was not balanced. This is not a copy or create function, so it should not
return an object that requires a release to balance it.
- UIProcess/API/Cocoa/WKURLSchemeTaskInternal.h:
Replaced inline wrapper function with WrapperTraits structure template specialization.
- UIProcess/API/Cocoa/WKUserScript.mm:
(-[WKUserScript _userContentWorld]): Removed explicit API namespace.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadRequest:]): Removed explicit null check and
leakRef/autorelease pair, both done by the wrapper template function now.
(-[WKWebView loadFileURL:allowingReadAccessToURL:]): Ditto.
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]): Ditto.
(-[WKWebView goToBackForwardListItem:]): Ditto.
(-[WKWebView goBack]): Ditto.
(-[WKWebView goForward]): Ditto.
(-[WKWebView reload]): Ditto.
(-[WKWebView reloadFromOrigin]): Ditto.
(-[WKWebView _didInsertAttachment:withSource:]): Removed leakRef/autorelease pairs,
now done by the wrapper template function.
(-[WKWebView _didRemoveAttachment:]): Ditto.
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]): Removed
explicit null check and leakRef/autorelease pair, both done by the wrapper template
function now.
(-[WKWebView _loadRequest:shouldOpenExternalURLs:]): Ditto.
(-[WKWebView _reloadWithoutContentBlockers]): Ditto.
(-[WKWebView _reloadExpiredOnly]): Ditto.
(-[WKWebView _sessionStateData]): Removed explicit leakRef/autorelease pair, done
by the wrapper template function now. Also, the old version explicitly dereferenced
and would not work when the result of encodeLegacySessionState was null. Decided
not to add a call to releaseNonNull to preserve that possibly-incorrect optimization,
instead allowing the wrapper function to generate code to handle the null case.
(-[WKWebView _sessionState]): Use the Objective-C autorelease instead of adoptNS
and RetainPtr's autorelease.
(-[WKWebView _sessionStateWithFilter:]): Ditto.
(-[WKWebView _restoreSessionState:andNavigate:]): Removed explicit null check and
leakRef/autorelease pair, both done by the wrapper template function now.
(-[WKWebView _insertAttachmentWithFilename:contentType:data:options:completion:]):
Removed explicit leakRef/autorelease pair, done by the wrapper template function now.
(-[WKWebView _diagnosticLoggingDelegate]): Replaced a leakRef/autorelease pair with
use of RetainPtr's autorelease.
(-[WKWebView _findDelegate]): Ditto.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _applicationManifest]): Removed explicit null check,
done by the wrapper template function now.
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore defaultDataStore]): Removed explicit WebKit namespace
and unneeded call to get().
(+[WKWebsiteDataStore nonPersistentDataStore]): Removed explicit WebKit namespace
and leakRef/autorelease pair, done by the wrapper template function now.
(-[WKWebsiteDataStore httpCookieStore]): Removed explicit WebKit namespace.
- UIProcess/API/Cocoa/_WKApplicationManifest.mm:
(+[_WKApplicationManifest applicationManifestFromJSON:manifestURL:documentURL:]):
Removed explicit leakRef/autorelease pair, done by the wrapper template function now.
- UIProcess/API/Cocoa/_WKGeolocationPosition.mm:
(WebKit::wrapper): Ditto.
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration copyWithZone:]): Use retain instead of leakRef;
slightly clearer for when we convert to ARC.
- UIProcess/API/Cocoa/_WKUserContentWorld.mm:
(+[_WKUserContentWorld worldWithName:]): Removed explicit leakRef/autorelease pair,
done by the wrapper template function now.
- UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
(-[_WKWebsitePolicies websiteDataStore]): Removed explicit null check, done by
the wrapper template function now.
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::didChangeBackForwardList): Removed
explicit null check, done by the wrapper template function now.
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): Ditto.
(WebKit::NavigationState::NavigationClient::didStartProvisionalNavigation): Ditto.
(WebKit::NavigationState::NavigationClient::didReceiveServerRedirectForProvisionalNavigation): Ditto.
(WebKit::NavigationState::NavigationClient::didFailProvisionalNavigationWithError): Ditto.
(WebKit::NavigationState::NavigationClient::didFailProvisionalLoadInSubframeWithError): Ditto.
(WebKit::NavigationState::NavigationClient::didCommitNavigation): Ditto.
(WebKit::NavigationState::NavigationClient::didFinishDocumentLoad): Ditto.
(WebKit::NavigationState::NavigationClient::didFinishNavigation): Ditto.
(WebKit::NavigationState::NavigationClient::didFailNavigationWithError): Ditto.
(WebKit::NavigationState::NavigationClient::didSameDocumentNavigation): Ditto.
- UIProcess/Cocoa/SessionStateCoding.mm:
(WebKit::encodeSessionState): Removed explicit leakRef/autorelease pair, done
by the wrapper template function now. Also, the old version explicitly dereferenced
and would not work when the result of encodeLegacySessionState was null. Decided
not to add a call to releaseNonNull to preserve that possibly-incorrect optimization,
instead allowing the wrapper function to generate code to handle the null case.
- UIProcess/mac/WKInspectorViewController.mm:
(-[WKInspectorViewController configuration]): Removed explicit WebKit namespace.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]): Removed explicit null check,
done by the wrapper template function now.
(-[WKWebProcessPlugInFrame hitTest:]): Removed explicit leakRef/autorelease pair, done
by the wrapper template function now. Also, the old version explicitly dereferenced
and would not work when the result of hitTest was null. Decided not to add a call to
releaseNonNull to preserve that possibly-incorrect optimization, instead allowing the
wrapper function to generate code to handle the null case.
(-[WKWebProcessPlugInFrame childFrames]): Removed explicit leakRef/autorelease pair,
done by the wrapper template function now.
(-[WKWebProcessPlugInFrame handle]): Ditto.
(-[WKWebProcessPlugInFrame _parentFrame]): Removed explicit null check, done by the
wrapper template function now.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm:
(-[WKWebProcessPlugInHitTestResult nodeHandle]): Removed explicit null check and
leakRef/autorelease pair, both done by the wrapper template function now.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]): Ditto.
(-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]): Ditto.
(-[WKWebProcessPlugInNodeHandle HTMLTableCellElementCellAbove]): Ditto.
(-[WKWebProcessPlugInNodeHandle frame]): Ditto.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm:
(+[WKWebProcessPlugInRangeHandle rangeHandleWithJSValue:inContext:]): Ditto.
(-[WKWebProcessPlugInRangeHandle frame]): Ditto.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
(+[WKWebProcessPlugInScriptWorld world]): Ditto.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController mainFrame]): Ditto.
(+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]): Ditto.
- 5:24 PM Changeset in webkit [235021] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r234852.
https://bugs.webkit.org/show_bug.cgi?id=188736
Workaround is not correct (Requested by yusukesuzuki on
#webkit).
Reverted changeset:
"[JSC] Should not rotate constant with 64"
https://bugs.webkit.org/show_bug.cgi?id=188556
https://trac.webkit.org/changeset/234852
- 4:59 PM Changeset in webkit [235020] by
-
- 3 edits in trunk/Source/WebCore
Shrink size of WebCore::Event further by reordering members
https://bugs.webkit.org/show_bug.cgi?id=188734
Reviewed by Daniel Bates.
Since WebCore::Event is ref-counted class, it has 4bytes m_refCount at the head of the class.
So placing 4bytes just after that before placing 8bytes aligned member (like pointers in 64bit
platforms) can save the size of WebCore::Event further.
This patch reorders members of WebCore::Event to shrink the size from 80bytes to 72bytes.
No behavior change.
- dom/Event.cpp:
(WebCore::Event::Event):
- dom/Event.h:
- 3:54 PM Changeset in webkit [235019] by
-
- 54 edits in trunk/Source/WebKit
[Cocoa] Consolidate inline "wrapper" functions in WebKit API into function templates and WrapperTraits
https://bugs.webkit.org/show_bug.cgi?id=188733
Reviewed by Sam Weinig.
Replaced all the different functions named "wrapper" that were all boilerplate doing Objective-C
casts with WrapperTraits specializations. The only thing about this that was at all tricky was
the loose mixing of the WebKit namespace, the API namespace, and the global namespace. My choice
for this first step was to put WrapperTraits into the WebKit namespace and to put the wrapper
function into both the WebKit and API namespaces with "using". This turned out pretty clean: did
not have to touch any of the code calling wrapper just to make things work, although we can now
clean up by changing call sites to get rid of unnecessary explicit use of leakRef and autorelease.
Doing this will make ARC conversion practical and easy, which is the motivation behind pursuing
this set of changes.
- Shared/Cocoa/WKObject.h: Tweaked style of the ObjectStorage structure template,
using a class name instead of "T". Added WrapperTraits structure template, checkedObjCCast
function template, and multiple wrapper functions templates that take a variety of pointer,
reference, smart pointer, and smart reference types, and return the wrapper for each one,
handling object lifetime appropriately.
- Shared/API/Cocoa/_WKFrameHandleInternal.h:
- Shared/API/Cocoa/_WKHitTestResultInternal.h:
- Shared/Cocoa/WKNSArray.h:
- Shared/Cocoa/WKNSData.h:
- Shared/Cocoa/WKNSDictionary.h:
- Shared/Cocoa/WKNSError.h:
- Shared/Cocoa/WKNSNumber.h:
- Shared/Cocoa/WKNSString.h:
- Shared/Cocoa/WKNSURL.h:
- Shared/Cocoa/WKNSURLRequest.h:
- UIProcess/API/Cocoa/WKBackForwardListInternal.h:
- UIProcess/API/Cocoa/WKBackForwardListItemInternal.h:
- UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h:
- UIProcess/API/Cocoa/WKConnectionInternal.h:
- UIProcess/API/Cocoa/WKContentRuleListInternal.h:
- UIProcess/API/Cocoa/WKContentRuleListStoreInternal.h:
- UIProcess/API/Cocoa/WKFrameInfoInternal.h:
- UIProcess/API/Cocoa/WKHTTPCookieStoreInternal.h:
- UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.h:
- UIProcess/API/Cocoa/WKNavigationActionInternal.h:
- UIProcess/API/Cocoa/WKNavigationDataInternal.h:
- UIProcess/API/Cocoa/WKNavigationInternal.h:
- UIProcess/API/Cocoa/WKNavigationResponseInternal.h:
- UIProcess/API/Cocoa/WKOpenPanelParametersInternal.h:
- UIProcess/API/Cocoa/WKPreferencesInternal.h:
- UIProcess/API/Cocoa/WKProcessPoolInternal.h:
- UIProcess/API/Cocoa/WKSecurityOriginInternal.h:
- UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
- UIProcess/API/Cocoa/WKUserScriptInternal.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
- UIProcess/API/Cocoa/WKWebsiteDataStoreInternal.h:
- UIProcess/API/Cocoa/WKWindowFeaturesInternal.h:
- UIProcess/API/Cocoa/_WKApplicationManifestInternal.h:
- UIProcess/API/Cocoa/_WKAttachmentInternal.h:
- UIProcess/API/Cocoa/_WKAutomationSessionInternal.h:
- UIProcess/API/Cocoa/_WKExperimentalFeatureInternal.h:
- UIProcess/API/Cocoa/_WKGeolocationPositionInternal.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfigurationInternal.h:
- UIProcess/API/Cocoa/_WKUserContentWorldInternal.h:
- UIProcess/API/Cocoa/_WKUserInitiatedActionInternal.h:
- UIProcess/API/Cocoa/_WKUserStyleSheetInternal.h:
- UIProcess/API/Cocoa/_WKVisitedLinkStoreInternal.h:
- UIProcess/API/Cocoa/_WKWebsitePoliciesInternal.h:
- UIProcess/Cocoa/DownloadClient.mm:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResultInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandleInternal.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
Replaced inline wrapper functions with WrapperTraits structure template
specializations. This is always in the WebKit namespace, unlike the functions,
which were in a mix of namespaces. Also deleted some unneeded "#pragma once".
- 3:50 PM Changeset in webkit [235018] by
-
- 9 edits1 add in trunk/Source
[WTF] Add WTF::unalignedLoad and WTF::unalignedStore
https://bugs.webkit.org/show_bug.cgi?id=188716
Reviewed by Darin Adler.
Source/JavaScriptCore:
Use WTF::unalignedLoad and WTF::unalignedStore to avoid undefined behavior.
The compiler can emit appropriate mov operations in x86 even if we use these
helper functions.
- assembler/AssemblerBuffer.h:
(JSC::AssemblerBuffer::LocalWriter::putIntegralUnchecked):
(JSC::AssemblerBuffer::putIntegral):
(JSC::AssemblerBuffer::putIntegralUnchecked):
- assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::readCallTarget):
- assembler/X86Assembler.h:
(JSC::X86Assembler::linkJump):
(JSC::X86Assembler::readPointer):
(JSC::X86Assembler::replaceWithHlt):
(JSC::X86Assembler::replaceWithJump):
(JSC::X86Assembler::setPointer):
(JSC::X86Assembler::setInt32):
(JSC::X86Assembler::setInt8):
- interpreter/InterpreterInlines.h:
(JSC::Interpreter::getOpcodeID): Embedded opcode may be misaligned. Actually UBSan detects misaligned accesses here.
Source/WTF:
While some CPUs allow unaligned accesses to memory, doing it in C++ with
reinterpret_cast<>is
undefined behavior. This patch adds WTF::{unalignedLoad,unalignedStore} helper functions, which
can load from and store to the pointer in an unaligned manner.
Actual implementation usesmemcpy. This can be optimized to direct unaligned access operations
in supported CPUs like x86. Even though a CPU does not support unaligned accesses, memcpy is still
safe and the compiler emits appropriate code.
We name these functions
unalignedLoadandunalignedStoreinstead ofloadUnalignedandstoreUnaligned
in order to align them toatomicLoadandatomicStore.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/UnalignedAccess.h: Added.
(WTF::unalignedLoad):
(WTF::unalignedStore):
- wtf/text/StringCommon.h:
(WTF::equal):
(WTF::loadUnaligned): Deleted.
- 3:46 PM Changeset in webkit [235017] by
-
- 1 copy in tags/Safari-606.1.36.1.7
Tag Safari-606.1.36.1.7.
- 8:16 AM Changeset in webkit [235016] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r234396): Leak of CFURLRef in WebKit::NetworkProcess::deleteHSTSCacheForHostNames()
<https://webkit.org/b/188725>
Reviewed by Dan Bernstein.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames): Use
adoptCF() to prevent a leak.