Timeline
Nov 29, 2016:
- 11:22 PM Changeset in webkit [209123] by
-
- 40 edits7 copies3 adds in trunk
WebAssembly JS API: improve Instance
https://bugs.webkit.org/show_bug.cgi?id=164757
Reviewed by Keith Miller.
JSTests:
An Instance's
exports
property wasn't populated with exports.
A follow-up patch will do imports.
A few things of note:
- LowLevelBinary: support 3-byte integers.
- LowLevelBinary: support proper UTF-8 2003 code points (instead of UTF-16).
- wasm/Builder.js:
- wasm/Builder_WebAssemblyBinary.js: wire up exports, stub other things out some more
(const.emitters.Export):
- wasm/LowLevelBinary.js:
(export.default.LowLevelBinary.prototype.uint24): add, used for UTF-8
(export.default.LowLevelBinary.prototype.string): support UTF-8
(export.default.LowLevelBinary.prototype.getUint24): add, used for UTF-8
(export.default.LowLevelBinary.prototype.getVaruint1): was missing
(export.default.LowLevelBinary.prototype.getString): support UTF-8
(export.default.LowLevelBinary):
- wasm/js-api/test_Instance.js: instance.exports.answer() <-- this is where the magic of this entire patch is
(ExportedAnswerI32):
- wasm/js-api/test_basic_api.js: punt test to later
(const.c.in.constructorProperties.switch):
- wasm/self-test/test_BuilderWebAssembly.js: UTF-8
(CustomSection):
- wasm/self-test/test_LowLevelBinary_string.js: UTF-8 now works
- wasm/self-test/test_LowLevelBinary_uint16.js: was missing one value
- wasm/self-test/test_LowLevelBinary_uint24.js: Copied from JSTests/wasm/self-test/test_LowLevelBinary_uint8.js.
- wasm/self-test/test_LowLevelBinary_uint8.js: was missing one value
- wasm/self-test/test_LowLevelBinary_varuint1.js: Added.
- wasm/utilities.js: this
dump
thing was useful
(const._dump):
Source/JavaScriptCore:
An Instance's
exports
property wasn't populated with exports.
According to the spec [0],
exports
should present itself as a WebAssembly
Module Record. In order to do this we need to split JSModuleRecord into
AbstractModuleRecord (without thelink
andevaluate
functions), and
JSModuleRecord (which implements link and evaluate). We can then have a separate
WebAssemblyModuleRecord which shares most of the implementation.
exports
then maps function names to WebAssemblyFunction and
WebAssemblyFunctionCell, which call into the B3-generated WebAssembly code.
A follow-up patch will do imports.
A few things of note:
- Use Identifier instead of String. They get uniqued, we need them for the JSModuleNamespaceObject. This is safe because JSWebAssemblyModule creation is on the main thread.
- JSWebAssemblyInstance needs to refer to the JSWebAssemblyModule used to create it, because the module owns the code, identifiers, etc. The world would be very sad if it got GC'd.
- Instance.exports shouldn't use putWithoutTransition because it affects all Structures, whereas here each instance needs its own exports.
- Expose the compiled functions, and pipe them to the InstanceConstructor. Start moving things around to split JSModuleRecord out into JS and WebAssembly parts.
[0]: https://github.com/WebAssembly/design/blob/master/JS.md#webassemblyinstance-constructor
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- runtime/AbstractModuleRecord.cpp: Copied from Source/JavaScriptCore/runtime/JSModuleRecord.cpp, which I split in two
(JSC::AbstractModuleRecord::AbstractModuleRecord):
(JSC::AbstractModuleRecord::destroy):
(JSC::AbstractModuleRecord::finishCreation):
(JSC::AbstractModuleRecord::visitChildren):
(JSC::AbstractModuleRecord::appendRequestedModule):
(JSC::AbstractModuleRecord::addStarExportEntry):
(JSC::AbstractModuleRecord::addImportEntry):
(JSC::AbstractModuleRecord::addExportEntry):
(JSC::identifierToJSValue):
(JSC::AbstractModuleRecord::hostResolveImportedModule):
(JSC::AbstractModuleRecord::ResolveQuery::ResolveQuery):
(JSC::AbstractModuleRecord::ResolveQuery::isEmptyValue):
(JSC::AbstractModuleRecord::ResolveQuery::isDeletedValue):
(JSC::AbstractModuleRecord::ResolveQuery::Hash::hash):
(JSC::AbstractModuleRecord::ResolveQuery::Hash::equal):
(JSC::AbstractModuleRecord::cacheResolution):
(JSC::getExportedNames):
(JSC::AbstractModuleRecord::getModuleNamespace):
(JSC::printableName):
(JSC::AbstractModuleRecord::dump):
- runtime/AbstractModuleRecord.h: Copied from Source/JavaScriptCore/runtime/JSModuleRecord.h.
(JSC::AbstractModuleRecord::ImportEntry::isNamespace):
(JSC::AbstractModuleRecord::sourceCode):
(JSC::AbstractModuleRecord::moduleKey):
(JSC::AbstractModuleRecord::requestedModules):
(JSC::AbstractModuleRecord::exportEntries):
(JSC::AbstractModuleRecord::importEntries):
(JSC::AbstractModuleRecord::starExportEntries):
(JSC::AbstractModuleRecord::declaredVariables):
(JSC::AbstractModuleRecord::lexicalVariables):
(JSC::AbstractModuleRecord::moduleEnvironment):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::webAssemblyModuleRecordStructure):
(JSC::JSGlobalObject::webAssemblyFunctionStructure):
- runtime/JSModuleEnvironment.cpp:
(JSC::JSModuleEnvironment::create):
(JSC::JSModuleEnvironment::finishCreation):
(JSC::JSModuleEnvironment::getOwnPropertySlot):
(JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames):
(JSC::JSModuleEnvironment::put):
(JSC::JSModuleEnvironment::deleteProperty):
- runtime/JSModuleEnvironment.h:
(JSC::JSModuleEnvironment::create):
(JSC::JSModuleEnvironment::offsetOfModuleRecord):
(JSC::JSModuleEnvironment::allocationSize):
(JSC::JSModuleEnvironment::moduleRecord):
(JSC::JSModuleEnvironment::moduleRecordSlot):
- runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::getOwnPropertySlot):
- runtime/JSModuleNamespaceObject.h:
(JSC::JSModuleNamespaceObject::create):
(JSC::JSModuleNamespaceObject::moduleRecord):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::createStructure):
(JSC::JSModuleRecord::create):
(JSC::JSModuleRecord::JSModuleRecord):
(JSC::JSModuleRecord::destroy):
(JSC::JSModuleRecord::finishCreation):
(JSC::JSModuleRecord::visitChildren):
(JSC::JSModuleRecord::instantiateDeclarations):
- runtime/JSModuleRecord.h:
- runtime/JSScope.cpp:
(JSC::abstractAccess):
(JSC::JSScope::collectClosureVariablesUnderTDZ):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
- wasm/JSWebAssembly.h:
- wasm/WasmFormat.h: use Identifier instead of String
- wasm/WasmModuleParser.cpp:
(JSC::Wasm::ModuleParser::parse):
(JSC::Wasm::ModuleParser::parseType):
(JSC::Wasm::ModuleParser::parseImport): fix off-by-one
(JSC::Wasm::ModuleParser::parseFunction):
(JSC::Wasm::ModuleParser::parseExport):
- wasm/WasmModuleParser.h:
(JSC::Wasm::ModuleParser::ModuleParser):
- wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::run):
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::create):
(JSC::JSWebAssemblyInstance::finishCreation):
(JSC::JSWebAssemblyInstance::visitChildren):
- wasm/js/JSWebAssemblyInstance.h:
(JSC::JSWebAssemblyInstance::module):
- wasm/js/JSWebAssemblyModule.cpp:
(JSC::JSWebAssemblyModule::create):
(JSC::JSWebAssemblyModule::finishCreation):
(JSC::JSWebAssemblyModule::visitChildren):
- wasm/js/JSWebAssemblyModule.h:
(JSC::JSWebAssemblyModule::moduleInformation):
(JSC::JSWebAssemblyModule::compiledFunctions):
(JSC::JSWebAssemblyModule::exportSymbolTable):
- wasm/js/WebAssemblyFunction.cpp: Added.
(JSC::callWebAssemblyFunction):
(JSC::WebAssemblyFunction::create):
(JSC::WebAssemblyFunction::createStructure):
(JSC::WebAssemblyFunction::WebAssemblyFunction):
(JSC::WebAssemblyFunction::visitChildren):
(JSC::WebAssemblyFunction::finishCreation):
- wasm/js/WebAssemblyFunction.h: Copied from Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.h.
(JSC::CallableWebAssemblyFunction::CallableWebAssemblyFunction):
(JSC::WebAssemblyFunction::webAssemblyFunctionCell):
- wasm/js/WebAssemblyFunctionCell.cpp: Copied from Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h.
(JSC::WebAssemblyFunctionCell::create):
(JSC::WebAssemblyFunctionCell::WebAssemblyFunctionCell):
(JSC::WebAssemblyFunctionCell::destroy):
(JSC::WebAssemblyFunctionCell::createStructure):
- wasm/js/WebAssemblyFunctionCell.h: Copied from Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h.
(JSC::WebAssemblyFunctionCell::function):
- wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::constructJSWebAssemblyInstance):
- wasm/js/WebAssemblyModuleConstructor.cpp:
(JSC::constructJSWebAssemblyModule):
- wasm/js/WebAssemblyModuleRecord.cpp: Added.
(JSC::WebAssemblyModuleRecord::createStructure):
(JSC::WebAssemblyModuleRecord::create):
(JSC::WebAssemblyModuleRecord::WebAssemblyModuleRecord):
(JSC::WebAssemblyModuleRecord::destroy):
(JSC::WebAssemblyModuleRecord::finishCreation):
(JSC::WebAssemblyModuleRecord::visitChildren):
(JSC::WebAssemblyModuleRecord::link):
(JSC::WebAssemblyModuleRecord::evaluate):
- wasm/js/WebAssemblyModuleRecord.h: Copied from Source/JavaScriptCore/wasm/js/JSWebAssemblyModule.h.
Source/WTF:
- wtf/Expected.h:
(WTF::ExpectedDetail::destroy): silence a warning
- 11:14 PM Changeset in webkit [209122] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Database process should not initialize gtk
https://bugs.webkit.org/show_bug.cgi?id=165138
Reviewed by Sergio Villar Senin.
It doesn't use GTK+ at all.
- DatabaseProcess/gtk/DatabaseProcessMainGtk.cpp:
(WebKit::DatabaseProcessMainUnix):
(): Deleted.
- 10:24 PM Changeset in webkit [209121] by
-
- 30 edits12 adds in trunk
We should be able optimize the pattern where we spread a function's rest parameter to another call
https://bugs.webkit.org/show_bug.cgi?id=163865
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/default-derived-constructor.js: Added.
(createClassHierarchy.let.currentClass):
(createClassHierarchy):
- stress/call-varargs-spread.js: Added.
(assert):
(bar):
(foo):
- stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added.
(assert):
(baz):
(bar):
(foo):
- stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added.
(assert):
(foo):
(escape):
(bar):
- stress/phantom-new-array-with-spread-osr-exit.js: Added.
(assert):
(baz):
(bar):
(effects):
(foo):
- stress/phantom-spread-forward-varargs.js: Added.
(assert):
(test1.bar):
(test1.foo):
(test1):
(test2.bar):
(test2.foo):
(test3.baz):
(test3.bar):
(test3.foo):
(test4.baz):
(test4.bar):
(test4.foo):
(test5.baz):
(test5.bar):
(test5.foo):
- stress/phantom-spread-osr-exit.js: Added.
(assert):
(baz):
(bar):
(effects):
(foo):
- stress/spread-call-convert-to-static-call.js: Added.
(assert):
(baz):
(bar):
(foo):
- stress/spread-forward-call-varargs-stack-overflow.js: Added.
(assert):
(identity):
(bar):
(foo):
- stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added.
(assert):
(baz.Array.prototype.Symbol.iterator):
(baz):
(bar):
(foo):
(test):
- stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added.
(assert):
(baz.Array.prototype.Symbol.iterator):
(baz):
(bar):
(foo):
- stress/spread-forward-varargs-stack-overflow.js: Added.
(assert):
(bar):
(foo):
Source/JavaScriptCore:
This patch optimizes the following patterns to prevent both the allocation
of the rest parameter, and the execution of the iterator protocol:
`
function foo(...args) {
let arr = [...args];
}
and
function foo(...args) {
bar(...args);
}
`
To do this, I've extended the arguments elimination phase to reason
about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread
and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest
parameters that don't escape. If the rest parameter *does* escape, we can't
convert the spread into a phantom because it would not be sound w.r.t JS
semantics because we would be reading from the call frame even though
the rest array may have changed.
Note that NewArrayWithSpread also understands what to do when one of its
arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped.
PhantomNewArrayWithSpread is only allowed over a series of
PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread
is only allowed if none of its arguments that are being spread are escaped
and if it itself is not escaped.
Because there is a dependency between a node being a candidate and
the escaped state of the node's children, I've extended the notion
of escaping a node inside the arguments elimination phase. Now, when
any node is escaped, we must consider all other candidates that are may
now no longer be valid.
For example:
`
function foo(...args) {
escape(args);
bar(...args);
}
`
In the above program, we don't know if the function call to escape()
modifies args, therefore, the spread can not become phantom because
the execution of the spread may not be as simple as reading the
arguments from the call frame.
Unfortunately, the arguments elimination phase does not consider control
flow when doing its escape analysis. It would be good to integrate this
phase with the object allocation sinking phase. To see why, consider
an example where we don't eliminate the spread and allocation of the rest
parameter even though we could:
`
function foo(rareCondition, ...args) {
bar(...args);
if (rareCondition)
baz(args);
}
`
There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread
nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread.
PhantomNewArrayWithSpread is only used by ForwardVarargs and the various
*Call*ForwardVarargs nodes. The users of these phantoms know how to produce
what the phantom node would have produced. For example, NewArrayWithSpread
knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest)
by directly reading from the call frame.
This patch is a 6% speedup on my MBP on ES6SampleBench.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::tryAppendLea):
- b3/B3ValueRep.h:
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createDefaultConstructor):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllKillsInBlock):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasConstant):
(JSC::DFG::Node::constant):
(JSC::DFG::Node::bitVector):
(JSC::DFG::Node::isPhantomAllocation):
- dfg/DFGNodeType.h:
- dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator):
(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):
- dfg/DFGOSRAvailabilityAnalysisPhase.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- dfg/DFGPreciseLocalClobberize.h:
(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGPromotedHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGPromotedHeapLocation.h:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3):
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs):
(JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame):
(JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationPopulateObjectInOSR):
(JSC::FTL::operationMaterializeObjectInOSR):
- jit/SetupVarargsFrame.cpp:
(JSC::emitSetupVarargsFrameFastCase):
- jsc.cpp:
(GlobalObject::finishCreation):
(functionMaxArguments):
- runtime/JSFixedArray.h:
(JSC::JSFixedArray::createFromArray):
- 8:54 PM Changeset in webkit [209120] by
-
- 40 edits in trunk/Source
Unreviewed, rolling out r209058 and r209074.
https://bugs.webkit.org/show_bug.cgi?id=165188
These changes caused API test StringBuilderTest.Equal to crash
and/or fail. (Requested by ryanhaddad on #webkit).
Reverted changesets:
"Streamline and speed up tokenizer and segmented string
classes"
https://bugs.webkit.org/show_bug.cgi?id=165003
http://trac.webkit.org/changeset/209058
"REGRESSION (r209058): API test StringBuilderTest.Equal
crashing"
https://bugs.webkit.org/show_bug.cgi?id=165142
http://trac.webkit.org/changeset/209074
- 8:43 PM Changeset in webkit [209119] by
-
- 1 edit2 adds in trunk/LayoutTests
[iOS] Add test for HTML form validation popover dismissal on tap
https://bugs.webkit.org/show_bug.cgi?id=165185
Reviewed by Simon Fraser.
Add test for HTML form validation popover dismissal on tap outside the
popover.
- fast/forms/ios/validation-bubble-dismiss-on-tap-expected.txt: Added.
- fast/forms/ios/validation-bubble-dismiss-on-tap.html: Added.
- 8:38 PM Changeset in webkit [209118] by
-
- 3 edits2 adds in trunk
AX: ARIA tree & treeitem roles & aria-expanded state not spoken to VoiceOver iOS 10
https://bugs.webkit.org/show_bug.cgi?id=164936
<rdar://problem/29334274>
Reviewed by Chris Fleizach.
Source/WebCore:
Added a new container type on iOS for trees. Also, since the treeitem role is ignored
on iOS, we should expose the expanded status of a treeitem to its accessible children.
Test: accessibility/ios-simulator/treeitem-expanded.html
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityTreeAncestor]):
(-[WebAccessibilityObjectWrapper treeItemParentForObject:]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):
(-[WebAccessibilityObjectWrapper accessibilityIsExpanded]):
LayoutTests:
- accessibility/ios-simulator/treeitem-expanded-expected.txt: Added.
- accessibility/ios-simulator/treeitem-expanded.html: Added.
- 8:37 PM Changeset in webkit [209117] by
-
- 6 edits in trunk
Unreviewed, rolling out r209096, r209104, and r209114.
Caused over 200 layout test failures on the bots
Reverted changesets:
"IndexedDB 2.0: Cache and reuse SQLiteStatements in the SQLite
backend."
https://bugs.webkit.org/show_bug.cgi?id=164974
http://trac.webkit.org/changeset/209096
"Followup to:"
https://bugs.webkit.org/show_bug.cgi?id=164974
http://trac.webkit.org/changeset/209104
"REGRESSION (r209104): storage/indexeddb/modern/gc-closes-
database(-private).html timeout."
https://bugs.webkit.org/show_bug.cgi?id=165186
http://trac.webkit.org/changeset/209114
- 8:26 PM Changeset in webkit [209116] by
-
- 10 edits1 add in trunk
[Modern Media Controls] Localization
https://bugs.webkit.org/show_bug.cgi?id=165176
Patch by Antoine Quint <Antoine Quint> on 2016-11-29
Reviewed by Dean Jackson.
Source/WebCore:
We add a new localization file for the purpose of modern media controls, since we may
require different strings than the legacy one.
- English.lproj/modern-media-controls-localized-strings.js: Added.
- Modules/modern-media-controls/controls/airplay-placard.js:
(AirplayPlacard):
- Modules/modern-media-controls/controls/pip-placard.js:
(PiPPlacard):
- Modules/modern-media-controls/main.js:
(UIString):
- Modules/modern-media-controls/media/status-support.js:
(StatusSupport.prototype.syncControl):
(StatusSupport):
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsScript):
LayoutTests:
Using the modern media controls module loader to ensure we pick up main.js,
and also because it's the right thing to do.
- media/modern-media-controls/airplay-placard/airplay-placard.html:
- media/modern-media-controls/pip-placard/pip-placard.html:
- 8:22 PM Changeset in webkit [209115] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Improve name sorting in HeapSnapshot data grids
https://bugs.webkit.org/show_bug.cgi?id=165170
<rdar://problem/28784421>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-11-29
Reviewed by Matt Baker.
When sorting the Name column, group named properties and unnamed
properties and sort them each individually:
- Sort named properties by their property name (property names will be unique if they exist)
- Sort unnamed properties by their class name (guaranteed)
- Sort any tied class names by their object id
This makes using the Object Graph with Name sort easier to follow.
In the ascending sort you see all the named properties first,
followed by the unnamed (internal) properties.
- UserInterface/Views/HeapSnapshotContentView.js:
(WebInspector.HeapSnapshotObjectGraphContentView):
Since this data grid column now sorts on more than just the "Class Name"
rename it to "Name".
- UserInterface/Views/HeapSnapshotDataGridTree.js:
(WebInspector.HeapSnapshotDataGridTree.buildSortComparator):
Make the sort of theclassName
column more general to handle sorting
by property names, class names, and object identifiers.
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype.get propertyName):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
Provide a lazypropertyName
accessor where we compute it once and stash
it on the DataGridNode to avoid extra work when resorting.
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populate.propertyName):
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populate):
In the initial populated sort, provide the necessary property name property
the sort comparator expects.
- 7:50 PM Changeset in webkit [209114] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r209104): storage/indexeddb/modern/gc-closes-database(-private).html timeout.
https://bugs.webkit.org/show_bug.cgi?id=165186
Unreviewed gardening.
- TestExpectations: Skip these tests for now until I can resolve things properly.
- 7:42 PM Changeset in webkit [209113] by
-
- 4 edits in trunk
[JSC] always wrap AwaitExpression operand in a new Promise
https://bugs.webkit.org/show_bug.cgi?id=165181
Reviewed by Yusuke Suzuki.
JSTests:
- stress/async-await-basic.js:
(async.awaitedPromisesAreWrapped):
Source/JavaScriptCore:
Ensure operand of AwaitExpression is wrapped in a new Promise by
explicitly creating a new Promise Capability and invoking its
resolve callback. This avoids the specified short-circuit for
Promise.resolve().
- builtins/AsyncFunctionPrototype.js:
(globalPrivate.asyncFunctionResume):
- 7:09 PM Changeset in webkit [209112] by
-
- 5 edits in trunk/Source/JavaScriptCore
We should support CreateThis in the FTL
https://bugs.webkit.org/show_bug.cgi?id=164904
Reviewed by Geoffrey Garen.
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateThis):
(JSC::FTL::DFG::LowerDFGToB3::storeStructure):
(JSC::FTL::DFG::LowerDFGToB3::allocateCell):
(JSC::FTL::DFG::LowerDFGToB3::allocateObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedCell):
- runtime/Structure.h:
- 7:05 PM Changeset in webkit [209111] by
-
- 12 edits1 copy10 adds in trunk
[Modern Media Controls] Show an invalid placard when we fail to load a media file
https://bugs.webkit.org/show_bug.cgi?id=165180
Patch by Antoine Quint <Antoine Quint> on 2016-11-29
Reviewed by Dean Jackson.
Source/WebCore:
We now show a placard with an "invalid" icon when we fail to load the media file.
Tests: media/modern-media-controls/invalid-placard/invalid-placard.html
media/modern-media-controls/placard-support/placard-support-error.html
- Modules/modern-media-controls/controls/icon-service.js:
- Modules/modern-media-controls/controls/invalid-placard.js: Added.
(InvalidPlacard):
- Modules/modern-media-controls/controls/media-controls.js:
(MediaControls.prototype.get showsStartButton):
(MediaControls.prototype.set showsStartButton):
(MediaControls.prototype.get showsPlacard):
(MediaControls.prototype.hidePlacard):
(MediaControls.prototype._invalidateChildren):
- Modules/modern-media-controls/controls/placard.css:
(.placard .icon):
- Modules/modern-media-controls/images/iOS/invalid-placard@1x.png: Added.
- Modules/modern-media-controls/images/iOS/invalid-placard@2x.png: Added.
- Modules/modern-media-controls/images/iOS/invalid-placard@3x.png: Added.
- Modules/modern-media-controls/images/macOS/invalid-placard@1x.png: Added.
- Modules/modern-media-controls/images/macOS/invalid-placard@2x.png: Added.
- Modules/modern-media-controls/js-files:
- Modules/modern-media-controls/media/placard-support.js:
(PlacardSupport.prototype.get mediaEvents):
(PlacardSupport.prototype._updatePlacard):
(PlacardSupport):
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
We add tests for the new InvalidPlacard class.
- media/modern-media-controls/invalid-placard/invalid-placard-expected.txt: Added.
- media/modern-media-controls/invalid-placard/invalid-placard.html: Added.
- media/modern-media-controls/media-controls/media-controls-constructor-expected.txt:
- media/modern-media-controls/media-controls/media-controls-constructor.html:
- media/modern-media-controls/media-controls/media-controls-placard-expected.txt:
- media/modern-media-controls/media-controls/media-controls-placard.html:
- media/modern-media-controls/placard-support/placard-support-error-expected.txt: Added.
- media/modern-media-controls/placard-support/placard-support-error.html: Added.
- 7:02 PM Changeset in webkit [209110] by
-
- 2 edits in trunk/Source/WTF
Allow TracePoint to take arbitrary data
https://bugs.webkit.org/show_bug.cgi?id=165182
Reviewed by Tim Horton.
Allow TracePoint() to take four numeric arguments, for arbitrary data.
#pragma once
- wtf/SystemTracing.h:
(WTF::TracePoint):
- 6:55 PM Changeset in webkit [209109] by
-
- 6 edits in tags/Safari-603.1.13.1/Source/WebKit2
Roll out r208611.
- 6:26 PM Changeset in webkit [209108] by
-
- 18 edits2 copies11 adds in trunk
[Modern Media Controls] Only show controls when the controls attribute is set
https://bugs.webkit.org/show_bug.cgi?id=165175
Source/WebCore:
We now respect the value of the media's "controls" attribute so that the start button and the controls
bar are only shown when that attribute is set to "true".
Patch by Antoine Quint <Antoine Quint> on 2016-11-29
Reviewed by Dean Jackson.
Tests: media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off-audio.html
media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off.html
media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-audio.html
media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on.html
media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle.html
- Modules/modern-media-controls/controls/controls-bar.js: Added.
(ControlsBar):
- Modules/modern-media-controls/controls/media-controls.js:
(MediaControls.): Deleted.
- Modules/modern-media-controls/js-files:
- Modules/modern-media-controls/media/controls-visibility-support.js: Added.
(ControlsVisibilitySupport):
(ControlsVisibilitySupport.prototype.destroy):
(ControlsVisibilitySupport.prototype.get mediaEvents):
(ControlsVisibilitySupport.prototype.syncControl):
- Modules/modern-media-controls/media/media-controller-support.js:
(MediaControllerSupport):
(MediaControllerSupport.prototype.handleEvent):
- Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype._updateControlsIfNeeded):
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
We add new tests to check that the media's "control" attribute is respected. We also update a
series of tests to be more robust and turn the media "controls" attribute on so that the controls
bar is displayed as required by the tests.
Patch by Antoine Quint <Antoine Quint> on 2016-11-29
Reviewed by Dean Jackson.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off-audio-expected.txt: Added.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off-audio.html: Added.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off-expected.txt: Added.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off.html: Added.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-audio-expected.txt: Added.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-audio.html: Added.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-expected.txt: Added.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on.html: Added.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle-expected.txt: Added.
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle.html: Added.
- media/modern-media-controls/fullscreen-support/fullscreen-support-click.html:
- media/modern-media-controls/media-controls/media-controls-constructor-expected.txt:
- media/modern-media-controls/media-controls/media-controls-constructor.html:
- media/modern-media-controls/pip-support/pip-support-click.html:
- media/modern-media-controls/placard-support/placard-support-airplay.html:
- media/modern-media-controls/scrubber-support/scrubber-support-click-expected.txt:
- media/modern-media-controls/scrubber-support/scrubber-support-click.html:
- media/modern-media-controls/scrubber-support/scrubber-support-drag-expected.txt:
- media/modern-media-controls/scrubber-support/scrubber-support-drag.html:
- media/modern-media-controls/volume-support/volume-support-click.html:
- media/modern-media-controls/volume-support/volume-support-drag.html:
- 5:58 PM Changeset in webkit [209107] by
-
- 2 edits in tags/Safari-603.1.13.1/Source/WebKit2
Merge r209057. rdar://problem/26899976
- 5:58 PM Changeset in webkit [209106] by
-
- 2 edits in tags/Safari-603.1.13.1/Source/WebKit2
Merge r208835. rdar://problem/26899976
- 5:58 PM Changeset in webkit [209105] by
-
- 5 edits1 move in tags/Safari-603.1.13.1/Source/WebKit2
Merge r208589. rdar://problem/26899976
- 5:16 PM Changeset in webkit [209104] by
-
- 2 edits in trunk/Source/WebCore
Followup to:
IndexedDB 2.0: Cache and reuse SQLiteStatements in the SQLite backend.
https://bugs.webkit.org/show_bug.cgi?id=164974
Unreviewed.
- Modules/indexeddb/IDBTransaction.h: Until I can explore further why these operations are not protected in the map, change these raw pointers to RefPtrs. This fixes issues seen under GuardMalloc.
- 5:08 PM Changeset in webkit [209103] by
-
- 2 edits in trunk/Source/WebKit2
Remove WebPage::SetPageSuppressed
https://bugs.webkit.org/show_bug.cgi?id=165158
Unreviewed revert accidental change.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setActivityState):
- 5:00 PM Changeset in webkit [209102] by
-
- 7 edits in trunk/Source/WebKit2
Remove WebPage::SetPageSuppressed
https://bugs.webkit.org/show_bug.cgi?id=165158
Reviewed by Tim Horton.
This was scaffolding. We've now refactored to the point that the information driving throttling originates
from the UI process (so UI and web processes can have a consistent view of what should throttle), but we
don't need a separate message to handle this - necessary state to determine is provided in ActivityState.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateThrottleState):
- used to send SetPageSuppressed; no longer does.
- UIProcess/WebPageProxy.h:
- removed m_pageSuppressed (was used to avoid duplicated messages).
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateThrottleState):
- compute throttle state based on m_activityState.
(WebKit::WebPage::setActivityState):
- update throttle state whenever activity state changes.
(WebKit::WebPage::updatePreferences):
- update throttle state whenever preferences change (throttling can be disabled via preference).
(WebKit::WebPage::setPageSuppressed): Deleted.
- Removed WebPage::SetPageSuppressed.
- WebProcess/WebPage/WebPage.h:
- Removed WebPage::SetPageSuppressed.
- Added m_processSuppressionEnabled, to cache preference state.
- WebProcess/WebPage/WebPage.messages.in:
- Removed WebPage::SetPageSuppressed.
- 4:06 PM Changeset in webkit [209101] by
-
- 5 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in runtime/RegExp* files.
https://bugs.webkit.org/show_bug.cgi?id=165054
Reviewed by Saam Barati.
Also replaced returning JSValue() with returning { }.
- runtime/RegExpConstructor.cpp:
(JSC::toFlags):
(JSC::regExpCreate):
(JSC::constructRegExp):
- runtime/RegExpObject.cpp:
(JSC::RegExpObject::defineOwnProperty):
(JSC::collectMatches):
(JSC::RegExpObject::matchGlobal):
- runtime/RegExpObjectInlines.h:
(JSC::getRegExpObjectLastIndexAsUnsigned):
(JSC::RegExpObject::execInline):
(JSC::RegExpObject::matchInline):
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncCompile):
(JSC::flagsString):
(JSC::regExpProtoFuncToString):
(JSC::regExpProtoFuncSplitFast):
- 4:00 PM Changeset in webkit [209100] by
-
- 2 edits in trunk/LayoutTests
Marking media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=165169
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 3:38 PM Changeset in webkit [209099] by
-
- 2 edits in trunk/Source/WebCore
[Modern Media Controls] Inline controls show when entering fullscreen
https://bugs.webkit.org/show_bug.cgi?id=165161
Patch by Antoine Quint <Antoine Quint> on 2016-11-29
Reviewed by Dean Jackson.
We would error when entering fullscreen due to the TracksSupport having its destroy() method
called when tearing down the inline controls and themediaController
reference being incorrect.
- Modules/modern-media-controls/media/tracks-support.js:
(TracksSupport.prototype.destroy):
- 3:38 PM Changeset in webkit [209098] by
-
- 3 edits2 adds in trunk
[Modern Media Controls] Status text stuck saying "Loading" after media starts playing
https://bugs.webkit.org/show_bug.cgi?id=165162
Patch by Antoine Quint <Antoine Quint> on 2016-11-29
Reviewed by Dean Jackson.
Source/WebCore:
We forgot to handle the case where none of the special messages need to be set and the
status text should be just an empty string, meaning there is no status text shown in the
controls bar and the scrubber appears instead.
Test: media/modern-media-controls/status-support/status-support-playing.html
- Modules/modern-media-controls/media/status-support.js:
(StatusSupport.prototype.syncControl):
(StatusSupport):
LayoutTests:
Adding a new test ensuring the status text is the empty string once the media starts playing.
- media/modern-media-controls/status-support/status-support-playing-expected.txt: Added.
- media/modern-media-controls/status-support/status-support-playing.html: Added.
- 3:35 PM Changeset in webkit [209097] by
-
- 2 edits in trunk/LayoutTests
Marking js/dom/modules/module-will-fire-beforeload.html as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=164883
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:28 PM Changeset in webkit [209096] by
-
- 3 edits in trunk/Source/WebCore
IndexedDB 2.0: Cache and reuse SQLiteStatements in the SQLite backend.
https://bugs.webkit.org/show_bug.cgi?id=164974
Reviewed by Alex Christensen.
No new tests (No behavior change other than being faster).
Instead of building new SQLiteStatements from scratch each time they're needed and then
finalizing them after used for a single operation, cache them.
For tests that do puts and/or gets in tight loops, this shows up as a 5%-20% speedup on profiles.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::renameObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedHasIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedPutIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::renameIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteUnusedBlobFileRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::updateAllIndexesForAddRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getBlobRecordsForObjectStoreRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::cachedStatementForGetAllObjectStoreRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::getAllObjectStoreRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetKeyGeneratorValue):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedSetKeyGeneratorValue):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::cachedStatement):
(WebCore::IDBServer::SQLiteIDBBackingStore::closeSQLiteDB):
(WebCore::IDBServer::queryForGetAllObjectStoreRecords): Deleted.
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- 3:26 PM Changeset in webkit [209095] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=165165
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 3:21 PM Changeset in webkit [209094] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/storage/callbacks-are-called-in-correct-context.html as a timeout on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=164961
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 3:17 PM Changeset in webkit [209093] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/security/module-correct-mime-types.html as slow on ios-simulator-wk2.
https://bugs.webkit.org/show_bug.cgi?id=164960
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 2:52 PM Changeset in webkit [209092] by
-
- 17 edits28 adds in trunk
Update SubtleCrypto::sign to match the latest spec
https://bugs.webkit.org/show_bug.cgi?id=164740
<rdar://problem/29257864>
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
- WebCryptoAPI/idlharness-expected.txt:
Source/WebCore:
This patch does following few things:
- It updates the SubtleCrypto::sign method to match the latest spec: https://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-sign. It also refers to the latest Editor's Draft to a certain degree: https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-sign.
- It implements sign operations of the following algorithms: HMAC, and RSASSA-PKCS1-V1_5.
- It also replaces promise.copyRef() with WTFMove(promise) for all the capture lists of exception callbacks in promise functions.
Tests: crypto/subtle/hmac-import-key-sign-sha1.html
crypto/subtle/hmac-import-key-sign-sha224.html
crypto/subtle/hmac-import-key-sign-sha256.html
crypto/subtle/hmac-import-key-sign-sha384.html
crypto/subtle/hmac-import-key-sign-sha512.html
crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha1.html
crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha224.html
crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha256.html
crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha384.html
crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha512.html
crypto/subtle/sign-malformed-parameters.html
crypto/workers/subtle/hmac-import-key-sign.html
crypto/workers/subtle/rsassa-pkcs1-v1_5-import-key-sign.html
- bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::normalizeCryptoAlgorithmParameters):
(WebCore::jsSubtleCryptoFunctionDecryptPromise):
Fix a minor bug.
(WebCore::jsSubtleCryptoFunctionEncryptPromise):
(WebCore::jsSubtleCryptoFunctionDecryptPromise):
(WebCore::jsSubtleCryptoFunctionSignPromise):
(WebCore::jsSubtleCryptoFunctionGenerateKeyPromise):
(WebCore::jsSubtleCryptoFunctionImportKeyPromise):
(WebCore::jsSubtleCryptoFunctionExportKeyPromise):
(WebCore::JSSubtleCrypto::sign):
- crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::sign):
- crypto/CryptoAlgorithm.h:
- crypto/SubtleCrypto.idl:
- crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::sign):
- crypto/algorithms/CryptoAlgorithmHMAC.h:
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
- crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp:
(WebCore::CryptoAlgorithmHMAC::platformSign):
- crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp:
(WebCore::CryptoAlgorithmHMAC::platformSign):
- crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
- crypto/mac/CryptoAlgorithmHMACMac.cpp:
(WebCore::commonCryptoHMACAlgorithm):
(WebCore::calculateSignature):
Remove a null guardance since the depending bug is resolved.
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):
- crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
(WebCore::signRSASSA_PKCS1_v1_5):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
LayoutTests:
- crypto/subtle/hmac-import-key-sign-sha1-expected.txt: Added.
- crypto/subtle/hmac-import-key-sign-sha1.html: Added.
- crypto/subtle/hmac-import-key-sign-sha224-expected.txt: Added.
- crypto/subtle/hmac-import-key-sign-sha224.html: Added.
- crypto/subtle/hmac-import-key-sign-sha256-expected.txt: Added.
- crypto/subtle/hmac-import-key-sign-sha256.html: Added.
- crypto/subtle/hmac-import-key-sign-sha384-expected.txt: Added.
- crypto/subtle/hmac-import-key-sign-sha384.html: Added.
- crypto/subtle/hmac-import-key-sign-sha512-expected.txt: Added.
- crypto/subtle/hmac-import-key-sign-sha512.html: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha1-expected.txt: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha1.html: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha224-expected.txt: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha224.html: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha256-expected.txt: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha256.html: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha384-expected.txt: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha384.html: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha512-expected.txt: Added.
- crypto/subtle/rsassa-pkcs1-v1_5-import-key-sign-sha512.html: Added.
- crypto/subtle/sign-malformed-parameters-expected.txt: Added.
- crypto/subtle/sign-malformed-parameters.html: Added.
- crypto/workers/subtle/hmac-import-key-sign-expected.txt: Added.
- crypto/workers/subtle/hmac-import-key-sign.html: Added.
- crypto/workers/subtle/resources/hmac-import-key-sign.js: Added.
- crypto/workers/subtle/resources/rsassa-pkcs1-v1_5-import-key-sign.js: Added.
- crypto/workers/subtle/rsassa-pkcs1-v1_5-import-key-sign-expected.txt: Added.
- crypto/workers/subtle/rsassa-pkcs1-v1_5-import-key-sign.html: Added.
- 2:38 PM Changeset in webkit [209091] by
-
- 5 edits in trunk
Can't download move.simple.com direct deposit transition PDF: Non user-triggered activations of anchors that have a download attribute are ignored
https://bugs.webkit.org/show_bug.cgi?id=165148
<rdar://problem/29421771>
Reviewed by Daniel Bates.
Source/WebCore:
We were ignoring non user-triggered activations of anchors that have a
download attribute which is stricter than Chrome and Firefox and breaks
downloads on move.simple.com. This patch relaxes our policy to allow
simulated clicks on such links, similarly to other browsers.
Web authors can anyway already trigger downloads using script by setting
window.location to a specific URL and serving to right HTTP headers to
trigger a download.
Note that our previous behavior matches the current version of the
specification so I also filed a bug against the HTML specification to
see if we can get it changed to match the behavior of browsers:
No new tests, updated existing test.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
LayoutTests:
Update existing test to reflect behavior change.
- fast/dom/HTMLAnchorElement/anchor-download-synthetic-click-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-download-synthetic-click.html:
- 2:15 PM Changeset in webkit [209090] by
-
- 6 edits2 copies2 moves1 add in trunk/Tools
[Linux] run-benchmark should be able to execute the benchmarks with more browsers.
https://bugs.webkit.org/show_bug.cgi?id=164792
Reviewed by Michael Catanzaro.
This removes the GTKBrowserDriver (and the platform 'gtk') from the run-benchmark script,
and adds a new LinuxBrowserDriver with a platform 'linux'.
It add also drivers for Chrome (Chromium), Firefox, Epiphany and MiniBrowser-GTK (previously MiniBrowser).
The detection of the platform is now done automatically, so it is not longer needed to pass a "--platform" parameter.
The tracking of the browser process is now more robust, we track the pid of the browser process and we only try to
kill the ones that were executed by this script, instead of doing a 'killall $browser' (like before).
We also check for browser process childs and we kill them if they are still alive after the main browser process has been killed.
This depends on psutil, so this will only be done if psutil is installed.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunBenchmarkTests.start): The platform is now autodetected and the MiniBrowser driver is renamed to MiniBrowser-GTK.
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner._run_benchmark): Fix a bug that caused close_browsers to be called twice. Its already called inside BenchmarkRunner._run_one_test.
- Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py: Added.
(LinuxBrowserDriver): Implement base class that has all the needed functionality for driving the browsers.
(LinuxBrowserDriver.init):
(LinuxBrowserDriver.prepare_env):
(LinuxBrowserDriver.restore_env):
(LinuxBrowserDriver.close_browsers): Made the dependency on psutil optional (because it was listed as such on the README file <Tools/Scripts/webkitpy/benchmark_runner/README.md>)
(LinuxBrowserDriver.launch_url):
(LinuxBrowserDriver._get_first_executable_path_from_list):
(LinuxBrowserDriver._screen_size):
- Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py: Copied from Tools/Scripts/webkitpy/benchmark_runner/browser_driver/gtk_minibrowser_driver.py.
(LinuxChromeDriver):
(LinuxChromeDriver.launch_url):
- Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py: Renamed from Tools/Scripts/webkitpy/benchmark_runner/browser_driver/gtk_browser_driver.py.
(EpiphanyBrowserDriver):
(EpiphanyBrowserDriver.launch_url):
- Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py: Copied from Tools/Scripts/webkitpy/benchmark_runner/browser_driver/gtk_minibrowser_driver.py.
(LinuxFirefoxDriver):
(LinuxFirefoxDriver.launch_url):
- Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py: Renamed from Tools/Scripts/webkitpy/benchmark_runner/browser_driver/gtk_minibrowser_driver.py.
(GTKMiniBrowserDriver):
(GTKMiniBrowserDriver.launch_url):
- Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver):
- Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(getplatform):
(getdefaultbrowser):
(parse_args):
- Scripts/webkitpy/benchmark_runner/utils.py:
(load_subclasses): The loading of subclasses was still (even after r196979) sensitive to the order in which the modules are loaded.
We have to ensure that the files containing subclasses of the base_class_file are loaded after the base_class_file,
we can do that by matching against the base_class_file pattern when the list is created.
- 1:49 PM Changeset in webkit [209089] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Breakpoints button enabled state is too subtle
https://bugs.webkit.org/show_bug.cgi?id=165153
Reviewed by Joseph Pecoraro.
- UserInterface/Images/Breakpoints.svg:
Change to path so stroke and fill can be styled.
- UserInterface/Views/DebuggerSidebarPanel.css:
(.sidebar > .panel.navigation.debugger > .navigation-bar .debugger-breakpoints):
(.sidebar > .panel.navigation.debugger > .navigation-bar .debugger-breakpoints.activated):
Fill and stroke styles for the active and inactive breakpoint button.
- 1:36 PM Changeset in webkit [209088] by
-
- 17 edits in trunk
[Cocoa] Enable two clang warnings recommended by Xcode
https://bugs.webkit.org/show_bug.cgi?id=164498
Reviewed by Mark Lam.
Source/bmalloc:
- Configurations/Base.xcconfig: Enabled CLANG_WARN_INFINITE_RECURSION and CLANG_WARN_SUSPICIOUS_MOVE.
Source/JavaScriptCore:
- Configurations/Base.xcconfig: Enabled CLANG_WARN_INFINITE_RECURSION and CLANG_WARN_SUSPICIOUS_MOVE.
Source/WebCore:
- Configurations/Base.xcconfig: Enabled CLANG_WARN_INFINITE_RECURSION and CLANG_WARN_SUSPICIOUS_MOVE.
Source/WebKit/mac:
- Configurations/Base.xcconfig: Enabled CLANG_WARN_INFINITE_RECURSION and CLANG_WARN_SUSPICIOUS_MOVE.
Source/WebKit2:
- Configurations/Base.xcconfig: Enabled CLANG_WARN_INFINITE_RECURSION and CLANG_WARN_SUSPICIOUS_MOVE.
Source/WTF:
- Configurations/Base.xcconfig: Enabled CLANG_WARN_INFINITE_RECURSION and CLANG_WARN_SUSPICIOUS_MOVE.
Tools:
- DumpRenderTree/mac/Configurations/Base.xcconfig: Enabled CLANG_WARN_INFINITE_RECURSION and CLANG_WARN_SUSPICIOUS_MOVE.
- MiniBrowser/Configurations/Base.xcconfig: Ditto.
- TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
- WebKitTestRunner/Configurations/Base.xcconfig: Ditto.
- 1:12 PM Changeset in webkit [209087] by
-
- 19 edits in trunk/Source/WebCore
Address post-review feedback following r209070 (AppKit momentum scrolling adoption for scroll snapping)
https://bugs.webkit.org/show_bug.cgi?id=165147
Reviewed by Simon Fraser.
Addresses some additional review feedback after r209070, which adopts _NSScrollingMomentumCalculator for scroll
snapping. See individual changes below for more details. No new tests, since there is no behavior change.
- page/EventHandler.cpp:
(WebCore::handleWheelEventInAppropriateEnclosingBox):
(WebCore::EventHandler::defaultWheelEventHandler):
- page/Page.cpp:
(WebCore::Page::ensureTestTrigger):
- page/WheelEventDeltaFilter.cpp:
(WebCore::WheelEventDeltaFilter::filteredVelocity):
- page/WheelEventDeltaFilter.h:
- page/mac/WheelEventDeltaFilterMac.mm:
(WebCore::WheelEventDeltaFilterMac::updateFromDelta):
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateExpectsWheelEventTestTriggerWithFrameView):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::updateExpectsWheelEventTestTriggerWithFrameView):
Rather than force a complete layout pass when the Page first acquires a WheelEventTestTrigger, we now simply
have the scrolling coordinator update its frame node to expect a wheel event test trigger.
- page/scrolling/ScrollingMomentumCalculator.cpp:
(WebCore::ScrollingMomentumCalculator::ScrollingMomentumCalculator):
(WebCore::ScrollingMomentumCalculator::create):
(WebCore::BasicScrollingMomentumCalculator::BasicScrollingMomentumCalculator):
(WebCore::BasicScrollingMomentumCalculator::scrollOffsetAfterElapsedTime):
(WebCore::BasicScrollingMomentumCalculator::animationDuration):
(WebCore::BasicScrollingMomentumCalculator::initializeSnapProgressCurve):
(WebCore::BasicScrollingMomentumCalculator::animationProgressAfterElapsedTime):
- page/scrolling/ScrollingMomentumCalculator.h:
- page/scrolling/mac/ScrollingMomentumCalculatorMac.h:
- page/scrolling/mac/ScrollingMomentumCalculatorMac.mm:
(WebCore::ScrollingMomentumCalculator::create):
(WebCore::ScrollingMomentumCalculatorMac::ScrollingMomentumCalculatorMac):
(WebCore::ScrollingMomentumCalculatorMac::scrollOffsetAfterElapsedTime):
(WebCore::ScrollingMomentumCalculatorMac::animationDuration):
(WebCore::ScrollingMomentumCalculatorMac::ensurePlatformMomentumCalculator):
- platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::copyWithDeltasAndVelocity):
(WebCore::PlatformWheelEvent::scrollingVelocity):
Change scrolling velocity in PlatformWheelEvent to be a FloatSize instead of a FloatPoint. This change
propagates to the ScrollController, where state variables and arguments pertaining to scrolling velocity are
also now sizes instead of points.
- platform/cocoa/ScrollController.h:
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::scheduleStatelessScrollSnap):
- platform/cocoa/ScrollSnapAnimatorState.h:
- platform/cocoa/ScrollSnapAnimatorState.mm:
(WebCore::ScrollSnapAnimatorState::transitionToGlideAnimationState):
(WebCore::ScrollSnapAnimatorState::setupAnimationForState):
(WebCore::ScrollSnapAnimatorState::teardownAnimationForState):
(WebCore::ScrollSnapAnimatorState::currentAnimatedScrollOffset):
Refactor elapsed time to be Seconds instead of double. Additionally, use MonotonicTime::now() instead of
monotonicallyIncreasingTime(), and MonotonicTime instead of double for keeping track of the start time.
- platform/spi/mac/NSScrollingMomentumCalculatorSPI.h:
- 1:08 PM Changeset in webkit [209086] by
-
- 4 edits in trunk/Source/WebCore
IndexedDB 2.0: The client's transaction operation queue should flush as much to the server as possible.
https://bugs.webkit.org/show_bug.cgi?id=164932
Reviewed by Alex Christensen.
No new tests (No new test necessary, covered extensively by all existing tests).
Profiles showed that on tests with lots of rapid IDBRequests in a row, both the main thread and database
threads were largely idle.
The explanation was simple. Currently the client IDBTransaction queues up operations and only vends them out
to the server 1 at a time, waiting for the previous operation to complete.
While some operations do need to wait for the server to reply, by making the change to send most operations
(all operations with an associated IDBRequest) to the server without waiting we get rid of most of the idleness.
It is possible we can find a few other types of operations to send without waiting, but we haven't yet seen any
test case where they would show up on profiles.
Sending more than one operation at a time was actually a very small part of this change.
As many "edge case" regression tests revealed, we also needed to start having IDBTransaction track all of their
"in progress" operations such that they could be aborted on the client side in exceptional circumstances.
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::abortInProgressOperations): Abort's all in-progress operations (ones that have already
been sent to the server)
(WebCore::IDBTransaction::abortOnServerAndCancelRequests): Abort in-progress operations before pending ones.
(WebCore::IDBTransaction::operationTimerFired): If we just started an operation with an associated IDBRequest,
schedule the timer to send another one right away.
(WebCore::IDBTransaction::operationDidComplete):
(WebCore::IDBTransaction::connectionClosedFromServer): Abort in-progress operations before pending ones.
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/client/TransactionOperation.cpp:
(WebCore::IDBClient::TransactionOperation::TransactionOperation):
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::completed):
(WebCore::IDBClient::TransactionOperation::hasIDBRequest):
- 1:04 PM Changeset in webkit [209085] by
-
- 3 edits in trunk/Source/WebCore
[CSS Parser] Fix ::cue parsing
https://bugs.webkit.org/show_bug.cgi?id=165152
Reviewed by Zalan Bujtas.
- css/parser/CSSParserValues.h:
(WebCore::CSSParserSelector::setPseudoElementType):
- css/parser/CSSSelectorParser.cpp:
(WebCore::isOnlyPseudoClassFunction):
(WebCore::isOnlyPseudoElementFunction):
(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::isPseudoClassFunction): Deleted.
(WebCore::isPseudoElementFunction): Deleted.
- 11:46 AM Changeset in webkit [209084] by
-
- 2 edits in trunk/Source/WebCore
HTMLMediaElement::updateVolume should updateIsPlayingMedia
https://bugs.webkit.org/show_bug.cgi?id=165132
Reviewed by Darin Adler & Jer Noble.
HTMLMediaElement::mediaState takes the volume into account when determining whether media
is playing (audio is not considered to be playing if volume is 0). As such, any change to
the volume may require mediaState to be recomputed.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateVolume):
- 11:37 AM Changeset in webkit [209083] by
-
- 10 edits3 adds in trunk
Add simple way to implement Wasm ops that require more than one B3 opcode
https://bugs.webkit.org/show_bug.cgi?id=165129
Reviewed by Geoffrey Garen.
JSTests:
- wasm/function-tests/eqz.js: Added.
- wasm/function-tests/max.js: Added.
- wasm/function-tests/min.js: Added.
- wasm/wasm.json:
Source/JavaScriptCore:
This patch adds a simple way to show the B3IRGenerator opcode script how
to generate code for Wasm opcodes that do not have a one to one mapping.
The syntax is pretty simple right now. There are only three things one
can use as of this patch (although more things might be added in the future)
1) Wasm opcode arguments: These are referred to as @<argument_number>. For example,
I32.sub would map to Sub(@0, @1).
2) 32-bit int constants: These are reffered to as i32(<value>). For example, i32.inc
would map to Add(@0, i32(1))
3) B3 opcodes: These are referred to as the B3 opcode name followed by the B3Value's constructor
arguments. A value may take the result of another value as an argument. For example, you can do
Div(Mul(@0, Add(@0, i32(1))), i32(2)) if there was a b3 opcode that computed the sum from 1 to n.
These scripts are used to implement Wasm's eqz and floating point max/min opcodes. This patch
also adds missing support for the Wasm Neg opcodes.
- jsc.cpp:
(box):
(functionTestWasmModuleFunctions):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::toB3Op): Deleted.
- wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseBody):
- wasm/WasmModuleParser.cpp:
(JSC::Wasm::ModuleParser::parseType):
- wasm/WasmParser.h:
(JSC::Wasm::Parser::parseUInt8):
(JSC::Wasm::Parser::parseValueType):
- wasm/generateWasmB3IRGeneratorInlinesHeader.py:
(Source):
(Source.init):
(read):
(lex):
(CodeGenerator):
(CodeGenerator.init):
(CodeGenerator.advance):
(CodeGenerator.token):
(CodeGenerator.parseError):
(CodeGenerator.consume):
(CodeGenerator.generateParameters):
(CodeGenerator.generateOpcode):
(CodeGenerator.generate):
(temp):
(generateB3OpCode):
(generateI32ConstCode):
(generateB3Code):
(generateSimpleCode):
- wasm/wasm.json:
- 11:20 AM Changeset in webkit [209082] by
-
- 23 edits2 adds in trunk
[MediaStream] Don't request user permission for a device if it has already been granted in the current browsing context
https://bugs.webkit.org/show_bug.cgi?id=164760
Source/WebKit2:
<rdar://problem/29261266>
Reviewed by Youenn Fablet.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::FrameAuthorizationState::FrameAuthorizationState):
(WebKit::FrameAuthorizationState::hasPermissionToUseCaptureDevice):
(WebKit::FrameAuthorizationState::setHasPermissionToUseCaptureDevice):
(WebKit::FrameAuthorizationState::reset):
(WebKit::FrameAuthorizationState::securityOriginsAreEqual):
(WebKit::UserMediaPermissionRequestManagerProxy::stateForRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests):
(WebKit::UserMediaPermissionRequestManagerProxy::createRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied):
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted):
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
(WebKit::FrameAuthorizationState::~FrameAuthorizationState):
(WebKit::FrameAuthorizationState::frameID):
- UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy):
- UIProcess/UserMediaPermissionRequestProxy.h:
(WebKit::UserMediaPermissionRequestProxy::create):
(WebKit::UserMediaPermissionRequestProxy::frameID):
(WebKit::UserMediaPermissionRequestProxy::userMediaDocumentSecurityOrigin):
(WebKit::UserMediaPermissionRequestProxy::topLevelDocumentSecurityOrigin):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::removeMediaRequestFromMaps):
Tools:
<rdar://problem/29261266>
Reviewed by Youenn Fablet.
Allow scripts to determine the number of times the user has been prompted for capture device access.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin):
(WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin):
(WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin):
(WTR::InjectedBundle::setUserMediaPermissionForOrigin): Deleted.
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUserMediaPersistentPermissionForOrigin):
(WTR::TestRunner::userMediaPermissionRequestCountForOrigin):
(WTR::TestRunner::resetUserMediaPermissionRequestCountForOrigin):
(WTR::TestRunner::setUserMediaPermissionForOrigin): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::OriginSettings::incrementRequestCount):
(WTR::OriginSettings::resetRequestCount):
(WTR::OriginSettings::requestCount):
(WTR::TestController::saltForOrigin):
(WTR::TestController::setUserMediaPersistentPermissionForOrigin):
(WTR::TestController::handleCheckOfUserMediaPermissionForOrigin):
(WTR::TestController::settingsForOrigin):
(WTR::TestController::userMediaPermissionRequestCountForOrigin):
(WTR::TestController::resetUserMediaPermissionRequestCountForOrigin):
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible):
(WTR::TestController::setUserMediaPermissionForOrigin): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
Reviewed by Youenn Fablet.
- fast/mediastream/MediaDevices-getUserMedia-expected.txt:
- fast/mediastream/MediaDevices-getUserMedia.html:
- 11:15 AM Changeset in webkit [209081] by
-
- 1 edit2 adds in trunk/LayoutTests
Rebaseline fast/forms/validation-message-appearance.html for mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=165149
Unreviewed test gardening.
- platform/mac-wk1/fast/forms/validation-message-appearance-expected.txt: Added.
- 11:08 AM Changeset in webkit [209080] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in ProxyConstructor.cpp and ProxyObject.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165053
Reviewed by Saam Barati.
Also replaced returning JSValue() with returning { }.
- runtime/ProxyConstructor.cpp:
(JSC::constructProxyObject):
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::structureForTarget):
(JSC::performProxyGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::getOwnPropertySlotCommon):
(JSC::ProxyObject::performPut):
(JSC::ProxyObject::putByIndexCommon):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
- 11:02 AM Changeset in webkit [209079] by
-
- 2 edits in trunk/Source/WebCore
Avoid ref-count churn in ShadowParseContext::commitColor()
https://bugs.webkit.org/show_bug.cgi?id=165125
Reviewed by Simon Fraser.
Avoid ref-count churn in ShadowParseContext::commitColor() by moving the passed
color into its instance variable.
Also modified ShadowParseContext::commitColor() to take a Ref<> instead of a
RefPtr<> because it is never passed a nullptr.
- css/parser/CSSParser.cpp:
(WebCore::ShadowParseContext::commitColor):
- 10:53 AM Changeset in webkit [209078] by
-
- 2 edits in trunk/Source/WebCore
Avoid ref-count churn in CSSParser::ValueWithCalculation::setCalculation()
https://bugs.webkit.org/show_bug.cgi?id=165127
Reviewed by Simon Fraser.
Use WTFMove() to move the passed RefPtr into CSSParser::ValueWithCalculation::m_calculation
instead of copying it.
- css/parser/CSSParser.h:
(WebCore::CSSParser::ValueWithCalculation::setCalculation):
- 10:51 AM Changeset in webkit [209077] by
-
- 16 edits in trunk/Source/WebCore
CryptoAlgorithm::generateKey() should take lvalue reference to const CryptoAlgorithmParameters
https://bugs.webkit.org/show_bug.cgi?id=165111
Reviewed by Darin Adler.
CryptoAlgorithm::generateKey() and its overrides always expect to receive a non-null pointer
to a CryptoAlgorithmParameter object and never take ownership of it. This kind of relationship
is best expressed by modifying CryptoAlgorithm::generateKey() to take a lvalue reference to
a const CryptoAlgorithmParameter object.
- bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::jsSubtleCryptoFunctionGenerateKeyPromise):
- crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::generateKey):
- crypto/CryptoAlgorithm.h:
- crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::generateKey):
- crypto/algorithms/CryptoAlgorithmAES_CBC.h:
- crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
(WebCore::CryptoAlgorithmAES_KW::generateKey):
- crypto/algorithms/CryptoAlgorithmAES_KW.h:
- crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::generateKey):
- crypto/algorithms/CryptoAlgorithmHMAC.h:
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
- 10:40 AM Changeset in webkit [209076] by
-
- 8 edits14 adds in trunk
window.name leaks information across domains
https://bugs.webkit.org/show_bug.cgi?id=158216
<rdar://problem/14548481>
Reviewed by Brent Fulgham.
Source/WebCore:
When updating the history after a cross-origin navigation, the HTML Standard says:
"If the browsing context is a top-level browsing context, but not an auxiliary browsing
context, then set the browsing context's name to the empty string."
https://html.spec.whatwg.org/multipage/browsers.html#resetBCName
Tests: http/tests/security/window-name-after-cross-origin-aux-frame-navigation.html
http/tests/security/window-name-after-cross-origin-main-frame-navigation.html
http/tests/security/window-name-after-cross-origin-sub-frame-navigation.html
http/tests/security/window-name-after-same-origin-aux-frame-navigation.html
http/tests/security/window-name-after-same-origin-main-frame-navigation.html
http/tests/security/window-name-after-same-origin-sub-frame-navigation.html
- loader/FrameLoader.cpp:
(WebCore::shouldClearWindowName): Returns true if frame is a main frame with no opener and
newDocument does not have the same origin as the frame's current document.
(WebCore::FrameLoader::clear): Changed to set m_frame's name to nullAtom if
clearWindowProperties and shouldClearWindowName() are true.
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canAccessStorage): Changed to call isSameOriginAs() and check
m_universalAccess.
(WebCore::SecurityOrigin::isSameOriginAs): Renamed from isThirdParty(); removed the check
for m_universalAccess.
(WebCore::SecurityOrigin::isThirdParty): Renamed to isSameOriginAs().
- page/SecurityOrigin.h: Renamed isThirdParty() to isSameOriginAs() and made it public.
LayoutTests:
- fast/events/pageshow-pagehide-on-back-uncached-expected.txt: Updated to account for the
main frame no longer having a name.
- fast/events/pageshow-pagehide-on-back-uncached.html: Updated to use the History API
instead of relying on window.name being retained after a cross-origin navigation.
- fast/events/script-tests/onunload-back-to-page-cache.js:
(onpageshow): Ditto.
- http/tests/security/resources/log-window-name.html: Added.
- http/tests/security/resources/window-name-test.html: Added.
- http/tests/security/window-name-after-cross-origin-aux-frame-navigation-expected.txt: Added.
- http/tests/security/window-name-after-cross-origin-aux-frame-navigation.html: Added.
- http/tests/security/window-name-after-cross-origin-main-frame-navigation-expected.txt: Added.
- http/tests/security/window-name-after-cross-origin-main-frame-navigation.html: Added.
- http/tests/security/window-name-after-cross-origin-sub-frame-navigation-expected.txt: Added.
- http/tests/security/window-name-after-cross-origin-sub-frame-navigation.html: Added.
- http/tests/security/window-name-after-same-origin-aux-frame-navigation-expected.txt: Added.
- http/tests/security/window-name-after-same-origin-aux-frame-navigation.html: Added.
- http/tests/security/window-name-after-same-origin-main-frame-navigation-expected.txt: Added.
- http/tests/security/window-name-after-same-origin-main-frame-navigation.html: Added.
- http/tests/security/window-name-after-same-origin-sub-frame-navigation-expected.txt: Added.
- http/tests/security/window-name-after-same-origin-sub-frame-navigation.html: Added.
- 9:36 AM Changeset in webkit [209075] by
-
- 2 edits in trunk/Source/WebCore
[CSS Parser] Fix parsing of "all" in transitions
https://bugs.webkit.org/show_bug.cgi?id=165144
Reviewed by Dean Jackson.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeTransitionProperty):
- 9:18 AM Changeset in webkit [209074] by
-
- 2 edits in trunk/Source/WTF
REGRESSION (r209058): API test StringBuilderTest.Equal crashing
https://bugs.webkit.org/show_bug.cgi?id=165142
- wtf/text/StringBuilder.h: Added an overload of the equal function just
for the case where the arguments are StringBuilder, String. This is needed
because of the peculiar behavior of is8Bit in String, different from any of
our other string classes. I think we should consider changing String::is8Bit
to return true for null strings. We could then remove this overload and
probably remove other checks for null and zero length elsewhere that are
also needed only to avoid calling is8Bit on a null String.
- 9:16 AM Changeset in webkit [209073] by
-
- 4 edits in trunk/Tools
intersection-observer-entry-interface.html test fails on the bots
https://bugs.webkit.org/show_bug.cgi?id=165133
Reviewed by Darin Adler.
Tests that enabled Intersection Observer via <!-- webkit-test-runner [ enableIntersectionObserver=true ] -->
would fail sometimes, because TestController::ensureViewSupportsOptionsForTest() failed to check
to see if this option required creating a new web view, so would just use the old view without
even resetting preferences.
In general, TestController doesn't distinguish properly between options that require the creation
of a new view (like mock scrollbars), and those that can be simply reset as resetPreferencesToConsistentValues()
does.
Do the easy fix of having viewSupportsOptions() check options.enableIntersectionObserver. We should probably
just call resetPreferencesToConsistentValues() even when re-use the same view.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::viewSupportsOptions):
- WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::viewSupportsOptions):
- 9:14 AM Changeset in webkit [209072] by
-
- 2 edits in trunk/Source/WebCore
[CSS Parser] Fix @page rule parsing
https://bugs.webkit.org/show_bug.cgi?id=165143
Reviewed by Zalan Bujtas.
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::parsePageSelector):
- 8:58 AM Changeset in webkit [209071] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, fix the build after r209070
-[ScrollingMomentumCalculatorMac calculateToReachDestination] is only available on Sierra.
- page/scrolling/mac/ScrollingMomentumCalculatorMac.mm:
(WebCore::ScrollingMomentumCalculatorMac::ensurePlatformMomentumCalculator):
- platform/spi/mac/NSScrollingMomentumCalculatorSPI.h:
- 8:10 AM Changeset in webkit [209070] by
-
- 27 edits1 copy6 adds in trunk
Scroll snapping on Mac should use AppKit animations
https://bugs.webkit.org/show_bug.cgi?id=147261
<rdar://problem/29395293>
Reviewed by Brent Fulgham.
Source/WebCore:
Refactors the scroll snapping animation logic to support arbitrary scrolling momentum calculators and
introduces ScrollingMomentumCalculatorMac, which wraps AppKit's _NSScrollingMomentumCalculator. On macOS El
Capitan and later, we use the platform scrolling momentum calculator and for all other cases, we fall back to
the preexissting platform-invariant momentum calculator.
Previously, the scroll snapping animation logic was shared between the ScrollSnapAnimatorState and
ScrollController -- namely, the ScrollController would update various parameters of the ScrollSnapAnimatorState
and then tell it to compute animation-specific constants and coefficients. After this patch, ScrollController
will no longer directly set the ScrollSnapAnimatorState's member variables. Instead, it will tell the animator
state to transition to a new ScrollSnapState with the necessary parameters, and the ScrollSnapAnimatorState is
responsible for modifying itself accordingly. Furthermore, logic pertaining to computing animated scroll offsets
is now split out into a new ScrollingMomentumCalculator, which may have different platform-dependent
implementations. The correct calculator is initialized via ScrollingMomentumCalculator::create, which currently
returns a ScrollingMomentumCalculatorMac on El Capitan and later, and a BasicScrollingMomentumCalculator
otherwise.
The new abstracted ScrollingMomentumCalculator is initialized with various parameters describing the scrolled
content and viewport, as well as the initial and target scrolling offsets. The momentum calculator is then able
to compute the animated scroll offset at any given elapsed time, as well as the total duration of the snapping
animation. The ScrollController's scroll snap timer uses this information (via the ScrollSnapAnimatorState) to
animate its client's scroll offset during a snap or glide.
Also reenables 8 failing and/or flaky scroll snapping tests and adds a new layout test. This patch addresses
two causes for failures and flakiness in these scroll snapping tests:
- When starting or stopping the scroll snap animation timer, we call deferTestsForReason and
removeTestDeferralForReason, respectively. These were actually noops for the first simulated scroll gesture
on each of the failing mainframe scrolling tests due to m_expectsWheelEventTestTrigger being false. This
member variable is updated when AsyncScrollingCoordinator::frameViewLayoutUpdated is invoked, wherein we
call ScrollingStateFrameScrollingNode::setExpectsWheelEventTestTrigger(true) when the test has started
monitoring wheel events. However, if this does not happen before scrolling begins in the test (which is the
case here), then the mainframe scrolling node will not expect a wheel event test trigger even though
eventSender.monitorWheelEvents() has been called. To fix this, we simply make the Page trigger a layout of
the main FrameView when first ensuring the wheel event test trigger on the Page.
- The second reason for flakiness affects both overflow and mainframe scrolling. Previously, due to the way
we would wait for multiple momentum scroll events before starting to glide, we would end up starting the
scroll snap timer for a snapping animation, stopping it, and then starting it again for the glide animation.
Thus, if the wheel event test trigger's timer fires right after the scroll snap timer stops and before it
starts again due to a glide animation, it will erroneously think that scroll snapping is complete, even
though it's only just about to begin! Now that we know scrolling velocity when we receive the initial
"momentum begin", we now directly transition the scroll snap state from a snapping state to a gliding state
and no longer stop and start the timer during this transition, which means that the test trigger will be
deferred for at least the entire duration of the scroll snapping animation (starting right after the first
"drag end" wheel event).
Test: tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-vertical-then-horizontal.html
- WebCore.xcodeproj/project.pbxproj:
- page/EventHandler.cpp:
(WebCore::handleWheelEventInAppropriateEnclosingBox):
(WebCore::EventHandler::defaultWheelEventHandler):
- page/Page.cpp:
(WebCore::Page::ensureTestTrigger):
Addresses test failures by forcing the mainframe scrolling node to expect wheel event test triggers.
- page/WheelEventDeltaFilter.cpp:
(WebCore::WheelEventDeltaFilter::create):
(WebCore::WheelEventDeltaFilter::filteredVelocity):
- page/WheelEventDeltaFilter.h:
- page/mac/WheelEventDeltaFilterMac.mm:
(WebCore::WheelEventDeltaFilterMac::updateFromDelta):
Add support for plumbing filtered scrolling velocity over to the ScrollController.
- page/scrolling/ScrollingMomentumCalculator.cpp: Copied from Source/WebCore/platform/cocoa/ScrollSnapAnimatorState.mm.
(WebCore::ScrollingMomentumCalculator::ScrollingMomentumCalculator):
(WebCore::ScrollingMomentumCalculator::create):
Creates a platform-independent BasicScrollingMomentumCalculator.
(WebCore::BasicScrollingMomentumCalculator::BasicScrollingMomentumCalculator):
(WebCore::BasicScrollingMomentumCalculator::linearlyInterpolatedOffsetAtProgress):
(WebCore::BasicScrollingMomentumCalculator::cubicallyInterpolatedOffsetAtProgress):
(WebCore::BasicScrollingMomentumCalculator::scrollOffsetAfterElapsedTime):
(WebCore::BasicScrollingMomentumCalculator::animationDuration):
(WebCore::BasicScrollingMomentumCalculator::initializeInterpolationCoefficientsIfNecessary):
(WebCore::BasicScrollingMomentumCalculator::initializeSnapProgressCurve):
(WebCore::BasicScrollingMomentumCalculator::animationProgressAfterElapsedTime):
Interpolation logic ported over from ScrollSnapAnimatorState.
- page/scrolling/ScrollingMomentumCalculator.h: Added.
(WebCore::ScrollingMomentumCalculator::~ScrollingMomentumCalculator):
- page/scrolling/mac/ScrollingMomentumCalculatorMac.h: Copied from Source/WebCore/page/WheelEventDeltaFilter.h.
- page/scrolling/mac/ScrollingMomentumCalculatorMac.mm: Added.
(WebCore::ScrollingMomentumCalculator::create):
Creates a ScrollingMomentumCalculatorMac.
(WebCore::ScrollingMomentumCalculatorMac::ScrollingMomentumCalculatorMac):
(WebCore::ScrollingMomentumCalculatorMac::scrollOffsetAfterElapsedTime):
(WebCore::ScrollingMomentumCalculatorMac::animationDuration):
(WebCore::ScrollingMomentumCalculatorMac::ensurePlatformMomentumCalculator):
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffset):
(WebCore::ScrollingTreeFrameScrollingNodeMac::viewportSize):
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffsetOnAxis): Deleted.
- platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::copyWithDeltasAndVelocity):
(WebCore::PlatformWheelEvent::scrollingVelocity):
(WebCore::PlatformWheelEvent::copyWithDeltas): Deleted.
- platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scrollOffset):
(WebCore::ScrollAnimator::viewportSize):
(WebCore::ScrollAnimator::scrollOffsetOnAxis): Deleted.
- platform/ScrollAnimator.h:
- platform/cocoa/ScrollController.h:
- platform/cocoa/ScrollController.mm:
(WebCore::otherScrollEventAxis):
(WebCore::ScrollController::ScrollController):
(WebCore::ScrollController::shouldOverrideInertialScrolling):
(WebCore::ScrollController::scheduleStatelessScrollSnap):
(WebCore::ScrollController::statelessSnapTransitionTimerFired):
(WebCore::ScrollController::startDeferringTestsDueToScrollSnapping):
(WebCore::ScrollController::stopDeferringTestsDueToScrollSnapping):
(WebCore::ScrollController::processWheelEventForScrollSnap):
(WebCore::ScrollController::updateScrollSnapState):
(WebCore::ScrollController::updateScrollSnapPoints):
Update the ScrollController's ScrollSnapAnimationState for both vertical and horizontal axes. If both axes lack
any snap points, the pointer to the animation state will be nulled out; otherwise, the animation state will
exist.
(WebCore::ScrollController::startScrollSnapTimer):
(WebCore::ScrollController::stopScrollSnapTimer):
(WebCore::ScrollController::scrollSnapTimerFired):
(WebCore::ScrollController::activeScrollSnapIndexForAxis):
(WebCore::ScrollController::setActiveScrollSnapIndexForAxis):
(WebCore::ScrollController::setNearestScrollSnapIndexForAxisAndOffset):
(WebCore::ScrollController::setActiveScrollSnapIndicesForOffset):
(WebCore::ScrollController::scrollSnapPointState): Deleted.
(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Deleted.
(WebCore::ScrollController::shouldOverrideWheelEvent): Deleted.
(WebCore::projectedInertialScrollDistance): Deleted.
(WebCore::ScrollController::beginScrollSnapAnimation): Deleted.
(WebCore::ScrollController::endScrollSnapAnimation): Deleted.
(WebCore::ScrollController::initializeScrollSnapAnimationParameters): Deleted.
(WebCore::ScrollController::isSnappingOnAxis): Deleted.
- platform/cocoa/ScrollSnapAnimatorState.h:
(WebCore::ScrollSnapAnimatorState::snapOffsetsForAxis):
(WebCore::ScrollSnapAnimatorState::setSnapOffsetsForAxis):
(WebCore::ScrollSnapAnimatorState::currentState):
(WebCore::ScrollSnapAnimatorState::activeSnapIndexForAxis):
(WebCore::ScrollSnapAnimatorState::setActiveSnapIndexForAxis):
- platform/cocoa/ScrollSnapAnimatorState.mm:
(WebCore::projectedInertialScrollDistance):
(WebCore::ScrollSnapAnimatorState::transitionToSnapAnimationState):
(WebCore::ScrollSnapAnimatorState::transitionToGlideAnimationState):
(WebCore::ScrollSnapAnimatorState::transitionToUserInteractionState):
(WebCore::ScrollSnapAnimatorState::transitionToDestinationReachedState):
These methods are used to update the ScrollSnapAnimationState. These state transitions should (and do)
encapsulate all changes that need to be made to the animation state; in other words, the ScrollController should
no longer be reaching directly into the ScrollSnapAnimatorState to change member variables.
(WebCore::ScrollSnapAnimatorState::setupAnimationForState):
(WebCore::ScrollSnapAnimatorState::teardownAnimationForState):
(WebCore::ScrollSnapAnimatorState::currentAnimatedScrollOffset):
(WebCore::ScrollSnapAnimatorState::targetOffsetForStartOffset):
(WebCore::ScrollSnapAnimatorState::ScrollSnapAnimatorState): Deleted.
(WebCore::ScrollSnapAnimatorState::pushInitialWheelDelta): Deleted.
(WebCore::ScrollSnapAnimatorState::averageInitialWheelDelta): Deleted.
(WebCore::ScrollSnapAnimatorState::clearInitialWheelDeltaWindow): Deleted.
(WebCore::ScrollSnapAnimatorState::isSnapping): Deleted.
(WebCore::ScrollSnapAnimatorState::canReachTargetWithCurrentInitialScrollDelta): Deleted.
(WebCore::ScrollSnapAnimatorState::wheelDeltaTrackingIsInProgress): Deleted.
(WebCore::ScrollSnapAnimatorState::hasFinishedTrackingWheelDeltas): Deleted.
(WebCore::ScrollSnapAnimatorState::interpolatedOffsetAtProgress): Deleted.
(WebCore::ScrollSnapAnimationCurveState::initializeSnapProgressCurve): Deleted.
(WebCore::ScrollSnapAnimationCurveState::initializeInterpolationCoefficientsIfNecessary): Deleted.
(WebCore::ScrollSnapAnimationCurveState::interpolatedPositionAtProgress): Deleted.
(WebCore::ScrollSnapAnimationCurveState::shouldCompleteSnapAnimationImmediatelyAtTime): Deleted.
(WebCore::ScrollSnapAnimationCurveState::animationProgressAtTime): Deleted.
The ScrollSnapAnimatorState now tracks state across both axes. This simplifies coordinating scroll snapping in
both horizontal and vertical axes and fixes the issue of the scroll offset not snapping when performing a scroll
in one direction without momentum, then scrolling with momentum in the other direction in a single gesture.
- platform/spi/mac/NSScrollingMomentumCalculatorSPI.h: Added.
Source/WebKit2:
Add some logic to plumb filtered wheel velocity over to WebCore in the case of mainframe scrolling. See
WebCore/ChangeLog for more details.
- WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
Source/WTF:
Introduce HAVE(NSSCROLLING_FILTERS), which is on for macOS El Capitan and later.
- wtf/Platform.h:
LayoutTests:
Fixes 8 previously failing scroll snapping tests in the tiled-drawing/scrolling/scroll-snap directory and
removes them from TestExpectations. Also adds a new layout test. See WebCore/ChangeLog for more details.
- platform/mac-wk2/TestExpectations:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow-expected.txt:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders-expected.txt:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal.html:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical.html:
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-then-horizontal-expected.txt: Added.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-then-horizontal.html: Added.
- tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html:
- 8:05 AM Changeset in webkit [209069] by
-
- 11 edits in trunk
IndexedDB 2.0: Queue up completed requests in the client, handle them one by one.
https://bugs.webkit.org/show_bug.cgi?id=165000
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Covered extensively by every existing test).
Currently when a TransactionOperation completes on the server, it immediately completes
itself on the client side, including scheduling an event dispatch if necessary.
This patch changes it so that "server completed operations" instead queue up in the
IDBTransaction and are "client-side completed" asynchronously, 1-by-1.
Currently this is a "no behavior change" because only one operation is ever sent to
the server at a time.
But that will change with https://webkit.org/b/164932
And this patch is a pre-requisite for that.
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):
(WebCore::IDBRequest::didOpenOrIterateCursor):
(WebCore::IDBRequest::completeRequestAndDispatchEvent):
(WebCore::IDBRequest::requestCompleted): Deleted.
- Modules/indexeddb/IDBRequest.h:
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::internalAbort):
(WebCore::IDBTransaction::abortOnServerAndCancelRequests):
(WebCore::IDBTransaction::scheduleOperation):
(WebCore::IDBTransaction::schedulePendingOperationTimer):
(WebCore::IDBTransaction::pendingOperationTimerFired):
(WebCore::IDBTransaction::operationCompletedOnServer):
(WebCore::IDBTransaction::scheduleCompletedOperationTimer):
(WebCore::IDBTransaction::completedOperationTimerFired):
(WebCore::IDBTransaction::completeNoncursorRequest):
(WebCore::IDBTransaction::completeCursorRequest):
(WebCore::IDBTransaction::finishedDispatchEventForRequest):
(WebCore::IDBTransaction::didStart):
(WebCore::IDBTransaction::didOpenCursorOnServer):
(WebCore::IDBTransaction::didIterateCursorOnServer):
(WebCore::IDBTransaction::didGetAllRecordsOnServer):
(WebCore::IDBTransaction::didGetRecordOnServer):
(WebCore::IDBTransaction::didGetCountOnServer):
(WebCore::IDBTransaction::didDeleteRecordOnServer):
(WebCore::IDBTransaction::didClearObjectStoreOnServer):
(WebCore::IDBTransaction::putOrAddOnServer):
(WebCore::IDBTransaction::didPutOrAddOnServer):
(WebCore::IDBTransaction::operationCompletedOnClient):
(WebCore::IDBTransaction::deactivate):
(WebCore::IDBTransaction::connectionClosedFromServer):
(WebCore::IDBTransaction::scheduleOperationTimer): Deleted.
(WebCore::IDBTransaction::operationTimerFired): Deleted.
(WebCore::IDBTransaction::operationDidComplete): Deleted.
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::completeOperation):
- Modules/indexeddb/client/TransactionOperation.cpp:
(WebCore::IDBClient::TransactionOperation::TransactionOperation):
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::transitionToCompleteOnThisThread):
(WebCore::IDBClient::TransactionOperation::transitionToComplete):
(WebCore::IDBClient::TransactionOperation::doComplete):
(WebCore::IDBClient::TransactionOperation::idbRequest):
(WebCore::IDBClient::TransactionOperation::performCompleteOnOriginThread): Deleted.
(WebCore::IDBClient::TransactionOperation::completed): Deleted.
LayoutTests:
- storage/indexeddb/modern/resources/transaction-scheduler-6.js: This test had a bug which was masked by previously synchronous behavior. Fix that bug!
- 8:04 AM Changeset in webkit [209068] by
-
- 3 edits4 adds in trunk
Safari (WebKit) doesn't wrap element within flex when width comes below min-width
https://bugs.webkit.org/show_bug.cgi?id=136041
<rdar://problem/25569370>
Reviewed by Darin Adler.
Source/WebCore:
While figuring out whether a particular flex item fits the current line, we need to take
the min-width into account too. This matches both FF and Chrome behaviour.
Tests: fast/flexbox/flex-wrap-when-min-widht-is-set-1.html
fast/flexbox/flex-wrap-when-min-widht-is-set-2.html
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeNextFlexLine):
LayoutTests:
- fast/flexbox/flex-wrap-when-min-widht-is-set-1-expected.html: Added.
- fast/flexbox/flex-wrap-when-min-widht-is-set-1.html: Added.
- fast/flexbox/flex-wrap-when-min-widht-is-set-2-expected.html: Added.
- fast/flexbox/flex-wrap-when-min-widht-is-set-2.html: Added.
- 6:02 AM Changeset in webkit [209067] by
-
- 7 edits in trunk/Source/WebKit2
Web Automation: add ObjC SPI to set whether a page is controlled by automation
https://bugs.webkit.org/show_bug.cgi?id=165001
<rdar://problem/29350432>
Reviewed by Dan Bernstein.
Add SPI property to WKWebViewConfiguration and plumb it through to
initialize WebPageProxy::m_controlledByAutomation. This is propagated
to the WebProcess on creation via WebPageCreationParameters.
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy):
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::isControlledByAutomation):
(API::PageConfiguration::setControlledByAutomation):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _isControlledByAutomation]):
(-[WKWebViewConfiguration _setControlledByAutomation:]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
- 4:57 AM Changeset in webkit [209066] by
-
- 2 edits in trunk/Source/WebCore
Try to fix win/gtk build.
- style/StyleUpdate.h:
(WebCore::Style::ElementUpdate::ElementUpdate):
Add explicit constructor for compilers that don't support C++14 list initialization correctly.
- 2:59 AM Changeset in webkit [209065] by
-
- 6 edits2 adds in trunk
Slotted nodes ignore transition
https://bugs.webkit.org/show_bug.cgi?id=160866
<rdar://problem/29231901>
Reviewed by Sam Weinig.
Source/WebCore:
The problem is that slot (display:contents) always triggers full render tree rebuild when something
changes in the slotted subtree. This causes animation to jump to end (may be another bug).
Test: fast/shadow-dom/shadow-host-transition.html
- style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::updateBeforeOrAfterPseudoElement):
- style/StyleChange.h:
Rearrange so the strongest ('Detach') is the highest.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
If style was display:contents and stays that way, use 'Inherit' StyleChange which doesn't force render tree rebuild.
Refactor more of the functionality to createAnimatedElementUpdate.
- style/StyleTreeResolver.h:
LayoutTests:
- fast/shadow-dom/shadow-host-transition-expected.html: Added.
- fast/shadow-dom/shadow-host-transition.html: Added.
Nov 28, 2016:
- 11:34 PM Changeset in webkit [209064] by
-
- 7 edits in trunk/Source/WebCore
[GTK] Crash in WebCore::PlatformDisplayX11::supportsXComposite when running under Wayland
https://bugs.webkit.org/show_bug.cgi?id=164917
Reviewed by Michael Catanzaro.
WebKitGTK+ appplications are expected to call gtk_init(), because WebKitGTK+, like GTK+ itself, requires a
display to work. We currently fallback to create a X11 display when X11 is enabled in cases where GTK+ doesn't
have a default display (gtk_init() wasn't called or failed). That's why we end up creating an X11 display under
Wayland when both Wayland and X11 option are enabled. The code assumes X11 display creation will always work if
X11 is enabled, but that's not true now that we support also Wayland at runtime. So, we should try to get a
native display before creating the PlatformDisplay. Rendering will not work in any case when gtk_init() is not
called, but in most of the cases those applications are not actually going to render anything, so this way at
least we will not crash.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::createPlatformDisplay): Use create() method for X11 and Wayland if we couldn't get a
native display from GTK+. If everything fails create a display with no native.
(WebCore::PlatformDisplay::PlatformDisplay): Add NativeDisplayOwned parameter.
- platform/graphics/PlatformDisplay.h:
- platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::create): Try to create a native Wayland display or return nullptr.
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland): Initialize NativeDisplayOwned parameter.
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland): Destroy the display if owned.
(WebCore::PlatformDisplayWayland::initialize): Return early if native display is nullptr.
- platform/graphics/wayland/PlatformDisplayWayland.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::create): Try to create a native X11 display or return nullptr.
(WebCore::PlatformDisplayX11::PlatformDisplayX11): Use NativeDisplayOwned now.
(WebCore::PlatformDisplayX11::~PlatformDisplayX11): Ditto.
- platform/graphics/x11/PlatformDisplayX11.h:
- 11:27 PM Changeset in webkit [209063] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] BadDamage X Window System error in WebKit::AcceleratedBackingStoreX11::update when called from WebPageProxy::exitAcceleratedCompositingMode
https://bugs.webkit.org/show_bug.cgi?id=164303
Reviewed by Michael Catanzaro.
Trap also BadDrawable and BadDamage X errors when creating the surface and damage.
- UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
(WebKit::AcceleratedBackingStoreX11::update):
- 11:08 PM Changeset in webkit [209062] by
-
- 24 edits2 adds in trunk
Web Inspector: Debugger should have an option for showing asynchronous call stacks
https://bugs.webkit.org/show_bug.cgi?id=163230
<rdar://problem/28698683>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/ScriptCallFrame.cpp:
(Inspector::ScriptCallFrame::isNative):
Encapsulate check for native code source URL.
- inspector/ScriptCallFrame.h:
- inspector/ScriptCallStack.cpp:
(Inspector::ScriptCallStack::firstNonNativeCallFrame):
(Inspector::ScriptCallStack::buildInspectorArray):
- inspector/ScriptCallStack.h:
Replace use of Console::StackTrace with Array<Console::CallFrame>.
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::disable):
(Inspector::InspectorDebuggerAgent::setAsyncStackTraceDepth):
Set number of async frames to store (including boundary frames).
A value of zero disables recording of async call stacks.
(Inspector::InspectorDebuggerAgent::buildAsyncStackTrace):
Helper function for building a linked list StackTraces.
(Inspector::InspectorDebuggerAgent::didScheduleAsyncCall):
Store a call stack for the script that scheduled the async call.
If the call repeats (e.g. setInterval), the starting reference count is
set to 1. This ensures that dereffing after dispatch won't clear the stack.
If another async call is currently being dispatched, increment the
AsyncCallData reference count for that call.
(Inspector::InspectorDebuggerAgent::didCancelAsyncCall):
Decrement the reference count for the canceled call.
(Inspector::InspectorDebuggerAgent::willDispatchAsyncCall):
Set the identifier for the async callback currently being dispatched,
so that if the debugger pauses during dispatch a stack trace can be
associated with the pause location. If an async call is already being
dispatched, which could be the case when a script schedules an async
call in a nested runloop, do nothing.
(Inspector::InspectorDebuggerAgent::didDispatchAsyncCall):
Decrement the reference count for the canceled call.
(Inspector::InspectorDebuggerAgent::didPause):
If a stored stack trace exists for this location, convert to a protocol
object and send to the frontend.
(Inspector::InspectorDebuggerAgent::didClearGlobalObject):
(Inspector::InspectorDebuggerAgent::clearAsyncStackTraceData):
(Inspector::InspectorDebuggerAgent::refAsyncCallData):
Increment AsyncCallData reference count.
(Inspector::InspectorDebuggerAgent::derefAsyncCallData):
Decrement AsyncCallData reference count. If zero, deref its parent
(if it exists) and remove the AsyncCallData entry.
- inspector/agents/InspectorDebuggerAgent.h:
- inspector/protocol/Console.json:
- inspector/protocol/Network.json:
Replace use of Console.StackTrace with array of Console.CallFrame.
- inspector/protocol/Debugger.json:
New protocol command and event data.
Source/WebCore:
Test: inspector/debugger/async-stack-trace.html
- inspector/InspectorInstrumentation.cpp:
(WebCore::didScheduleAsyncCall):
Helper function used by by instrumentation hooks. Informs the debugger
agent that an asynchronous call was scheduled for the current script
execution state.
(WebCore::InspectorInstrumentation::didInstallTimerImpl):
(WebCore::InspectorInstrumentation::didRemoveTimerImpl):
(WebCore::InspectorInstrumentation::willFireTimerImpl):
(WebCore::InspectorInstrumentation::didFireTimerImpl):
Asynchronous stack trace plumbing for timers (setTimeout, setInterval).
(WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
(WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
(WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
(WebCore::InspectorInstrumentation::didFireAnimationFrameImpl):
Asynchronous stack trace plumbing for requestAnimationFrame.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
New string for generic async call stack boundary label: "(async)".
- UserInterface/Controllers/DebuggerManager.js:
Create async stack depth setting and set default depth.
(WebInspector.DebuggerManager.prototype.get asyncStackTraceDepth):
(WebInspector.DebuggerManager.prototype.set asyncStackTraceDepth):
Make async stack depth setting accessible to the frontend.
(WebInspector.DebuggerManager.prototype.initializeTarget):
Set async stack depth value on the target.
(WebInspector.DebuggerManager.prototype.debuggerDidPause):
Plumbing for the async stack trace payload.
- UserInterface/Models/ConsoleMessage.js:
(WebInspector.ConsoleMessage):
Updated for new StackTrace.fromPayload use.
- UserInterface/Models/DebuggerData.js:
(WebInspector.DebuggerData):
(WebInspector.DebuggerData.prototype.get asyncStackTrace):
(WebInspector.DebuggerData.prototype.updateForPause):
(WebInspector.DebuggerData.prototype.updateForResume):
More plumbing.
- UserInterface/Models/StackTrace.js:
Update frontend model for use as new protocol object Console.StackTrace,
which was previously an alias for a simple array of Console.CallFrames.
(WebInspector.StackTrace):
(WebInspector.StackTrace.fromPayload):
(WebInspector.StackTrace.fromString):
(WebInspector.StackTrace.prototype.get topCallFrameIsBoundary):
(WebInspector.StackTrace.prototype.get parentStackTrace):
- UserInterface/Protocol/DebuggerObserver.js:
(WebInspector.DebuggerObserver.prototype.paused):
More plumbing.
- UserInterface/Views/CallFrameTreeElement.css:
(.tree-outline .item.call-frame.async-boundary):
Use default cursor since boundary element is not selectable.
(.tree-outline .item.call-frame.async-boundary .icon):
(.tree-outline .item.call-frame.async-boundary::before,):
(.tree-outline .item.call-frame.async-boundary::after):
(.tree-outline .item.call-frame.async-boundary::before):
Dimmed text and divider line styles for boundary element.
- UserInterface/Views/CallFrameTreeElement.js:
(WebInspector.CallFrameTreeElement):
Add a flag denoting whether the call frame is an async call trace
boundary, and set styles accordingly.
- UserInterface/Views/DebuggerSidebarPanel.js:
Set async stack trace depth, if supported.
(WebInspector.DebuggerSidebarPanel.prototype._updateSingleThreadCallStacks):
Add call frames for async stack traces to the call stack TreeOutline.
(WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
Ensure that async call frames cannot become the active call frame.
- UserInterface/Views/Variables.css:
(:root):
Add --text-color-gray-medium, for dimmed text in async boundary element.
LayoutTests:
Add basic tests for async stack trace data included in Debugger.paused, and
check that requestAnimationFrame, setTimeout, and setInterval are supported.
- inspector/debugger/async-stack-trace-expected.txt: Added.
- inspector/debugger/async-stack-trace.html: Added.
- 9:49 PM Changeset in webkit [209061] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, followup patch after r209059.
- crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
- crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
- crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
- 9:37 PM Changeset in webkit [209060] by
-
- 2 edits in trunk/Source/WebKit2
[Mac][WK2] Enable HTML interactive form validation
https://bugs.webkit.org/show_bug.cgi?id=165123
<rdar://problem/28944652>
Reviewed by Simon Fraser.
Enable HTML interactive form validation now that we have a native UI
for it.
- Shared/WebPreferencesDefinitions.h:
- 8:49 PM Changeset in webkit [209059] by
-
- 4 edits in trunk/Source/WebCore
ASSERTION FAILED: m_scriptExecutionContext->isContextThread() seen with LayoutTest crypto/subtle/rsa-oaep-generate-key-encrypt-decrypt.html
https://bugs.webkit.org/show_bug.cgi?id=165124
<rdar://problem/29413805>
Reviewed by Daniel Bates.
We should only dereference callbacks after being back to the Document/Worker threads as
it might destroy promises in the work queue which will then trigger the assertion.
Covered by existing tests.
- crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
- crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
- crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
- 8:29 PM Changeset in webkit [209058] by
-
- 40 edits in trunk/Source
Streamline and speed up tokenizer and segmented string classes
https://bugs.webkit.org/show_bug.cgi?id=165003
Reviewed by Sam Weinig.
Source/JavaScriptCore:
- runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue): Use viewWithUnderlyingString when calling
StringBuilder::appendQuotedJSONString, since it now takes a StringView and there is
no benefit in creating a String for that function if one doesn't already exist.
Source/WebCore:
Profiling Speedometer on my iMac showed the tokenizer as one of the
hottest functions. This patch streamlines the segmented string class,
removing various unused features, and also improves some other functions
seen on the Speedometer profile. On my iMac I measured a speedup of
about 3%. Changes include:
- Removed m_pushedChar1, m_pushedChar2, and m_empty data members from the SegmentedString class and all the code that used to handle them.
- Simplified the SegmentedString advance functions so they are small enough to get inlined in the HTML tokenizer.
- Updated callers to call the simpler SegmentedString advance functions that don't handle newlines in as many cases as possible.
- Cut down on allocations of SegmentedString and made code move the segmented string and the strings that are moved into it rather than copying them whenever possible.
- Simplified segmented string functions, removing some branches, mostly from the non-fast paths.
- Removed small unused functions and small functions used in only one or two places, made more functions private and renamed for clarity.
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::documentWrite): Moved a little more of the common code in here
from the two functions belwo. Removed obsolete comment saying this was not
following the DOM specification because it is. Removed unneeded special
cases for 1 argument and no arguments. Take a reference instead of a pointer.
(WebCore::JSHTMLDocument::write): Updated for above.
(WebCore::JSHTMLDocument::writeln): Ditto.
- css/parser/CSSTokenizer.cpp: Added now-needed include.
- css/parser/CSSTokenizer.h: Removed unneeded include.
- css/parser/CSSTokenizerInputStream.h: Added definition of kEndOfFileMarker
here; this is now separate from the use in the HTMLParser. In the long run,
unclear to me whether it is really needed in either.
- dom/Document.cpp:
(WebCore::Document::prepareToWrite): Added. Helper function used by the three
different variants of write. Using this may prevent us from having to construct
a SegmentedString just to append one string after future refactoring.
(WebCore::Document::write): Updated to take an rvalue reference and move the
value through.
(WebCore::Document::writeln): Use a single write call instead of two.
- dom/Document.h: Changed write to take an rvalue reference to SegmentedString
rather than a const reference.
- dom/DocumentParser.h: Changed insert to take an rvalue reference to
SegmentedString. In the future, should probably overload to take a single
string since that is the normal case.
- dom/RawDataDocumentParser.h: Updated for change to DocumentParser.
- html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::append): Refactored a bit, just enough
so that we don't need an assignment operator for SegmentedString that can
copy a String.
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::insert): Updated to take an rvalue reference,
and move the value through.
- html/parser/HTMLDocumentParser.h: Updated for the above.
- html/parser/HTMLEntityParser.cpp:
(WebCore::HTMLEntityParser::consumeNamedEntity): Updated for name changes.
Changed the twao calls to advance here to call advancePastNonNewline; no
change in behavior, but asserts what the code was assuming before, that the
character was not a newline.
- html/parser/HTMLInputStream.h:
(WebCore::HTMLInputStream::appendToEnd): Updated to take an rvalue reference,
and move the value through.
(WebCore::HTMLInputStream::insertAtCurrentInsertionPoint): Ditto.
(WebCore::HTMLInputStream::markEndOfFile): Removed the code to construct a
SegmentedString, overkill since we can just append an individual string.
(WebCore::HTMLInputStream::splitInto): Rewrote the move idiom here to actually
use move, which will reduce reference count churn and other unneeded work.
- html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::checkForMetaCharset): Removed unneeded
construction of a SegmentedString, just to append a string.
- html/parser/HTMLSourceTracker.cpp:
(WebCore::HTMLSourceTracker::HTMLSourceTracker): Moved to the class definition.
(WebCore::HTMLSourceTracker::source): Updated for function name change.
- html/parser/HTMLSourceTracker.h: Updated for above.
- html/parser/HTMLTokenizer.cpp: Added now-needed include.
(WebCore::HTMLTokenizer::emitAndResumeInDataState): Use advancePastNonNewline,
since this function is never called in response to a newline character.
(WebCore::HTMLTokenizer::commitToPartialEndTag): Ditto.
(WebCore::HTMLTokenizer::commitToCompleteEndTag): Ditto.
(WebCore::HTMLTokenizer::processToken): Use ADVANCE_PAST_NON_NEWLINE_TO macro
instead of ADVANCE_TO in cases where the character we are advancing past is
known not to be a newline, so we can use the more efficient advance function
that doesn't check for the newline character.
- html/parser/InputStreamPreprocessor.h: Moved kEndOfFileMarker to
SegmentedString.h; not sure that's a good place for it either. In the long run,
unclear to me whether this is really needed.
(WebCore::InputStreamPreprocessor::peek): Added UNLIKELY for the empty check.
Added LIKELY for the not-special character check.
(WebCore::InputStreamPreprocessor::advance): Updated for the new name of the
advanceAndUpdateLineNumber function.
(WebCore::InputStreamPreprocessor::advancePastNonNewline): Added. More
efficient than advance for cases where the last characer is known not to be
a newline character.
(WebCore::InputStreamPreprocessor::skipNextNewLine): Deleted. Was unused.
(WebCore::InputStreamPreprocessor::reset): Deleted. Was unused except in the
constructor; added initial values for the data members to replace.
(WebCore::InputStreamPreprocessor::processNextInputCharacter): Removed long
FIXME comment that didn't really need to be here. Reorganized a bit.
(WebCore::InputStreamPreprocessor::isAtEndOfFile): Renamed and made static.
- html/track/BufferedLineReader.cpp:
(WebCore::BufferedLineReader::nextLine): Updated to not use the poorly named
scanCharacter function to advance past a newline. Also renamed from getLine
and changed to return Optional<String> instead of using a boolean to indicate
failure and an out argument.
- html/track/BufferedLineReader.h:
(WebCore::BufferedLineReader::BufferedLineReader): Use the default, putting
initial values on each data member below.
(WebCore::BufferedLineReader::append): Updated to take an rvalue reference,
and move the value through.
(WebCore::BufferedLineReader::scanCharacter): Deleted. Was poorly named,
and easy to replace with two lines of code at its two call sites.
(WebCore::BufferedLineReader::reset): Rewrote to correctly clear all the
data members of the class, not just the segmented string.
- html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::parseWebVTTFileHeader): Updated to take
an rvalue reference and move the value through.
- html/track/InbandGenericTextTrack.h: Updated for the above.
- html/track/InbandTextTrack.h: Updated since parseWebVTTFileHeader now
takes an rvalue reference.
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::parseFileHeader): Updated to take an rvalue reference
and move the value through.
(WebCore::WebVTTParser::parseBytes): Updated to pass ownership of the string
in to the line reader append function.
(WebCore::WebVTTParser::parseCueData): Use auto and WTFMove for WebVTTCueData.
(WebCore::WebVTTParser::flush): More of the same.
(WebCore::WebVTTParser::parse): Changed to use nextLine instead of getLine.
- html/track/WebVTTParser.h: Updated for the above.
- html/track/WebVTTTokenizer.cpp:
(WebCore::advanceAndEmitToken): Use advanceAndUpdateLineNumber by its new
name, just advance. No change in behavior.
(WebCore::WebVTTTokenizer::WebVTTTokenizer): Pass a String, not a
SegmentedString, to add the end of file marker.
- platform/graphics/InbandTextTrackPrivateClient.h: Updated since
parseWebVTTFileHeader takes an rvalue reference.
- platform/text/SegmentedString.cpp:
(WebCore::SegmentedString::Substring::appendTo): Moved here from the header.
The only caller is SegmentedString::toString, inside this file.
(WebCore::SegmentedString::SegmentedString): Deleted the copy constructor.
No longer needed.
(WebCore::SegmentedString::operator=): Defined a move assignment operator
rather than an ordinary assignment operator, since that's what the call
sites really need.
(WebCore::SegmentedString::length): Simplified since we no longer need to
support pushed characters.
(WebCore::SegmentedString::setExcludeLineNumbers): Simplified, since we
can just iterate m_otherSubstrings without an extra check. Also changed to
write directly to the data member of Substring instead of using a function.
(WebCore::SegmentedString::updateAdvanceFunctionPointersForEmptyString):
Added. Used when we run out of characters.
(WebCore::SegmentedString::clear): Removed code to clear now-deleted members.
Updated for changes to other member names.
(WebCore::SegmentedString::appendSubstring): Renamed from just append to
avoid ambiguity with the public append function. Changed to take an rvalue
reference, and move in, and added code to set m_currentCharacter properly,
so the caller doesn't have to deal with that.
(WebCore::SegmentedString::close): Updated to use m_isClosed by its new name.
Also removed unneeded comment about assertion that fires when trying to close
an already closed string.
(WebCore::SegmentedString::append): Added overloads for rvalue references of
both entire SegmentedString objects and of String. Streamlined to just call
appendSubstring and append to the deque.
(WebCore::SegmentedString::pushBack): Tightened up since we don't allow empty
strings and changed to take just a string, not an entire segmented string.
(WebCore::SegmentedString::advanceSubstring): Moved logic into the
advancePastSingleCharacterSubstringWithoutUpdatingLineNumber function.
(WebCore::SegmentedString::toString): Simplified now that we don't need to
support pushed characters.
(WebCore::SegmentedString::advancePastNonNewlines): Deleted.
(WebCore::SegmentedString::advance8): Deleted.
(WebCore::SegmentedString::advanceWithoutUpdatingLineNumber16): Renamed from
advance16. Simplified now that there are no pushed characters. Also changed to
access data members of m_currentSubstring directly instead of calling a function.
(WebCore::SegmentedString::advanceAndUpdateLineNumber8): Deleted.
(WebCore::SegmentedString::advanceAndUpdateLineNumber16): Ditto.
(WebCore::SegmentedString::advancePastSingleCharacterSubstringWithoutUpdatingLineNumber):
Renamed from advanceSlowCase. Removed uneeded logic to handle pushed characters.
Moved code in here from advanceSubstring.
(WebCore::SegmentedString::advancePastSingleCharacterSubstring): Renamed from
advanceAndUpdateLineNumberSlowCase. Simplified by calling the function above.
(WebCore::SegmentedString::advanceEmpty): Broke assertion up into two.
(WebCore::SegmentedString::updateSlowCaseFunctionPointers): Updated for name changes.
(WebCore::SegmentedString::advancePastSlowCase): Changed name and meaning of
boolean argument. Rewrote to use the String class less; it's now used only when
we fail to match after the first character rather than being used for the actual
comparison with the literal.
- platform/text/SegmentedString.h: Moved all non-trivial function bodies out of
the class definition to make things easier to read. Moved the SegmentedSubstring
class inside the SegmentedString class, making it a private struct named Substring.
Removed the m_ prefix from data members of the struct, removed many functions from
the struct and made its union be anonymous instead of naming it m_data. Removed
unneeded StringBuilder.h include.
(WebCore::SegmentedString::isEmpty): Changed to use the length of the substring
instead of a separate boolean. We never create an empty substring, nor leave one
in place as the current substring unless the entire segmented string is empty.
(WebCore::SegmentedString::advancePast): Updated to use the new member function
template instead of a non-template member function. The new member function is
entirely rewritten and does the matching directly rather than allocating a string
just to do prefix matching.
(WebCore::SegmentedString::advancePastLettersIgnoringASCIICase): Renamed to make
it clear that the literal must be all non-letters or lowercase letters as with
the other "letters ignoring ASCII case" functions. The three call sites all fit
the bill. Implement by calling the new function template.
(WebCore::SegmentedString::currentCharacter): Renamed from currentChar.
(WebCore::SegmentedString::Substring::Substring): Use an rvalue reference and
move the string in.
(WebCore::SegmentedString::Substring::currentCharacter): Simplified since this
is never used on an empty substring.
(WebCore::SegmentedString::Substring::incrementAndGetCurrentCharacter): Ditto.
(WebCore::SegmentedString::SegmentedString): Overload to take an rvalue reference.
Simplified since there are now fewer data members.
(WebCore::SegmentedString::advanceWithoutUpdatingLineNumber): Renamed from
advance, since this is only safe to use if there is some reason it is OK to skip
updating the line number.
(WebCore::SegmentedString::advance): Renamed from advanceAndUpdateLineNumber,
since doing that is the normal desired behavior and not worth mentioning in the
public function name.
(WebCore::SegmentedString::advancePastNewline): Renamed from
advancePastNewlineAndUpdateLineNumber.
(WebCore::SegmentedString::numberOfCharactersConsumed): Greatly simplified since
pushed characters are no longer supported.
(WebCore::SegmentedString::characterMismatch): Added. Used by advancePast.
- xml/parser/CharacterReferenceParserInlines.h:
(WebCore::unconsumeCharacters): Use toString rather than toStringPreserveCapacity
because the SegmentedString is going to take ownership of the string.
(WebCore::consumeCharacterReference): Updated to use the pushBack that takes just
a String, not a SegmentedString. Also use advancePastNonNewline.
- xml/parser/MarkupTokenizerInlines.h: Added ADVANCE_PAST_NON_NEWLINE_TO.
- xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::insert): Updated since this takes an rvalue reference.
(WebCore::XMLDocumentParser::append): Removed unnecessary code to create a
SegmentedString.
- xml/parser/XMLDocumentParser.h: Updated for above. Also fixed indentation
and initialized most data members.
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser): Moved most data member
initialization into the class definition.
(WebCore::XMLDocumentParser::resumeParsing): Removed code that copied a
segmented string, but converted the whole thing into a string before using it.
Now we convert to a string right away.
Source/WTF:
- wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::bufferCharacters<LChar>): Moved this here from
the header since it is only used inside the class. Also renamed from
getBufferCharacters.
(WTF::StringBuilder::bufferCharacters<UChar>): Ditto.
(WTF::StringBuilder::appendUninitializedUpconvert): Added. Helper
for the upconvert case in the 16-bit overload of StrinBuilder::append.
(WTF::StringBuilder::append): Changed to use appendUninitializedUpconvert.
(WTF::quotedJSONStringLength): Added. Used in new appendQuotedJSONString
implementation below that now correctly determines the size of what will
be appended by walking thorugh the string twice.
(WTF::appendQuotedJSONStringInternal): Moved the code that writes the
quote marks in here. Also made a few coding style tweaks.
(WTF::StringBuilder::appendQuotedJSONString): Rewrote to use a much
simpler algorithm that grows the string the same way the append function
does. The old code would use reserveCapacity in a way that was costly when
doing a lot of appends on the same string, and also allocated far too much
memory for normal use cases where characters did not need to be turned
into escape sequences.
- wtf/text/StringBuilder.h:
(WTF::StringBuilder::append): Tweaked style a bit, fixed a bug where the
m_is8Bit field wasn't set correctly in one case, optimized the function that
adds substrings for the case where this is the first append and the substring
happens to cover the entire string. Also clarified the assertions and removed
an unneeded check from that substring overload.
(WTF::equal): Reimplemented, using equalCommon.
- 6:29 PM Changeset in webkit [209057] by
-
- 2 edits in trunk/Source/WebKit2
Generated sandbox profile is not being put in the correct Resources directory
https://bugs.webkit.org/show_bug.cgi?id=165126
Reviewed by Tim Horton.
- WebKit2.xcodeproj/project.pbxproj: Copy the generated file to the 'PlugInSandboxProfiles'
sub-directory.
- 6:24 PM Changeset in webkit [209056] by
-
- 5 edits1 move in tags/Safari-603.1.13.1/Source/WebKit2
Roll out r208589. rdar://problem/29277451
- 6:20 PM Changeset in webkit [209055] by
-
- 5 edits1 move in trunk/Source/WebKit2
Roll r208589 back in. The rollout will be on the Safari-603.1.13.1 tag. rdar://problem/29277451
- 6:16 PM Changeset in webkit [209054] by
-
- 5 edits1 move in trunk/Source/WebKit2
Roll out r208589. rdar://problem/29277451
- 5:53 PM Changeset in webkit [209053] by
-
- 5 edits in branches/safari-602.3.12.0-branch/Source
Versioning.
- 5:32 PM Changeset in webkit [209052] by
-
- 2 edits in tags/Safari-603.1.13.1/Source/WebKit2
Roll out r208835. rdar://problem/29277451
- 5:26 PM Changeset in webkit [209051] by
-
- 1 copy in tags/Safari-602.3.12.0.1
New tag.
- 5:08 PM Changeset in webkit [209050] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Use UIKit SPI to force popover presentation style on iPhone for html validation popovers
https://bugs.webkit.org/show_bug.cgi?id=165107
Reviewed by Simon Fraser.
Use UIKit SPI to force popover presentation style on iPhone for html validation
popovers as this results in simpler code and achieves the same behavior.
- platform/ValidationBubble.h:
- platform/ios/ValidationBubbleIOS.mm:
(WebCore::ValidationBubble::setAnchorRect):
(-[WebValidationBubbleDelegate adaptivePresentationStyleForPresentationController:traitCollection:]): Deleted.
- platform/spi/ios/UIKitSPI.h:
- 5:08 PM Changeset in webkit [209049] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Clicking on an HTML validation bubble should dismiss it
https://bugs.webkit.org/show_bug.cgi?id=165117
<rdar://problem/29409837>
Reviewed by Simon Fraser.
Clicking on an HTML validation bubble should dismiss it. It previously
did nothing.
No new tests, this is not easily testable as EventSender.keyDown() sends
the event to the view, not to a particular screen location.
- platform/mac/ValidationBubbleMac.mm:
(-[WebValidationPopover mouseDown:]):
(WebCore::ValidationBubble::ValidationBubble):
- 5:03 PM Changeset in webkit [209048] by
-
- 4 edits in trunk/Source/WebCore
Make CanvasRenderingContext2D use WebIDL unions / Variants for createPattern and drawImage
https://bugs.webkit.org/show_bug.cgi?id=165086
Reviewed by Darin Adler.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::size):
Add overloads of size for each type of CanvasSource.
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::createPattern):
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasRenderingContext2D.idl:
Use variants to reduce code duplication and match spec language in drawImage and createPattern.
- 4:23 PM Changeset in webkit [209047] by
-
- 2 edits in branches/safari-602.3.12.0-branch/Source/WebCore
Merge r209045. rdar://problem/29404778
- 4:22 PM Changeset in webkit [209046] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r209045. rdar://problem/29404778
- 4:14 PM Changeset in webkit [209045] by
-
- 2 edits in trunk/Source/WebCore
Blacklist Netflix for TouchBar support
https://bugs.webkit.org/show_bug.cgi?id=165104
-and corresponding-
rdar://problem/29404778
Reviewed by Tim Horton.
This patch moves the algorithm to
bestMediaElementForShowingPlaybackControlsManager() so that Now Playing can also
use it.
- html/HTMLMediaElement.cpp:
(WebCore::needsPlaybackControlsManagerQuirk):
(WebCore::HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager):
(WebCore::HTMLMediaElement::updatePlaybackControlsManager):
- 3:58 PM Changeset in webkit [209044] by
-
- 2 edits in branches/safari-602.3.12.0-branch/Source/WebCore
Merge r209013. rdar://problem/29404778
- 3:56 PM Changeset in webkit [209043] by
-
- 9 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in runtime/Intl* files.
https://bugs.webkit.org/show_bug.cgi?id=165014
Reviewed by Saam Barati.
- runtime/IntlCollatorConstructor.cpp:
(JSC::constructIntlCollator):
(JSC::IntlCollatorConstructorFuncSupportedLocalesOf):
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorPrototypeFuncResolvedOptions):
- runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::constructIntlDateTimeFormat):
(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatFuncFormatDateTime):
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions):
- runtime/IntlNumberFormatConstructor.cpp:
(JSC::constructIntlNumberFormat):
(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatFuncFormatNumber):
(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):
- runtime/IntlObject.cpp:
(JSC::lookupSupportedLocales):
- runtime/IntlObjectInlines.h:
(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor):
- 3:56 PM Changeset in webkit [209042] by
-
- 5 edits in branches/safari-602.3.12.0-branch/Source
Versioning.
- 3:55 PM Changeset in webkit [209041] by
-
- 5 edits in tags/Safari-603.1.13.1
Merge r208906. rdar://problem/29324149
- 3:55 PM Changeset in webkit [209040] by
-
- 2 edits in tags/Safari-603.1.13.1/Source/WebKit/mac
Merge r208877. rdar://problem/29326204
- 3:55 PM Changeset in webkit [209039] by
-
- 5 edits in tags/Safari-603.1.13.1/Source
Versioning.
- 3:54 PM Changeset in webkit [209038] by
-
- 1 copy in branches/safari-602.3.12.0-branch
New Branch.
- 3:53 PM Changeset in webkit [209037] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in IteratorOperations.h.
https://bugs.webkit.org/show_bug.cgi?id=165015
Reviewed by Saam Barati.
- runtime/IteratorOperations.h:
(JSC::forEachInIterable):
- 3:50 PM Changeset in webkit [209036] by
-
- 4 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in JSArray* files.
https://bugs.webkit.org/show_bug.cgi?id=165016
Reviewed by Saam Barati.
- runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::put):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::unshiftCountWithAnyIndexingType):
- runtime/JSArrayBuffer.cpp:
(JSC::JSArrayBuffer::put):
(JSC::JSArrayBuffer::defineOwnProperty):
- runtime/JSArrayInlines.h:
(JSC::getLength):
(JSC::toLength):
- 3:42 PM Changeset in webkit [209035] by
-
- 1 copy in tags/Safari-603.1.13.1
New tag.
- 3:40 PM Changeset in webkit [209034] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in JSDataView.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165020
Reviewed by Saam Barati.
- runtime/JSDataView.cpp:
(JSC::JSDataView::put):
- 3:38 PM Changeset in webkit [209033] by
-
- 1 delete in tags/Safari-603.1.13.1
Remove tag.
- 3:38 PM Changeset in webkit [209032] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in JSFunction.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165021
Reviewed by Saam Barati.
- runtime/JSFunction.cpp:
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
- 3:30 PM Changeset in webkit [209031] by
-
- 4 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in runtime/JSGenericTypedArrayView* files.
https://bugs.webkit.org/show_bug.cgi?id=165022
Reviewed by Saam Barati.
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewFromIterator):
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::set):
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- 3:23 PM Changeset in webkit [209030] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in runtime/Operations.cpp/h.
https://bugs.webkit.org/show_bug.cgi?id=165046
Reviewed by Saam Barati.
Also switched to using returning { } instead of JSValue().
- runtime/Operations.cpp:
(JSC::jsAddSlowCase):
(JSC::jsIsObjectTypeOrNull):
- runtime/Operations.h:
(JSC::jsStringFromRegisterArray):
(JSC::jsStringFromArguments):
(JSC::jsLess):
(JSC::jsLessEq):
- 3:17 PM Changeset in webkit [209029] by
-
- 2 edits in tags/Safari-603.1.13/Source/WebKit2
Merge r208835. rdar://problem/29277451
- 3:14 PM Changeset in webkit [209028] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in JSScope.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165047
Reviewed by Saam Barati.
- runtime/JSScope.cpp:
(JSC::JSScope::resolve):
- 3:07 PM Changeset in webkit [209027] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in JSTypedArrayViewPrototype.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165049
Reviewed by Saam Barati.
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewPrivateFuncSort):
(JSC::typedArrayViewProtoFuncSet):
(JSC::typedArrayViewProtoFuncCopyWithin):
(JSC::typedArrayViewProtoFuncIncludes):
(JSC::typedArrayViewProtoFuncLastIndexOf):
(JSC::typedArrayViewProtoFuncIndexOf):
(JSC::typedArrayViewProtoFuncJoin):
(JSC::typedArrayViewProtoGetterFuncBuffer):
(JSC::typedArrayViewProtoGetterFuncLength):
(JSC::typedArrayViewProtoGetterFuncByteLength):
(JSC::typedArrayViewProtoGetterFuncByteOffset):
(JSC::typedArrayViewProtoFuncReverse):
(JSC::typedArrayViewPrivateFuncSubarrayCreate):
(JSC::typedArrayViewProtoFuncSlice):
- 3:00 PM Changeset in webkit [209026] by
-
- 4 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in runtime/Map* files.
https://bugs.webkit.org/show_bug.cgi?id=165050
Reviewed by Saam Barati.
- runtime/MapConstructor.cpp:
(JSC::constructMap):
- runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototypeFuncNext):
- runtime/MapPrototype.cpp:
(JSC::privateFuncMapIteratorNext):
- 2:56 PM Changeset in webkit [209025] by
-
- 8 edits in trunk/Source
Fix exception scope verification failures in more miscellaneous files.
https://bugs.webkit.org/show_bug.cgi?id=165102
Reviewed by Saam Barati.
Source/JavaScriptCore:
- wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::constructJSWebAssemblyInstance):
Source/WebCore:
No new tests because these are fixes to failures detected by existing tests when
exception check verification is enabled.
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::toJS):
- bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::getJSListenerFunctions):
- bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::buildJSONForRSAComponents):
(WebCore::addUsagesToJSON):
- bindings/js/JSDOMBinding.h:
(WebCore::toJS):
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::put):
- 2:41 PM Changeset in webkit [209024] by
-
- 17 edits2 deletes in trunk
Unreviewed, rolling out r209008.
This change appears to have caused two fast/mediastrem
LayoutTests to fail.
Reverted changeset:
"[MediaStream] Don't request user permission for a device if
it has already been granted in the current browsing context"
https://bugs.webkit.org/show_bug.cgi?id=164760
http://trac.webkit.org/changeset/209008
- 2:39 PM Changeset in webkit [209023] by
-
- 5 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in runtime/Weak* files.
https://bugs.webkit.org/show_bug.cgi?id=165096
Reviewed by Geoffrey Garen.
- runtime/WeakMapConstructor.cpp:
(JSC::constructWeakMap):
- runtime/WeakMapPrototype.cpp:
(JSC::protoFuncWeakMapSet):
- runtime/WeakSetConstructor.cpp:
(JSC::constructWeakSet):
- runtime/WeakSetPrototype.cpp:
(JSC::protoFuncWeakSetAdd):
- 2:35 PM Changeset in webkit [209022] by
-
- 4 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in runtime/String* files.
https://bugs.webkit.org/show_bug.cgi?id=165067
Reviewed by Saam Barati.
- runtime/StringConstructor.cpp:
(JSC::stringFromCodePoint):
(JSC::constructWithStringConstructor):
- runtime/StringObject.cpp:
(JSC::StringObject::put):
(JSC::StringObject::putByIndex):
(JSC::StringObject::defineOwnProperty):
- runtime/StringPrototype.cpp:
(JSC::jsSpliceSubstrings):
(JSC::jsSpliceSubstringsWithSeparators):
(JSC::replaceUsingRegExpSearch):
(JSC::replaceUsingStringSearch):
(JSC::repeatCharacter):
(JSC::replace):
(JSC::stringProtoFuncReplaceUsingStringSearch):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCodePointAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::splitStringByOneCharacterImpl):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::toLocaleCase):
(JSC::trimString):
(JSC::stringProtoFuncIncludes):
(JSC::builtinStringIncludesInternal):
(JSC::stringProtoFuncIterator):
(JSC::normalize):
(JSC::stringProtoFuncNormalize):
- 2:30 PM Changeset in webkit [209021] by
-
- 4 edits in trunk/Source/WebCore
[CSS Parser] Fix bugs in the @supports parser
https://bugs.webkit.org/show_bug.cgi?id=165115
Reviewed by Zalan Bujtas.
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
Clean up the display property to match the old parser to ensure
that @supports conditions on display are the same.
- css/parser/CSSSupportsParser.cpp:
(WebCore::CSSSupportsParser::consumeCondition):
(WebCore::CSSSupportsParser::consumeNegation):
(WebCore::CSSSupportsParser::consumeConditionInParenthesis):
- css/parser/CSSSupportsParser.h:
What follows are all bugs in Blink that need to be fixed to pass our
tests.
Fix the supports parser to allow the whitespace after not/or/and to
be optional. Allow the whitespace following parenthetical conditions
to be optional.
With whitespace being optional, this means that "not(" will parse
as a FunctionToken type, as will "or(" and "and(". Handle this situation
by checking for FunctionToken along with IdentToken and parameterizing
consumeConditionInParenthesis to do the right thing when it starts with
a FunctionToken instead of an IdentToken.
Fix the general enclosure FunctionToken for forward compatibility to require that
the function still be enclosed within parentheses.
- 2:29 PM Changeset in webkit [209020] by
-
- 5 edits in trunk/Source
Fix exception scope verification failures in ObjectConstructor.cpp and ObjectPrototype.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165051
Reviewed by Saam Barati.
Source/JavaScriptCore:
Also,
- Replaced returning JSValue() with returning { }.
- Replaced uses of exec->propertyNames() with vm.propertyNames.
- runtime/ObjectConstructor.cpp:
(JSC::constructObject):
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorGetOwnPropertyDescriptors):
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorGetOwnPropertySymbols):
(JSC::objectConstructorKeys):
(JSC::ownEnumerablePropertyKeys):
(JSC::toPropertyDescriptor):
(JSC::defineProperties):
(JSC::objectConstructorDefineProperties):
(JSC::objectConstructorCreate):
(JSC::setIntegrityLevel):
(JSC::objectConstructorSeal):
(JSC::objectConstructorPreventExtensions):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):
(JSC::ownPropertyKeys):
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncValueOf):
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):
Source/WebCore:
No new tests because this is covered by the existing test
http/tests/security/cross-frame-access-object-prototype.html with the help of a
new ASSERT in ObjectPrototype.cpp.
Fixed jsDOMWindowGetOwnPropertySlotRestrictedAccess() to return false when it
throws an exception.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
- 2:24 PM Changeset in webkit [209019] by
-
- 2 edits in trunk/Source/WebCore
Obvious change in saturation/color when swiping to a previously visited page
https://bugs.webkit.org/show_bug.cgi?id=165112
<rdar://problem/29257229>
Reviewed by Simon Fraser.
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::createFromImage):
IOSurface::createFromImage should take into account the colorspace of the
originating image, instead of just hardcoding sRGB.
Otherwise, on a non-sRGB display, the display-space snapshot that we take
for back-forward swipe is converted to sRGB, then the colorspace information
is lost (without a way to maintain it inside the IOSurface), and displayed
as layer contents interpreted as display space (instead of sRGB).
- 2:21 PM Changeset in webkit [209018] by
-
- 9 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in miscellaneous files.
https://bugs.webkit.org/show_bug.cgi?id=165055
Reviewed by Saam Barati.
- runtime/MathObject.cpp:
(JSC::mathProtoFuncIMul):
- runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeParseModule):
(JSC::moduleLoaderPrototypeRequestedModules):
- runtime/NativeErrorConstructor.cpp:
(JSC::Interpreter::constructWithNativeErrorConstructor):
- runtime/NumberConstructor.cpp:
(JSC::constructWithNumberConstructor):
- runtime/SetConstructor.cpp:
(JSC::constructSet):
- runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototypeFuncNext):
- runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayEntry::put):
- runtime/TemplateRegistry.cpp:
(JSC::TemplateRegistry::getTemplateObject):
- 2:19 PM Changeset in webkit [209017] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r209013. rdar://problem/29404778
- 2:16 PM Changeset in webkit [209016] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix crashes on Yosemite after r209009
NSTextField's maximumNumberOfLines was introduced in ElCapitan so
disable it at compile-time on previous OSes for now.
- platform/mac/ValidationBubbleMac.mm:
(WebCore::ValidationBubble::ValidationBubble):
- 2:13 PM Changeset in webkit [209015] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in ReflectObject.cpp.
https://bugs.webkit.org/show_bug.cgi?id=165066
Reviewed by Saam Barati.
- runtime/ReflectObject.cpp:
(JSC::reflectObjectConstruct):
(JSC::reflectObjectDefineProperty):
(JSC::reflectObjectEnumerate):
(JSC::reflectObjectGet):
(JSC::reflectObjectGetOwnPropertyDescriptor):
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectOwnKeys):
(JSC::reflectObjectSet):
- 1:57 PM Changeset in webkit [209014] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r208607.
The actual changes aren't inline with what was requested.
Reverted changeset:
"Reduce number of platformMemoryUsage calls"
https://bugs.webkit.org/show_bug.cgi?id=164375
http://trac.webkit.org/changeset/208607
- 1:42 PM Changeset in webkit [209013] by
-
- 2 edits in trunk/Source/WebCore
Blacklist Netflix for TouchBar support
https://bugs.webkit.org/show_bug.cgi?id=165104
-and corresponding-
rdar://problem/29404778
Reviewed by Darin Adler.
- html/HTMLMediaElement.cpp:
(WebCore::needsPlaybackControlsManagerQuirk):
(WebCore::HTMLMediaElement::updatePlaybackControlsManager):
- 1:37 PM Changeset in webkit [209012] by
-
- 3 edits in trunk/Tools
Teach webkitpy how to read CSSProperties.json r209001
https://bugs.webkit.org/show_bug.cgi?id=165108
Reviewed by Simon Fraser.
Fix webkitpy logic so that it can read CSS property names from CSSProperties.json following r209001.
Following r209001 CSSPropertyNames.in no longer exists as it was replaced with CSSProperties.json.
We need to modify the webkitpy machinery that processed CSSPropertyNames.in to process CSSProperties.json.
- Scripts/webkitpy/w3c/test_converter.py:
(_W3CTestConverter.init): Make self._css_property_file and self._css_property_value_file local
variables as it is unnecessary for them to be instance variables. Call read_webkit_prefixed_css_property_list()
to read the property names from file CSSProperties.json. Call legacy_read_webkit_prefixed_css_property_list() to
read CSS keyword values from CSSValueKeywords.in.
(_W3CTestConverter.read_webkit_prefixed_css_property_list): Added.
(_W3CTestConverter):
(_W3CTestConverter.legacy_read_webkit_prefixed_css_property_list): Renamed from read_webkit_prefixed_css_property_list.
- Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest.test_harnesslinks_conversion): Substitute CSSProperties.json for CSSPropertyNames.in.
- 1:26 PM Changeset in webkit [209011] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in ArrayConstructor.cpp and ArrayPrototype.cpp.
https://bugs.webkit.org/show_bug.cgi?id=164972
Reviewed by Geoffrey Garen.
- runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
- runtime/ArrayPrototype.cpp:
(JSC::getProperty):
(JSC::putLength):
(JSC::speciesWatchpointsValid):
(JSC::speciesConstructArray):
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::slowJoin):
(JSC::fastJoin):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
(JSC::ArrayPrototype::attemptToInitializeSpeciesWatchpoint):
- 12:46 PM Changeset in webkit [209010] by
-
- 8 edits in trunk/Source/WebKit2
Support for HTML Media Capture API
https://bugs.webkit.org/show_bug.cgi?id=43239
Patch by Andrew Gold <agold@apple.com> on 2016-11-28
Reviewed by Tim Horton.
In order to enable media capture on iOS, we must first use the AVFoundation API to
check/request capture permission from the user for Safari. Then, Safari must request
permission on behalf of the webpage to use the capture devices. Additionally, Safari
must present UI when the capture is taking place, so WebKit needs to notify the client
of a capture session beginning and ending. To do this, we added four methods to
WKUIDelegatePrivate to request permission from the user, check for permissions, notify
that a capture session has begun, and notify that a capture session has ended. Additionally,
we added a private method to WKWebView that allows the client to stop a capture session.
- UIProcess/API/APIUIClient.h:
(API::UIClient::didBeginCaptureSession): Notifies the client of a capture session beginning.
(API::UIClient::didEndCaptureSession): Notifies the client of a capture session ending.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added new delegate methods to request permission,
check for permission, notify of a capture session beginning, and notify of a capture session
ending.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _stopMediaCapture]): Cancels a media capture session.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate): Added the new delegate methods.
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
First checks if the user has authorized the client application access capture devices,
then uses the WKUIDelegate to request permission for a site from the user.
(WebKit::UIDelegate::UIClient::checkUserMediaPermissionForOrigin): Checks the client
for permission to access capture devices.
(WebKit::UIDelegate::UIClient::didBeginCaptureSession): Notifies the client of a capture
session beginning.
(WebKit::UIDelegate::UIClient::didEndCaptureSession): Notifies the client of a capture
session ending.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::isPlayingMediaDidChange): Calls UIDelegate method to notify the
client of a capture session beginning/ending.
- 12:45 PM Changeset in webkit [209009] by
-
- 3 edits in trunk/Source/WebCore
Limit HTML Form validation popovers to 4 lines
https://bugs.webkit.org/show_bug.cgi?id=165098
<rdar://problem/29403286>
Reviewed by Darin Adler.
Limit HTML Form validation popovers to 4 lines as per recent feedback.
- platform/ios/ValidationBubbleIOS.mm:
(WebCore::ValidationBubble::ValidationBubble):
- platform/mac/ValidationBubbleMac.mm:
(WebCore::ValidationBubble::ValidationBubble):
- 12:45 PM Changeset in webkit [209008] by
-
- 17 edits2 adds in trunk
[MediaStream] Don't request user permission for a device if it has already been granted in the current browsing context
https://bugs.webkit.org/show_bug.cgi?id=164760
Source/WebKit2:
<rdar://problem/29261266>
Reviewed by Youenn Fablet.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::FrameAuthorizationState::FrameAuthorizationState):
(WebKit::FrameAuthorizationState::hasPermissionToUseCaptureDevice):
(WebKit::FrameAuthorizationState::setHasPermissionToUseCaptureDevice):
(WebKit::FrameAuthorizationState::reset):
(WebKit::FrameAuthorizationState::securityOriginsAreEqual):
(WebKit::UserMediaPermissionRequestManagerProxy::stateForRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests):
(WebKit::UserMediaPermissionRequestManagerProxy::createRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied):
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted):
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
(WebKit::FrameAuthorizationState::~FrameAuthorizationState):
(WebKit::FrameAuthorizationState::frameID):
- UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy):
- UIProcess/UserMediaPermissionRequestProxy.h:
(WebKit::UserMediaPermissionRequestProxy::create):
(WebKit::UserMediaPermissionRequestProxy::frameID):
(WebKit::UserMediaPermissionRequestProxy::userMediaDocumentSecurityOrigin):
(WebKit::UserMediaPermissionRequestProxy::topLevelDocumentSecurityOrigin):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::removeMediaRequestFromMaps):
Tools:
<rdar://problem/29261266>
Reviewed by Youenn Fablet.
Allow scripts to determine the number of times the user has been prompted for capture device access.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin):
(WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin):
(WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin):
(WTR::InjectedBundle::setUserMediaPermissionForOrigin): Deleted.
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUserMediaPersistentPermissionForOrigin):
(WTR::TestRunner::userMediaPermissionRequestCountForOrigin):
(WTR::TestRunner::resetUserMediaPermissionRequestCountForOrigin):
(WTR::TestRunner::setUserMediaPermissionForOrigin): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::OriginSettings::incrementRequestCount):
(WTR::OriginSettings::resetRequestCount):
(WTR::OriginSettings::requestCount):
(WTR::TestController::saltForOrigin):
(WTR::TestController::setUserMediaPersistentPermissionForOrigin):
(WTR::TestController::handleCheckOfUserMediaPermissionForOrigin):
(WTR::TestController::settingsForOrigin):
(WTR::TestController::userMediaPermissionRequestCountForOrigin):
(WTR::TestController::resetUserMediaPermissionRequestCountForOrigin):
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible):
(WTR::TestController::setUserMediaPermissionForOrigin): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
Reviewed by Youenn Fablet.
- fast/mediastream/MediaDevices-getUserMedia-expected.txt:
- fast/mediastream/MediaDevices-getUserMedia.html:
- 12:44 PM Changeset in webkit [209007] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix exception scope verification failures in LLIntSlowPaths.cpp.
https://bugs.webkit.org/show_bug.cgi?id=164969
Reviewed by Geoffrey Garen.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::getByVal):
(JSC::LLInt::setUpCall):
(JSC::LLInt::varargsSetup):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- 12:28 PM Changeset in webkit [209006] by
-
- 3 edits in trunk/Source/WebCore
[CSS Parser] Filters and Reflections Fixes
https://bugs.webkit.org/show_bug.cgi?id=165103
Reviewed by Zalan Bujtas.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeReflect):
Support the "none" keyword for box-reflect.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::isValidPrimitiveFilterFunction):
(WebCore::CSSPropertyParserHelpers::consumeFilterFunction):
Don't rely on range checking, since invert isn't grouped with the other
function values. Actually check every keyword.
- 12:27 PM Changeset in webkit [209005] by
-
- 3 edits in trunk/Source/WebCore
ImageData does not match specification
https://bugs.webkit.org/show_bug.cgi?id=164663
Reviewed by Simon Fraser.
The W3C specification https://www.w3.org/TR/2dcontext/ clearly states that
the width and height attributes of the ImageData type should be unsigned.
Our current implementation has signed integer values.
In practice, we have enforced the unsigned requirement by throwing a TypeError
if you attempt to construct an ImageData with negative width or height.
This change simply updates the IDL and impelemntation to match the spec.
Test coverage is already provided by fast/canvas/canvas-imageData.html
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readTerminal): Serialize as uint32_t values.
- html/ImageData.idl: Revise width and height to be unsigned long.
- 12:18 PM Changeset in webkit [209004] by
-
- 1 copy in tags/Safari-603.1.13.1
New tag.
- 11:55 AM Changeset in webkit [209003] by
-
- 2 edits in trunk/Source/WebCore
[CSS Parser] flex-basis should be pixel units not percentages.
https://bugs.webkit.org/show_bug.cgi?id=165100
Reviewed by Zalan Bujtas.
- css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumeFlex):
- 11:52 AM Changeset in webkit [209002] by
-
- 9 edits in tags/Safari-603.1.13
Roll back the Safari-603.1.13 tag to r208793, which is the revision that the tag was created in.
- 11:11 AM Changeset in webkit [209001] by
-
- 5 edits1 add1 delete in trunk/Source/WebCore
Replace CSSPropertyNames.in with a JSON file
https://bugs.webkit.org/show_bug.cgi?id=164691
Reviewed by Simon Fraser.
Convert CSSPropertyNames.in to a structured JSON file. This is the first step towards
exposing a CSS feature status dashboard and generating more of the boilerplate code
for a CSS property.
A side effect of this change is that makeprop.pl no longer detects duplicate CSS property
definitions. We will look to bring such duplication detection back in a subsequent
commit.
- CMakeLists.txt: Substitute CSSProperties.json for CSSPropertyNames.in and update the
invocation of makeprop.pl as we no longer need to pass the bindings/scripts/preprocessor.pm
Perl module. Makeprop.pl supports conditional CSS properties and values without the need
to preprocess CSSProperties.json using the C preprocessor.
- DerivedSources.make: Ditto. Pass WTF_PLATFORM_IOS to makeprop.pl when building for iOS
as we no longer make use of bindings/scripts/preprocessor.pm.
- css/CSSProperties.json: Added.
- css/CSSPropertyNames.in: Removed.
- css/StyleResolver.cpp: Remove variable lastHighPriorityProperty as we now generate it.
- css/makeprop.pl: Extracted the input file name, now CSSProperties.json, into a global variable
and referenced this variable throughout this script instead of hardcoding the input file name at
each call site. Updated code to handle CSS longhand names being encoded in a JSON array as opposed
to a string of '|'-separated values. I added a FIXME comment to do the same for the codegen property
"custom". Fixed Perl uninitialized variable warnings when die()-ing with error "Unknown CSS property
used in all shorthand ..." or "Unknown CSS property used in longhands ...".
(isPropertyEnabled): Added. Determine whether code should be generated for a property.
(addProperty): Added.
(sortByDescendingPriorityAndName): Added.
(getScopeForFunction): Lowercase option names so that we can use a consistent case throughout
the JSON file.
(getNameForMethods): Ditto.
(generateColorValueSetter):
(generateAnimationPropertyInitialValueSetter): Ditto.
(generateAnimationPropertyInheritValueSetter): Ditto.
(generateFillLayerPropertyInitialValueSetter): Ditto.
(generateFillLayerPropertyInheritValueSetter): Ditto.
(generateSetValueStatement): Ditto.
(generateInitialValueSetter): Ditto.
(generateInheritValueSetter): Ditto.
(generateValueSetter): Ditto.
- 10:28 AM Changeset in webkit [209000] by
-
- 3 edits in trunk/Source/WebCore
[CSS Parser] Support -webkit-animation-trigger
https://bugs.webkit.org/show_bug.cgi?id=165095
Reviewed by Zalan Bujtas.
- css/CSSValueKeywords.in:
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeWebkitAnimationTrigger):
(WebCore::consumeAnimationValue):
(WebCore::CSSPropertyParser::parseSingleValue):
- 9:22 AM Changeset in webkit [208999] by
-
- 4 edits39 adds in trunk
Add some performance tests for various aspects of media loading and playback.
https://bugs.webkit.org/show_bug.cgi?id=164977
Reviewed by Darin Adler.
PerformanceTests:
Add new tests for a few aspects of media playback; namely: how quickly media elements fire
the "canplaythrough" event when all data is immediately available, how quickly HLS playback
switches resolutions, and at what playback rate MSE-backed video can play without dropping
frames. Skip these tests by default, as they're not runnable on all ports, and they require
a webserver (run-webkit-httpd) to complete on macOS.
- Media/HLSCanPlayThrough.html: Added.
- Media/HLSGearChange.html: Added.
- Media/MSECanPlayThrough.html: Added.
- Media/MSEPlaybackRate.html: Added.
- Media/StandardCanPlayThrough.html: Added.
- Media/hls/1080p/iframe_index.m3u8: Added.
- Media/hls/1080p/prog_index.m3u8: Added.
- Media/hls/1080p/test.ts: Added.
- Media/hls/480p/iframe_index.m3u8: Added.
- Media/hls/480p/prog_index.m3u8: Added.
- Media/hls/480p/test.ts: Added.
- Media/hls/720p/iframe_index.m3u8: Added.
- Media/hls/720p/prog_index.m3u8: Added.
- Media/hls/720p/test.ts: Added.
- Media/hls/720p/test.ts.back: Added.
- Media/hls/index.m3u8: Added.
- Media/media-source-loader.js: Added.
(MediaSourceLoader):
(MediaSourceLoader.prototype.loadManifest):
(MediaSourceLoader.prototype.loadManifestSucceeded):
(MediaSourceLoader.prototype.loadManifestFailed):
(MediaSourceLoader.prototype.loadMediaData):
(MediaSourceLoader.prototype.loadMediaDataSucceeded):
(MediaSourceLoader.prototype.loadMediaDataFailed):
(MediaSourceLoader.prototype.get type):
(MediaSourceLoader.prototype.get duration):
(MediaSourceLoader.prototype.get initSegment):
(MediaSourceLoader.prototype.get mediaSegmentsLength):
(MediaSourceLoader.prototype.mediaSegments):
(MediaSourceLoader.prototype.get everyMediaSegment):
- Media/test-fragmented-video.json: Added.
- Media/test-fragmented-video.mp4: Added.
- Media/test.mp4: Added.
- Skipped:
Tools:
Allow callers to pass in extra alias/directory pairs to run-webkit-httpd.
- Scripts/run-webkit-httpd:
(parse_args):
(main):
- 7:58 AM Changeset in webkit [208998] by
-
- 11 edits in trunk
Remove FIRST_LINE_INHERITED fake pseudo style
https://bugs.webkit.org/show_bug.cgi?id=165071
Reviewed by Andreas Kling.
Source/WebCore:
These are create during layout an then cached to the RenderStyle. Cache computed first line style to
RenderObject rare data instead, avoiding style mutation an other confusing messiness.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::computeFirstLineStyle):
(WebCore::RenderElement::firstLineStyle):
Cache the first line style.
(WebCore::RenderElement::invalidateCachedFirstLineStyle):
(WebCore::RenderElement::styleWillChange):
Invalidate subtree if we have cached first line style.
(WebCore::RenderElement::getUncachedPseudoStyle):
(WebCore::RenderElement::uncachedFirstLineStyle): Deleted.
(WebCore::RenderElement::cachedFirstLineStyle): Deleted.
- rendering/RenderElement.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::rareDataMap):
(WebCore::RenderObject::rareData):
(WebCore::RenderObject::ensureRareData):
- rendering/RenderObject.h:
Stop copying rare data objects.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
Use the normal mechanism for invalidating layout for first-line instead of a hack in pseudoStyleCacheIsInvalid.
- rendering/style/RenderStyleConstants.h:
- style/RenderTreeUpdater.cpp:
(WebCore::pseudoStyleCacheIsInvalid):
Simplify.
LayoutTests:
Expand the test case a bit.
- fast/css/pseudo-cache-stale-expected.html:
- fast/css/pseudo-cache-stale.html:
- 7:00 AM Changeset in webkit [208997] by
-
- 11 edits in trunk/Source/WebCore
[GTK] Dramatic increase on memory usage since 2.14.x
https://bugs.webkit.org/show_bug.cgi?id=164049
Reviewed by Žan Doberšek.
Use OpenGL version 3.2 Core for rendering when available.
Update some operations that have changed when using 3.2 Core:
- Use glGetStringi to get the extensions list.
- Do not use GL_POINT_SPRITE.
- Always use a VAO when rendering.
- Use a GLSL 1.50 compatible shader.
No new tests needed.
- platform/graphics/GLContext.cpp:
(WebCore::GLContext::version):
Add a method to get OpenGL version we are using.
- platform/graphics/GLContext.h:
Ditto.
- platform/graphics/GraphicsContext3D.h:
Add an attribute to store the VAO used for rendering.
- platform/graphics/OpenGLShims.cpp:
(WebCore::initializeOpenGLShims):
Add glGetStringi to the list of functions.
- platform/graphics/OpenGLShims.h:
Ditto.
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
Set appropriate output to the shader compiler and initalize the VAO if needed.
(WebCore::GraphicsContext3D::~GraphicsContext3D):
Delete the VAO if needed.
(WebCore::GraphicsContext3D::getExtensions):
Use glGetExtensionsi for OpenGL versions >= 3.2.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::hasGLXARBCreateContextExtension):
Check whether the GLX_ARB_create_context extension is available.
(WebCore::GLContextGLX::createWindowContext):
Use glXCreateContextAttribsARB() if possible to request an OpenGL 3.2 context.
(WebCore::GLContextGLX::createPbufferContext):
Ditto.
- platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
Enable glGetStringi for GTK.
- platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
Do not use default getExtensions() method for GTK.
- platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
Ditto.
- 5:53 AM Changeset in webkit [208996] by
-
- 2 edits in trunk/LayoutTests
[Win] WebCrypto tests are failing.
https://bugs.webkit.org/show_bug.cgi?id=165090
Unreviewed test gardening.
- platform/win/TestExpectations:
- 3:28 AM Changeset in webkit [208995] by
-
- 3 edits in trunk/Source/WebCore
[css-grid] Move attributes from RenderGrid to the new Grid class
https://bugs.webkit.org/show_bug.cgi?id=165065
Reviewed by Darin Adler.
A new class called Grid was added in 208973. This is the first of a couple of patches moving
private attributes from RenderGrid to Grid.
Apart from that this is adding a couple of new helper functions that will decouple the
existence of in-flow items from the actual data structures storing that information.
Last but not least, the Grid::insert() method does not only insert the item in the m_grid
data structure, but also stores the GridArea associated to that item, so there is no need to
do it in two different calls.
No new tests required as this is a refactoring.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::Grid::insert): Added a new parameter.
(WebCore::RenderGrid::Grid::setSmallestTracksStart):
(WebCore::RenderGrid::Grid::smallestTrackStart):
(WebCore::RenderGrid::Grid::gridItemArea):
(WebCore::RenderGrid::Grid::setGridItemArea):
(WebCore::RenderGrid::Grid::clear): Clear the newly added attributes.
(WebCore::RenderGrid::repeatTracksSizingIfNeeded):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::rawGridTrackSize):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::computeEmptyTracksForAutoRepeat):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
(WebCore::RenderGrid::clearGrid):
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
(WebCore::RenderGrid::cachedGridSpan):
(WebCore::RenderGrid::cachedGridArea): Deleted.
- rendering/RenderGrid.h:
Nov 27, 2016:
- 8:30 PM Changeset in webkit [208994] by
-
- 2 edits in trunk/LayoutTests
Rebaseline inspector/dom/getAccessibilityPropertiesForNode.html for macOS.
https://bugs.webkit.org/show_bug.cgi?id=165087
Unreviewed test gardening.
- inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
- 4:10 PM Changeset in webkit [208993] by
-
- 3 edits1 delete in trunk/Source/WebCore
Remove unused DOMRequestState
https://bugs.webkit.org/show_bug.cgi?id=165085
Patch by Sam Weinig <sam@webkit.org> on 2016-11-27
Reviewed by Simon Fraser.
Remove DOMRequestState. It was unused.
- Modules/fetch/FetchBody.cpp:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/DOMRequestState.h: Removed.
- 1:57 PM Changeset in webkit [208992] by
-
- 2 edits in trunk/Source/WebKit2
Removed a WTFLogAlways I left in with a recent commit.
- UIProcess/Cocoa/WebViewImpl.mm:
(-[WKAccessibilitySettingsObserver _settingsDidChange:]):
- 10:16 AM Changeset in webkit [208991] by
-
- 4 edits in trunk/Source/WebCore
Fix various --minimal build issues
https://bugs.webkit.org/show_bug.cgi?id=165060
Reviewed by Darin Adler.
- css/parser/CSSPropertyParser.cpp:
- dom/Document.cpp:
- loader/EmptyClients.cpp:
- 10:14 AM Changeset in webkit [208990] by
-
- 2 edits in trunk/Source/WebKit2
Fix unused-private-field build warning in WebKit2/Platform/SharedMemory.h
https://bugs.webkit.org/show_bug.cgi?id=165069
Reviewed by Darin Adler.
- Platform/SharedMemory.h:
- 12:06 AM Changeset in webkit [208989] by
-
- 3 edits in trunk/Tools
Another fix for CMake.
- DumpRenderTree/TestOptions.h:
- DumpRenderTree/TestOptions.mm:
Nov 26, 2016:
- 11:43 PM Changeset in webkit [208988] by
-
- 2 edits in trunk/Tools
Better fix for the Mac CMake build.
- DumpRenderTree/PlatformMac.cmake:
- 11:33 PM Changeset in webkit [208987] by
-
- 2 edits in trunk/Tools
Attempt to fix Mac CMake build.
- DumpRenderTree/PlatformMac.cmake:
- 11:27 PM Changeset in webkit [208986] by
-
- 2 edits in trunk/Source/WebKit2
Fix the iOS build.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::eventThrottlingDelay):
- 10:08 PM Changeset in webkit [208985] by
-
- 708 edits in trunk
[WTF] Import std::optional reference implementation as WTF::Optional
https://bugs.webkit.org/show_bug.cgi?id=164199
Reviewed by Saam Barati and Sam Weinig.
Source/JavaScriptCore:
Previous WTF::Optional::operator= is not compatible to std::optional::operator=.
std::optional::emplace has the same semantics to the previous one.
So we change the code to use it.
- Scripts/builtins/builtins_templates.py:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result:
- Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result:
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::commuteCompareToZeroIntoTest):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::commuteCompareToZeroIntoTest):
- b3/B3CheckSpecial.cpp:
(JSC::B3::CheckSpecial::forEachArg):
(JSC::B3::CheckSpecial::shouldTryAliasingDef):
- b3/B3CheckSpecial.h:
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::scaleForShl):
(JSC::B3::Air::LowerToAir::effectiveAddr):
(JSC::B3::Air::LowerToAir::tryAppendLea):
- b3/B3Opcode.cpp:
(JSC::B3::invertedCompare):
- b3/B3Opcode.h:
- b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::forEachArg):
- b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::forEachArgImpl):
- b3/B3StackmapSpecial.h:
- b3/B3Value.cpp:
(JSC::B3::Value::invertedCompare):
- b3/air/AirArg.h:
(JSC::B3::Air::Arg::isValidScale):
(JSC::B3::Air::Arg::isValidAddrForm):
(JSC::B3::Air::Arg::isValidIndexForm):
(JSC::B3::Air::Arg::isValidForm):
- b3/air/AirCustom.h:
(JSC::B3::Air::PatchCustom::shouldTryAliasingDef):
- b3/air/AirFixObviousSpills.cpp:
- b3/air/AirInst.h:
- b3/air/AirInstInlines.h:
(JSC::B3::Air::Inst::shouldTryAliasingDef):
- b3/air/AirIteratedRegisterCoalescing.cpp:
- b3/air/AirSpecial.cpp:
(JSC::B3::Air::Special::shouldTryAliasingDef):
- b3/air/AirSpecial.h:
- bytecode/BytecodeGeneratorification.cpp:
(JSC::BytecodeGeneratorification::storageForGeneratorLocal):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::findPC):
(JSC::CodeBlock::bytecodeOffsetFromCallSiteIndex):
- bytecode/CodeBlock.h:
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::link):
- bytecode/UnlinkedFunctionExecutable.h:
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitPutConstantProperty):
(JSC::ObjectPatternNode::bindValue):
- debugger/Debugger.cpp:
(JSC::Debugger::resolveBreakpoint):
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::currentPosition):
- debugger/DebuggerParseData.cpp:
(JSC::DebuggerPausePositions::breakpointLocationForLineColumn):
- debugger/DebuggerParseData.h:
- debugger/ScriptProfilingScope.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeDoubleUnaryOpEffects):
- dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::findPC):
- dfg/DFGJITCode.h:
- dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
- dfg/DFGSlowPathGenerator.h:
(JSC::DFG::SlowPathGenerator::generate):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::runSlowPathGenerators):
(JSC::DFG::SpeculativeJIT::emitUntypedBitOp):
(JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp):
(JSC::DFG::SpeculativeJIT::compileMathIC):
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileCallDOMGetter):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::findPC):
- ftl/FTLJITCode.h:
- heap/Heap.cpp:
(JSC::Heap::collectAsync):
(JSC::Heap::collectSync):
(JSC::Heap::collectInThread):
(JSC::Heap::requestCollection):
(JSC::Heap::willStartCollection):
(JSC::Heap::didFinishCollection):
(JSC::Heap::shouldDoFullCollection):
- heap/Heap.h:
(JSC::Heap::collectionScope):
- heap/HeapSnapshot.cpp:
(JSC::HeapSnapshot::nodeForCell):
(JSC::HeapSnapshot::nodeForObjectIdentifier):
- heap/HeapSnapshot.h:
- inspector/InspectorBackendDispatcher.cpp:
(Inspector::BackendDispatcher::dispatch):
(Inspector::BackendDispatcher::sendPendingErrors):
(Inspector::BackendDispatcher::reportProtocolError):
- inspector/InspectorBackendDispatcher.h:
- inspector/agents/InspectorHeapAgent.cpp:
(Inspector::InspectorHeapAgent::nodeForHeapObjectIdentifier):
(Inspector::InspectorHeapAgent::getPreview):
(Inspector::InspectorHeapAgent::getRemoteObject):
- inspector/agents/InspectorHeapAgent.h:
- inspector/remote/RemoteConnectionToTarget.h:
- inspector/remote/RemoteConnectionToTarget.mm:
(Inspector::RemoteConnectionToTarget::targetIdentifier):
(Inspector::RemoteConnectionToTarget::setup):
- inspector/remote/RemoteInspector.h:
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::updateClientCapabilities):
- inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
(_generate_declarations_for_enum_conversion_methods):
(_generate_declarations_for_enum_conversion_methods.return_type_with_export_macro):
- inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:
(CppProtocolTypesImplementationGenerator._generate_enum_conversion_methods_for_domain.generate_conversion_method_body):
- inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
- inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
- inspector/scripts/tests/expected/enum-values.json-result:
- inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
- inspector/scripts/tests/expected/type-declaration-array-type.json-result:
- inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
- inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
- jit/JITCode.h:
(JSC::JITCode::findPC):
- jit/JITDivGenerator.cpp:
(JSC::JITDivGenerator::generateFastPath):
- jit/JITOperations.cpp:
- jit/PCToCodeOriginMap.cpp:
(JSC::PCToCodeOriginMap::findPC):
- jit/PCToCodeOriginMap.h:
- jsc.cpp:
(WTF::RuntimeArray::getOwnPropertySlot):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- parser/ModuleAnalyzer.cpp:
(JSC::ModuleAnalyzer::exportVariable):
- runtime/ConcurrentJSLock.h:
(JSC::ConcurrentJSLocker::ConcurrentJSLocker):
- runtime/DefinePropertyAttributes.h:
(JSC::DefinePropertyAttributes::writable):
(JSC::DefinePropertyAttributes::configurable):
(JSC::DefinePropertyAttributes::enumerable):
- runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::getOwnPropertySlot):
(JSC::GenericArguments<Type>::put):
(JSC::GenericArguments<Type>::deleteProperty):
(JSC::GenericArguments<Type>::defineOwnProperty):
- runtime/HasOwnPropertyCache.h:
(JSC::HasOwnPropertyCache::get):
- runtime/HashMapImpl.h:
(JSC::concurrentJSMapHash):
- runtime/Identifier.h:
(JSC::parseIndex):
- runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toNumberFromPrimitive):
(JSC::JSValue::putToPrimitive):
- runtime/JSCJSValue.h:
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::toAdaptorNativeFromValueWithoutCoercion):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot):
(JSC::JSGenericTypedArrayView<Adaptor>::put):
- runtime/JSModuleRecord.cpp:
- runtime/JSModuleRecord.h:
- runtime/JSObject.cpp:
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::putDirectMayBeIndex):
(JSC::JSObject::defineOwnProperty):
- runtime/JSObject.h:
(JSC::JSObject::getOwnPropertySlot):
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::putOwnDataPropertyMayBeIndex):
- runtime/JSObjectInlines.h:
(JSC::JSObject::putInline):
- runtime/JSString.cpp:
(JSC::JSString::getStringPropertyDescriptor):
- runtime/JSString.h:
(JSC::JSString::getStringPropertySlot):
- runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parse):
- runtime/MathCommon.h:
(JSC::safeReciprocalForDivByConst):
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncHasOwnProperty):
- runtime/PropertyDescriptor.h:
(JSC::toPropertyDescriptor):
- runtime/PropertyName.h:
(JSC::parseIndex):
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
- runtime/StringObject.cpp:
(JSC::StringObject::put):
(JSC::isStringOwnProperty):
(JSC::StringObject::deleteProperty):
- runtime/ToNativeFromValue.h:
(JSC::toNativeFromValueWithoutCoercion):
- runtime/TypedArrayAdaptors.h:
(JSC::IntegralTypedArrayAdaptor::toNativeFromInt32WithoutCoercion):
(JSC::IntegralTypedArrayAdaptor::toNativeFromUint32WithoutCoercion):
(JSC::IntegralTypedArrayAdaptor::toNativeFromDoubleWithoutCoercion):
(JSC::FloatTypedArrayAdaptor::toNativeFromInt32WithoutCoercion):
(JSC::FloatTypedArrayAdaptor::toNativeFromDoubleWithoutCoercion):
(JSC::Uint8ClampedAdaptor::toNativeFromInt32WithoutCoercion):
(JSC::Uint8ClampedAdaptor::toNativeFromDoubleWithoutCoercion):
Source/WebCore:
Rename valueOr to value_or. This is specified in C++17 proposal.
Use Optional::emplace. C++17 Optional::operator=(Optional&&) requires
either copy assignment operator or move assignment operator. But
DFG::JSValueOperand etc. only defines move constructors and drop
implicit copy assignment operators.
It was OK in the previous WTF::Optional since it always uses move
constructors. But it is not valid in C++17 Optional. We use Optional::emplace
instead. This function has the same semantics to the previous WTF::Optional's
operator=.
No behavior change.
- Modules/applepay/ApplePaySession.cpp:
(WebCore::parseAmount):
(WebCore::createContactFields):
(WebCore::toLineItemType):
(WebCore::createLineItem):
(WebCore::createLineItems):
(WebCore::createMerchantCapabilities):
(WebCore::createSupportedNetworks):
(WebCore::toShippingType):
(WebCore::createShippingMethod):
(WebCore::createShippingMethods):
(WebCore::createPaymentRequest):
(WebCore::toPaymentAuthorizationStatus):
- Modules/applepay/PaymentContact.h:
- Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::completeShippingMethodSelection):
(WebCore::PaymentCoordinator::completeShippingContactSelection):
(WebCore::PaymentCoordinator::completePaymentMethodSelection):
- Modules/applepay/PaymentCoordinator.h:
- Modules/applepay/PaymentCoordinatorClient.h:
- Modules/applepay/PaymentMerchantSession.h:
- Modules/applepay/PaymentRequest.h:
- Modules/applepay/cocoa/PaymentContactCocoa.mm:
(WebCore::PaymentContact::fromJS):
- Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm:
(WebCore::PaymentMerchantSession::fromJS):
- Modules/encryptedmedia/MediaKeyStatusMap.cpp:
(WebCore::MediaKeyStatusMap::Iterator::next):
- Modules/encryptedmedia/MediaKeyStatusMap.h:
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::extract):
- Modules/fetch/FetchBody.h:
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::FetchBodyOwner):
(WebCore::FetchBodyOwner::loadBlob):
(WebCore::FetchBodyOwner::finishBlobLoading):
- Modules/fetch/FetchBodyOwner.h:
- Modules/fetch/FetchHeaders.cpp:
(WebCore::FetchHeaders::Iterator::next):
- Modules/fetch/FetchHeaders.h:
- Modules/fetch/FetchRequest.cpp:
(WebCore::setReferrerPolicy):
(WebCore::setMode):
(WebCore::setCredentials):
(WebCore::setCache):
(WebCore::setRedirect):
(WebCore::setMethod):
(WebCore::setReferrer):
(WebCore::buildOptions):
(WebCore::FetchRequest::clone):
- Modules/fetch/FetchRequest.h:
(WebCore::FetchRequest::FetchRequest):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::FetchResponse):
(WebCore::FetchResponse::cloneForJS):
(WebCore::FetchResponse::fetch):
(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didFail):
(WebCore::FetchResponse::BodyLoader::didReceiveResponse):
(WebCore::FetchResponse::BodyLoader::stop):
- Modules/fetch/FetchResponse.h:
- Modules/geolocation/Coordinates.cpp:
(WebCore::Coordinates::altitude):
(WebCore::Coordinates::altitudeAccuracy):
(WebCore::Coordinates::heading):
(WebCore::Coordinates::speed):
- Modules/geolocation/Coordinates.h:
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::stringToDirection):
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBDatabase.h:
- Modules/indexeddb/IDBDatabaseIdentifier.h:
(WebCore::IDBDatabaseIdentifier::hash):
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::open):
- Modules/indexeddb/IDBFactory.h:
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::getAll):
(WebCore::IDBIndex::getAllKeys):
- Modules/indexeddb/IDBIndex.h:
- Modules/indexeddb/IDBKeyPath.h:
(WebCore::isolatedCopy):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::keyPath):
(WebCore::IDBObjectStore::getAll):
(WebCore::IDBObjectStore::getAllKeys):
- Modules/indexeddb/IDBObjectStore.h:
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::requestGetAllObjectStoreRecords):
(WebCore::IDBTransaction::requestGetAllIndexRecords):
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/IDBVersionChangeEvent.cpp:
(WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
- Modules/indexeddb/IDBVersionChangeEvent.h:
- Modules/indexeddb/server/IDBSerialization.cpp:
(WebCore::serializeIDBKeyPath):
(WebCore::deserializeIDBKeyPath):
- Modules/indexeddb/server/IDBSerialization.h:
- Modules/indexeddb/server/MemoryIndex.cpp:
(WebCore::IDBServer::MemoryIndex::getAllRecords):
- Modules/indexeddb/server/MemoryIndex.h:
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::getAllRecords):
- Modules/indexeddb/server/MemoryObjectStore.h:
- Modules/indexeddb/server/MemoryObjectStoreCursor.cpp:
(WebCore::IDBServer::MemoryObjectStoreCursor::objectStoreCleared):
(WebCore::IDBServer::MemoryObjectStoreCursor::keyDeleted):
(WebCore::IDBServer::MemoryObjectStoreCursor::setFirstInRemainingRange):
(WebCore::IDBServer::MemoryObjectStoreCursor::setForwardIteratorFromRemainingRange):
(WebCore::IDBServer::MemoryObjectStoreCursor::setReverseIteratorFromRemainingRange):
(WebCore::IDBServer::MemoryObjectStoreCursor::incrementForwardIterator):
(WebCore::IDBServer::MemoryObjectStoreCursor::incrementReverseIterator):
- Modules/indexeddb/server/MemoryObjectStoreCursor.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
- Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::createNewObjectStore):
- Modules/indexeddb/shared/IDBDatabaseInfo.h:
- Modules/indexeddb/shared/IDBGetAllRecordsData.h:
- Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::IDBObjectStoreInfo):
- Modules/indexeddb/shared/IDBObjectStoreInfo.h:
(WebCore::IDBObjectStoreInfo::keyPath):
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::displayNameForTrack):
- Modules/mediacontrols/MediaControlsHost.h:
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::endOfStream):
(WebCore::MediaSource::streamEndedWithError):
- Modules/mediasource/MediaSource.h:
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::PeerConnectionBackend::createOfferFailed):
(WebCore::PeerConnectionBackend::createAnswerSucceeded):
(WebCore::PeerConnectionBackend::createAnswerFailed):
(WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):
(WebCore::PeerConnectionBackend::stop):
- Modules/mediastream/PeerConnectionBackend.h:
- Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::insertDTMF):
- Modules/mediastream/RTCDTMFSender.h:
- Modules/mediastream/RTCIceCandidate.cpp:
(WebCore::RTCIceCandidate::create):
(WebCore::RTCIceCandidate::RTCIceCandidate):
- Modules/mediastream/RTCIceCandidate.h:
(WebCore::RTCIceCandidate::sdpMLineIndex):
- Modules/mediastream/SDPProcessor.cpp:
(WebCore::iceCandidateFromJSON):
- Modules/proximity/DeviceProximityEvent.h:
- Modules/streams/ReadableStreamSource.h:
(WebCore::ReadableStreamSource::startFinished):
(WebCore::ReadableStreamSource::pullFinished):
(WebCore::ReadableStreamSource::clean):
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::start):
- Modules/webaudio/AudioBufferSourceNode.h:
- Modules/webdatabase/SQLResultSet.h:
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::close):
- Modules/websockets/WebSocket.h:
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::didReceiveSocketStreamData):
- Modules/websockets/WebSocketChannel.h:
- bindings/generic/IDLTypes.h:
(WebCore::IDLType::nullValue):
- bindings/js/CachedModuleScript.h:
(WebCore::CachedModuleScript::error):
- bindings/js/Dictionary.h:
(WebCore::Dictionary::get):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::toJS):
- bindings/js/IDBBindingUtilities.h:
- bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
- bindings/js/JSCryptoKeySerializationJWK.h:
- bindings/js/JSDOMConvert.h:
(WebCore::Detail::VariadicConverterBase::convert):
(WebCore::Detail::VariadicConverterBase<IDLInterface<T>>::convert):
(WebCore::convertVariadicArguments):
- bindings/js/JSDOMIterator.h:
(WebCore::IteratorTraits>::next):
- bindings/js/JSDOMPromise.h:
(WebCore::DOMPromise::DOMPromise):
(WebCore::DOMPromise::operator=):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
- bindings/js/JSDictionary.h:
(WebCore::JSDictionary::convertValue):
- bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
- bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
(WebCore::JSHTMLAllCollection::item):
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::toDataURL):
- bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::construct):
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::createStringConstraint):
(WebCore::createBooleanConstraint):
(WebCore::createDoubleConstraint):
(WebCore::createIntConstraint):
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::importKey):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::setupModuleScriptHandlers):
(WebCore::ScriptController::executeScriptInWorld):
(WebCore::ScriptController::executeScript):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateEnumerationImplementationContent):
(GenerateEnumerationHeaderContent):
(GenerateDefaultValue):
(GenerateImplementation):
(GenerateParametersCheck):
- bindings/scripts/test/JS/JSFloat64Array.cpp:
(WebCore::JSFloat64Array::getOwnPropertySlot):
(WebCore::JSFloat64Array::getOwnPropertyDescriptor):
(WebCore::JSFloat64Array::put):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::getOwnPropertySlot):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::parseEnumeration<TestObj::EnumType>):
(WebCore::parseEnumeration<TestObj::Optional>):
(WebCore::parseEnumeration<AlternateEnumName>):
(WebCore::parseEnumeration<TestObj::EnumA>):
(WebCore::parseEnumeration<TestObj::EnumB>):
(WebCore::parseEnumeration<TestObj::EnumC>):
(WebCore::parseEnumeration<TestObj::Kind>):
(WebCore::parseEnumeration<TestObj::Size>):
(WebCore::parseEnumeration<TestObj::Confidence>):
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::JSTestObj::getOwnPropertySlot):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgCaller):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgCaller):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgCaller):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsCaller):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongCaller):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongCaller):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceCaller):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanCaller):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordCaller):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Caller):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Caller):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentCaller):
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:
(WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>):
- bindings/scripts/test/JS/JSTestStandaloneDictionary.h:
- bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp:
(WebCore::parseEnumeration<TestStandaloneEnumeration>):
- bindings/scripts/test/JS/JSTestStandaloneEnumeration.h:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionSetShadowCaller):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampCaller):
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::put):
- crypto/CryptoAlgorithmRegistry.cpp:
(WebCore::CryptoAlgorithmRegistry::identifier):
- crypto/CryptoAlgorithmRegistry.h:
- crypto/CryptoKeySerialization.h:
- crypto/JsonWebKey.h:
- crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::importKey):
- crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
(WebCore::CryptoAlgorithmAES_KW::importKey):
- crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::generateKey):
(WebCore::CryptoAlgorithmHMAC::importKey):
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
- crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp:
(WebCore::calculateSignature):
- crypto/keys/CryptoKeyAES.h:
- crypto/keys/CryptoKeyHMAC.h:
- crypto/keys/CryptoKeyRSA.cpp:
(WebCore::CryptoKeyRSA::importJwk):
- crypto/keys/CryptoKeyRSA.h:
- crypto/keys/CryptoKeySerializationRaw.cpp:
(WebCore::CryptoKeySerializationRaw::reconcileAlgorithm):
- crypto/keys/CryptoKeySerializationRaw.h:
- crypto/mac/CryptoAlgorithmHMACMac.cpp:
(WebCore::commonCryptoHMACAlgorithm):
- crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
(WebCore::cryptoDigestAlgorithm):
- crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
- crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::calculateStyleMask):
(WebCore::CSSFontFace::calculateWeightMask):
- css/CSSFontFace.h:
- css/CSSFontFaceSet.cpp:
(WebCore::computeFontTraitsMask):
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::doubleValue):
(WebCore::CSSPrimitiveValue::doubleValueInternal):
- css/CSSPrimitiveValue.h:
- css/CSSPropertyNames.in:
- css/CSSSegmentedFontFace.cpp:
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::create):
(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::addRule):
- css/CSSStyleSheet.h:
- css/FontFace.cpp:
(WebCore::FontFace::fontStateChanged):
- css/FontFace.h:
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::completedLoading):
- css/FontFaceSet.h:
- css/MediaQueryEvaluator.cpp:
(WebCore::doubleValue):
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertGridPosition):
(WebCore::StyleBuilderConverter::convertWordSpacing):
(WebCore::StyleBuilderConverter::convertPerspective):
(WebCore::StyleBuilderConverter::convertMarqueeIncrement):
(WebCore::StyleBuilderConverter::convertFilterOperations):
(WebCore::StyleBuilderConverter::convertLineHeight):
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueLineHeight):
- css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::requestStyleSheet):
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
(WebCore::CSSParser::parseSpringTimingFunctionValue):
(WebCore::CSSParser::parseColorFunctionParameters):
(WebCore::CSSParser::parseColorFromValue):
- css/parser/CSSParser.h:
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelationIfResolvingStyle):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):
- dom/CustomElementReactionQueue.cpp:
- dom/Document.cpp:
(WebCore::Document::lastModified):
- dom/Element.cpp:
(WebCore::Element::scrollBy):
(WebCore::Element::getIntegralAttribute):
(WebCore::Element::getUnsignedIntegralAttribute):
(WebCore::Element::resolveCustomStyle):
- dom/Element.h:
- dom/ElementIteratorAssertions.h:
(WebCore::ElementIteratorAssertions::dropEventDispatchAssertion):
(WebCore::ElementIteratorAssertions::clear):
- dom/ExceptionOr.h:
- dom/InlineStyleSheetOwner.cpp:
(WebCore::makeInlineStyleSheetCacheKey):
- dom/KeyboardEvent.h:
- dom/LoadableClassicScript.cpp:
(WebCore::LoadableClassicScript::error):
- dom/LoadableClassicScript.h:
- dom/LoadableModuleScript.cpp:
(WebCore::LoadableModuleScript::error):
- dom/LoadableModuleScript.h:
- dom/LoadableScript.h:
- dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::create):
(WebCore::MessageEvent::initMessageEvent):
- dom/MessageEvent.h:
- dom/MutationObserver.cpp:
(WebCore::MutationObserver::observe):
- dom/MutationObserver.h:
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
- dom/PseudoElement.cpp:
(WebCore::PseudoElement::resolveCustomStyle):
- dom/PseudoElement.h:
- dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::setToBeforeChild):
(WebCore::RangeBoundaryPoint::setToAfterChild):
(WebCore::RangeBoundaryPoint::setToEndOfNode):
(WebCore::RangeBoundaryPoint::invalidateOffset):
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::determineScriptType):
(WebCore::ScriptElement::prepareScript):
(WebCore::ScriptElement::executeScriptAndDispatchEvent):
- dom/ScriptElement.h:
- dom/TextDecoder.cpp:
(WebCore::TextDecoder::decode):
- dom/TextDecoder.h:
- dom/UserGestureIndicator.cpp:
(WebCore::UserGestureIndicator::UserGestureIndicator):
- dom/UserGestureIndicator.h:
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs):
- editing/CompositeEditCommand.h:
- fileapi/File.h:
- history/CachedFrame.h:
(WebCore::CachedFrame::hasInsecureContent):
- html/DOMTokenList.cpp:
(WebCore::DOMTokenList::toggle):
- html/DOMTokenList.h:
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::toDataURL):
- html/HTMLCanvasElement.h:
- html/HTMLElement.cpp:
(WebCore::HTMLElement::parseBorderWidthAttribute):
(WebCore::HTMLElement::parseAttribute):
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::createForJSConstructor):
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
- html/HTMLImageElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::findClosestTickMarkValue):
(WebCore::HTMLInputElement::maxLengthAttributeChanged):
(WebCore::HTMLInputElement::minLengthAttributeChanged):
- html/HTMLInputElement.h:
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::initializeStyleSheet):
(WebCore::HTMLLinkElement::iconType):
- html/HTMLLinkElement.h:
- html/HTMLOListElement.h:
- html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::add):
- html/HTMLOptionsCollection.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add):
(WebCore::HTMLSelectElement::setLength):
- html/HTMLSelectElement.h:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::maxLengthAttributeChanged):
(WebCore::HTMLTextAreaElement::minLengthAttributeChanged):
- html/ImageInputType.cpp:
(WebCore::ImageInputType::height):
(WebCore::ImageInputType::width):
- html/InputType.cpp:
(WebCore::InputType::findClosestTickMarkValue):
- html/InputType.h:
- html/LinkIconCollector.cpp:
- html/LinkRelAttribute.h:
- html/RangeInputType.cpp:
(WebCore::RangeInputType::findClosestTickMarkValue):
- html/RangeInputType.h:
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::restore):
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
(WebCore::CanvasRenderingContext2D::isPointInPathInternal):
(WebCore::CanvasRenderingContext2D::isPointInStrokeInternal):
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::fillText):
(WebCore::CanvasRenderingContext2D::strokeText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::arrayBufferViewElementSize):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::bufferData):
(WebCore::WebGLRenderingContextBase::bufferSubData):
(WebCore::WebGLRenderingContextBase::texSubImage2D):
(WebCore::WebGLRenderingContextBase::validateArrayBufferType):
(WebCore::WebGLRenderingContextBase::validateTexFuncData):
(WebCore::WebGLRenderingContextBase::texImage2D):
- html/canvas/WebGLRenderingContextBase.h:
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::indexOfFirstUnopenFormattingElement):
(WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
- html/parser/HTMLConstructionSite.h:
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseHTMLIntegerInternal):
(WebCore::parseHTMLInteger):
(WebCore::parseHTMLNonNegativeInteger):
(WebCore::parseValidHTMLNonNegativeIntegerInternal):
(WebCore::parseValidHTMLNonNegativeInteger):
(WebCore::parseValidHTMLFloatingPointNumberInternal):
(WebCore::parseValidHTMLFloatingPointNumber):
(WebCore::parseHTTPRefreshInternal):
- html/parser/HTMLParserIdioms.h:
(WebCore::limitToOnlyHTMLNonNegative):
- html/parser/HTMLSrcsetParser.cpp:
(WebCore::parseDescriptors):
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):
(WebCore::SliderThumbElement::resolveCustomStyle):
(WebCore::SliderContainerElement::resolveCustomStyle):
- html/shadow/SliderThumbElement.h:
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerElement::resolveCustomStyle):
(WebCore::TextControlInnerTextElement::resolveCustomStyle):
(WebCore::TextControlPlaceholderElement::resolveCustomStyle):
- html/shadow/TextControlInnerElements.h:
- html/track/TrackEvent.h:
- inspector/InspectorIndexedDBAgent.cpp:
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didFinishXHRLoading):
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::addRule):
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::setInstruments):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startIconLoading):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
(WebCore::DocumentThreadableLoader::clearResource):
(WebCore::DocumentThreadableLoader::preflightSuccess):
(WebCore::DocumentThreadableLoader::preflightFailure):
- loader/DocumentThreadableLoader.h:
- loader/EmptyClients.cpp:
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::dispatchDidCommitLoad):
(WebCore::FrameLoader::clearTestingOverrides):
- loader/FrameLoader.h:
- loader/FrameLoaderClient.h:
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::resourceTypeFromAsAttribute):
(WebCore::LinkLoader::loadLink):
- loader/LinkLoader.h:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::notifyDone):
- loader/SubresourceLoader.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::setLoadPriority):
- loader/cache/CachedResource.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::CachedResourceRequest):
- loader/cache/CachedResourceRequest.h:
(WebCore::CachedResourceRequest::priority):
- mathml/MathMLElement.h:
(WebCore::MathMLElement::specifiedDisplayStyle):
(WebCore::MathMLElement::specifiedMathVariant):
- mathml/MathMLFractionElement.cpp:
(WebCore::MathMLFractionElement::cachedFractionAlignment):
(WebCore::MathMLFractionElement::parseAttribute):
- mathml/MathMLFractionElement.h:
- mathml/MathMLMathElement.cpp:
(WebCore::MathMLMathElement::specifiedDisplayStyle):
(WebCore::MathMLMathElement::parseAttribute):
- mathml/MathMLMathElement.h:
- mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::parseAttribute):
- mathml/MathMLMencloseElement.h:
- mathml/MathMLOperatorDictionary.cpp:
(WebCore::MathMLOperatorDictionary::search):
- mathml/MathMLOperatorDictionary.h:
- mathml/MathMLOperatorElement.cpp:
(WebCore::MathMLOperatorElement::computeOperatorFlag):
(WebCore::MathMLOperatorElement::childrenChanged):
(WebCore::attributeNameToPropertyFlag):
(WebCore::MathMLOperatorElement::parseAttribute):
- mathml/MathMLOperatorElement.h:
- mathml/MathMLPaddedElement.cpp:
(WebCore::MathMLPaddedElement::parseAttribute):
- mathml/MathMLPaddedElement.h:
- mathml/MathMLPresentationElement.cpp:
(WebCore::MathMLPresentationElement::cachedBooleanAttribute):
(WebCore::MathMLPresentationElement::cachedMathMLLength):
(WebCore::MathMLPresentationElement::specifiedDisplayStyle):
(WebCore::MathMLPresentationElement::specifiedMathVariant):
(WebCore::MathMLPresentationElement::parseAttribute):
- mathml/MathMLPresentationElement.h:
(WebCore::MathMLPresentationElement::toOptionalBool):
- mathml/MathMLScriptsElement.cpp:
(WebCore::MathMLScriptsElement::parseAttribute):
- mathml/MathMLScriptsElement.h:
- mathml/MathMLSpaceElement.cpp:
(WebCore::MathMLSpaceElement::parseAttribute):
- mathml/MathMLSpaceElement.h:
- mathml/MathMLTokenElement.cpp:
(WebCore::MathMLTokenElement::convertToSingleCodePoint):
- mathml/MathMLTokenElement.h:
- mathml/MathMLUnderOverElement.cpp:
(WebCore::MathMLUnderOverElement::parseAttribute):
- mathml/MathMLUnderOverElement.h:
- page/ChromeClient.h:
- page/DOMTimer.cpp:
(WebCore::DOMTimer::alignedFireTime):
- page/DOMTimer.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::scrollBy):
- page/DOMWindow.h:
- page/EventSource.cpp:
(WebCore::EventSource::parseEventStream):
(WebCore::EventSource::parseEventStreamLine):
- page/EventSource.h:
- page/FrameView.cpp:
(WebCore::FrameView::recalculateScrollbarOverlayStyle):
(WebCore::FrameView::setLayoutViewportOverrideRect):
(WebCore::FrameView::setViewExposedRect):
- page/FrameView.h:
- page/Page.cpp:
(WebCore::Page::takeAnyMediaCanStartListener):
- page/Page.h:
(WebCore::Page::eventThrottlingBehaviorOverride):
(WebCore::Page::setEventThrottlingBehaviorOverride):
- page/ScrollToOptions.h:
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::create):
- page/SecurityOrigin.h:
(WebCore::SecurityOrigin::port):
- page/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::debugString):
(WebCore::SecurityOriginData::databaseIdentifier):
(WebCore::SecurityOriginData::fromDatabaseIdentifier):
- page/SecurityOriginData.h:
(WebCore::SecurityOriginData::SecurityOriginData):
(WebCore::SecurityOriginData::isEmpty):
(WebCore::SecurityOriginDataHash::hash):
- page/SecurityOriginHash.h:
(WebCore::SecurityOriginHash::hash):
- page/WindowFeatures.cpp:
(WebCore::parseDialogFeatures):
(WebCore::boolFeature):
(WebCore::floatFeature):
- page/WindowFeatures.h:
- page/csp/ContentSecurityPolicySource.cpp:
(WebCore::ContentSecurityPolicySource::ContentSecurityPolicySource):
(WebCore::ContentSecurityPolicySource::portMatches):
- page/csp/ContentSecurityPolicySource.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::ContentSecurityPolicySourceList::parse):
(WebCore::ContentSecurityPolicySourceList::parseSource):
(WebCore::ContentSecurityPolicySourceList::parsePort):
- page/csp/ContentSecurityPolicySourceList.h:
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
(WebCore::AsyncScrollingCoordinator::reconcileScrollingState):
- page/scrolling/AsyncScrollingCoordinator.h:
(WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
- page/scrolling/ScrollingCoordinator.h:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::setScrollPositionWithoutContentEdgeConstraints):
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
(WebCore::ScrollingTreeFrameScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
- page/scrolling/ios/ScrollingTreeIOS.cpp:
(WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
- page/scrolling/ios/ScrollingTreeIOS.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
- platform/DragImage.cpp:
- platform/LinkIcon.h:
- platform/MemoryPressureHandler.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange):
- platform/ScrollView.h:
- platform/Theme.h:
(WebCore::Theme::controlFont):
- platform/Timer.h:
(WebCore::TimerBase::alignedFireTime):
- platform/URL.cpp:
(WebCore::URL::port):
(WebCore::defaultPortForProtocol):
(WebCore::portAllowed):
- platform/URL.h:
- platform/URLParser.cpp:
(WebCore::URLParser::defaultPortForProtocol):
(WebCore::findLongestZeroSequence):
(WebCore::URLParser::parseIPv4Piece):
(WebCore::URLParser::parseIPv4Host):
(WebCore::URLParser::parseIPv4PieceInsideIPv6):
(WebCore::URLParser::parseIPv4AddressInsideIPv6):
(WebCore::URLParser::parseIPv6Host):
(WebCore::URLParser::domainToASCII):
(WebCore::URLParser::formURLDecode):
- platform/URLParser.h:
- platform/graphics/BitmapImage.h:
- platform/graphics/Color.h:
(WebCore::colorWithOverrideAlpha):
- platform/graphics/DisplayRefreshMonitorClient.h:
- platform/graphics/Font.h:
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::drawText):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::adjustSelectionRectForText):
(WebCore::FontCascade::getEmphasisMarkGlyphData):
(WebCore::FontCascade::emphasisMarkAscent):
(WebCore::FontCascade::emphasisMarkDescent):
(WebCore::FontCascade::emphasisMarkHeight):
- platform/graphics/FontCascade.h:
- platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawEmphasisMarks):
(WebCore::GraphicsContext::drawBidiText):
- platform/graphics/GraphicsContext.h:
(WebCore::InterpolationQualityMaintainer::InterpolationQualityMaintainer):
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setPosition):
(WebCore::GraphicsLayer::setApproximatePosition):
- platform/graphics/Image.h:
(WebCore::Image::hotSpot):
- platform/graphics/ImageBuffer.h:
- platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::clearMetadata):
(WebCore::ImageFrameCache::metadata):
(WebCore::ImageFrameCache::frameMetadataAtIndex):
(WebCore::ImageFrameCache::hotSpot):
- platform/graphics/ImageFrameCache.h:
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::hotSpot):
- platform/graphics/PathUtilities.cpp:
(WebCore::rectFromPolygon):
(WebCore::PathUtilities::pathWithShrinkWrappedRectsForOutline):
- platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::calculateLayerBoundingRect):
- platform/graphics/TiledBacking.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::flush):
(WebCore::SourceBufferPrivateAVFObjC::naturalSize):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::computeVisibleAndCoverageRect):
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setLayoutViewportRect):
- platform/graphics/ca/TileController.h:
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::toDataURL):
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::encodeImage):
(WebCore::dataURL):
(WebCore::ImageBuffer::toDataURL):
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoder::hotSpot):
- platform/graphics/cg/ImageDecoderCG.h:
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::openTypeFeature):
(WebCore::advanceForColorBitmapFont):
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawGlyphs::localBounds):
(WebCore::DisplayList::DrawLine::localBounds):
(WebCore::DisplayList::DrawLinesForText::localBounds):
(WebCore::DisplayList::DrawLineForDocumentMarker::localBounds):
(WebCore::DisplayList::DrawFocusRingPath::localBounds):
(WebCore::DisplayList::DrawFocusRingRects::localBounds):
(WebCore::DisplayList::StrokeRect::localBounds):
(WebCore::DisplayList::StrokePath::localBounds):
(WebCore::DisplayList::StrokeEllipse::localBounds):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawingItem::localBounds):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::updateItemExtent):
(WebCore::DisplayList::Recorder::ContextState::rotate):
(WebCore::DisplayList::Recorder::ContextState::concatCTM):
- platform/graphics/efl/ImageBufferEfl.cpp:
(WebCore::encodeImageJPEG):
(WebCore::ImageBuffer::toDataURL):
- platform/graphics/filters/Filter.h:
(WebCore::Filter::mapAbsolutePointToLocalPoint):
- platform/graphics/gtk/ImageBufferGtk.cpp:
(WebCore::encodeImage):
(WebCore::ImageBuffer::toDataURL):
- platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::selectionRect):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::capitalized):
(WebCore::shouldSynthesize):
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperLayer::replicaTransform):
(WebCore::TextureMapperLayer::mapScrollOffset):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::transformedVisibleRect):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
- platform/graphics/transforms/AffineTransform.cpp:
(WebCore::AffineTransform::inverse):
- platform/graphics/transforms/AffineTransform.h:
- platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::mappedPoint):
(WebCore::TransformState::mappedSecondaryQuad):
(WebCore::TransformState::mapQuad):
(WebCore::TransformState::flattenWithTransform):
- platform/graphics/transforms/TransformState.h:
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::inverse):
- platform/graphics/transforms/TransformationMatrix.h:
- platform/graphics/win/ImageBufferDirect2D.cpp:
(WebCore::ImageBuffer::toDataURL):
- platform/graphics/win/ImageDecoderDirect2D.cpp:
(WebCore::ImageDecoder::hotSpot):
- platform/graphics/win/ImageDecoderDirect2D.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::supportsXDamage):
- platform/graphics/x11/PlatformDisplayX11.h:
- platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::hotSpot):
- platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::hotSpot):
(WebCore::ICOImageDecoder::hotSpotAtIndex):
- platform/image-decoders/ico/ICOImageDecoder.h:
- platform/image-encoders/JPEGImageEncoder.cpp:
(WebCore::compressRGBABigEndianToJPEG):
- platform/image-encoders/JPEGImageEncoder.h:
- platform/ios/LegacyTileCache.h:
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::setOverrideVisibleRect):
- platform/ios/LegacyTileLayer.mm:
(-[LegacyTileHostLayer renderInContext:]):
- platform/linux/MemoryPressureHandlerLinux.cpp:
- platform/mac/ThemeMac.h:
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::controlFont):
- platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaTrackConstraintSetMap::set):
- platform/mediastream/MediaConstraints.h:
(WebCore::MediaTrackConstraintSetMap::width):
(WebCore::MediaTrackConstraintSetMap::height):
(WebCore::MediaTrackConstraintSetMap::sampleRate):
(WebCore::MediaTrackConstraintSetMap::sampleSize):
(WebCore::MediaTrackConstraintSetMap::aspectRatio):
(WebCore::MediaTrackConstraintSetMap::frameRate):
(WebCore::MediaTrackConstraintSetMap::volume):
(WebCore::MediaTrackConstraintSetMap::echoCancellation):
(WebCore::MediaTrackConstraintSetMap::facingMode):
(WebCore::MediaTrackConstraintSetMap::deviceId):
(WebCore::MediaTrackConstraintSetMap::groupId):
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::supportsSizeAndFrameRate):
(WebCore::RealtimeMediaSource::applySizeAndFrameRate):
(WebCore::RealtimeMediaSource::applyConstraints):
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::applySizeAndFrameRate):
(WebCore::AVVideoCaptureSource::bestSessionPresetForVideoDimensions):
(WebCore::AVVideoCaptureSource::supportsSizeAndFrameRate):
- platform/mediastream/openwebrtc/MediaEndpointOwr.h:
- platform/network/CacheValidation.cpp:
(WebCore::computeCurrentAge):
(WebCore::computeFreshnessLifetimeForHTTPFamily):
- platform/network/CacheValidation.h:
- platform/network/DataURLDecoder.h:
- platform/network/HTTPHeaderMap.h:
(WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::updateKeyValue):
- platform/network/HTTPParsers.cpp:
(WebCore::parseHTTPDate):
- platform/network/HTTPParsers.h:
- platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::didReceiveResponse):
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::cacheControlMaxAge):
(WebCore::parseDateValueInHeader):
(WebCore::ResourceResponseBase::date):
(WebCore::ResourceResponseBase::age):
(WebCore::ResourceResponseBase::expires):
(WebCore::ResourceResponseBase::lastModified):
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::certificateInfo):
- platform/network/SocketStreamHandle.h:
- platform/network/SocketStreamHandleClient.h:
- platform/network/cf/SocketStreamHandleImpl.h:
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::SocketStreamHandleImpl::readStreamCallback):
(WebCore::SocketStreamHandleImpl::platformSend):
- platform/network/curl/SocketStreamHandleImpl.h:
- platform/network/curl/SocketStreamHandleImplCurl.cpp:
(WebCore::SocketStreamHandleImpl::platformSend):
- platform/network/mac/CookieJarMac.mm:
(WebCore::cookiesInPartitionForURL):
- platform/network/soup/SocketStreamHandleImpl.h:
- platform/network/soup/SocketStreamHandleImplSoup.cpp:
(WebCore::SocketStreamHandleImpl::readBytes):
(WebCore::SocketStreamHandleImpl::platformSend):
- rendering/BreakLines.h:
(WebCore::nextBreakablePositionNonLoosely):
(WebCore::nextBreakablePositionLoosely):
(WebCore::isBreakable):
- rendering/HitTestingTransformState.cpp:
(WebCore::HitTestingTransformState::flattenWithTransform):
- rendering/ImageQualityController.cpp:
(WebCore::ImageQualityController::interpolationQualityFromStyle):
(WebCore::ImageQualityController::chooseInterpolationQuality):
- rendering/ImageQualityController.h:
- rendering/InlineIterator.h:
(WebCore::InlineIterator::moveTo):
(WebCore::InlineIterator::nextBreakablePosition):
(WebCore::InlineIterator::setNextBreakablePosition):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::substringToRender):
(WebCore::InlineTextBox::hyphenatedStringForTextRun):
(WebCore::InlineTextBox::constructTextRun):
- rendering/InlineTextBox.h:
(WebCore::InlineTextBox::substringToRender):
(WebCore::InlineTextBox::hyphenatedStringForTextRun):
(WebCore::InlineTextBox::constructTextRun):
- rendering/OrderIterator.cpp:
(WebCore::OrderIterator::reset):
- rendering/OrderIterator.h:
- rendering/PaintInfo.h:
(WebCore::PaintInfo::applyTransform):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlockRareData::RenderBlockRareData):
(WebCore::RenderBlock::baselinePosition):
(WebCore::RenderBlock::firstLineBaseline):
(WebCore::RenderBlock::inlineBlockBaseline):
(WebCore::RenderBlock::setCachedFlowThreadContainingBlockNeedsUpdate):
- rendering/RenderBlock.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::firstLineBaseline):
(WebCore::RenderBlockFlow::inlineBlockBaseline):
- rendering/RenderBlockFlow.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::constrainLogicalHeightByMinMax):
(WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
(WebCore::RenderBox::overrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::overrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computeContentLogicalHeight):
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing):
(WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeight):
(WebCore::RenderBox::availableLogicalHeightUsing):
- rendering/RenderBox.h:
(WebCore::RenderBox::firstLineBaseline):
(WebCore::RenderBox::inlineBlockBaseline):
- rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::computeTextOrigin):
- rendering/RenderCombineText.h:
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::baselinePosition):
(WebCore::RenderFlexibleBox::firstLineBaseline):
(WebCore::RenderFlexibleBox::inlineBlockBaseline):
(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
(WebCore::RenderFlexibleBox::marginBoxAscentForChild):
(WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing):
(WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
- rendering/RenderFlexibleBox.h:
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addForcedRegionBreak):
- rendering/RenderGrid.cpp:
(WebCore::GridTrack::setGrowthLimit):
(WebCore::GridTrack::setGrowthLimitCap):
(WebCore::GridTrack::growthLimitCap):
(WebCore::RenderGrid::GridSizingData::freeSpace):
(WebCore::RenderGrid::GridSizingData::availableSpace):
(WebCore::RenderGrid::GridSizingData::setAvailableSpace):
(WebCore::RenderGrid::GridSizingData::setFreeSpace):
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeIntrinsicLogicalHeight):
(WebCore::RenderGrid::computeIntrinsicLogicalContentHeightUsing):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::overrideContainingBlockContentSizeForChild):
(WebCore::setOverrideContainingBlockContentSizeForChild):
(WebCore::RenderGrid::logicalHeightForChild):
(WebCore::RenderGrid::minSizeForChild):
(WebCore::RenderGrid::minContentForChild):
(WebCore::RenderGrid::maxContentForChild):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems):
(WebCore::sortByGridTrackGrowthPotential):
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
(WebCore::RenderGrid::computeAutoRepeatTracksCount):
(WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded):
(WebCore::RenderGrid::layoutGridItems):
- rendering/RenderGrid.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::hitTestLayer):
- rendering/RenderLayerBacking.cpp:
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItem):
(WebCore::RenderListBox::listIndexIsVisible):
(WebCore::RenderListBox::computeFirstIndexesVisibleInPaddingTopBottomAreas):
- rendering/RenderListBox.h:
- rendering/RenderMenuList.h:
- rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::calculateMaxColumnHeight):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
(WebCore::RenderTable::baselinePosition):
(WebCore::RenderTable::inlineBlockBaseline):
(WebCore::RenderTable::firstLineBaseline):
- rendering/RenderTable.h:
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::cellBaselinePosition):
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::firstLineBaseline):
- rendering/RenderTableSection.h:
- rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::stringView):
- rendering/RenderText.h:
- rendering/RenderTextControl.h:
- rendering/RenderView.cpp:
(WebCore::RenderView::setSelection):
(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::getSelection):
(WebCore::RenderView::clearSelection):
- rendering/RenderView.h:
- rendering/SelectionSubtreeRoot.h:
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection):
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::LineState::lastFragment):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::createTextRuns):
- rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):
- rendering/line/BreakingContext.h:
(WebCore::WordTrailingSpace::width):
(WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
(WebCore::BreakingContext::InlineIteratorHistory::nextBreakablePosition):
(WebCore::BreakingContext::InlineIteratorHistory::moveTo):
(WebCore::tryHyphenating):
(WebCore::BreakingContext::computeAdditionalBetweenWordsWidth):
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):
- rendering/mathml/MathMLStyle.cpp:
(WebCore::MathMLStyle::resolveMathMLStyle):
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::baselinePosition):
(WebCore::RenderMathMLTable::firstLineBaseline):
- rendering/mathml/RenderMathMLBlock.h:
(WebCore::RenderMathMLBlock::ascentForChild):
- rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::firstLineBaseline):
- rendering/mathml/RenderMathMLFraction.h:
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::firstLineBaseline):
- rendering/mathml/RenderMathMLOperator.h:
- rendering/mathml/RenderMathMLPadded.cpp:
(WebCore::RenderMathMLPadded::firstLineBaseline):
- rendering/mathml/RenderMathMLPadded.h:
- rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::firstLineBaseline):
- rendering/mathml/RenderMathMLRow.h:
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::validateAndGetReferenceChildren):
(WebCore::RenderMathMLScripts::firstLineBaseline):
- rendering/mathml/RenderMathMLScripts.h:
- rendering/mathml/RenderMathMLSpace.cpp:
(WebCore::RenderMathMLSpace::firstLineBaseline):
- rendering/mathml/RenderMathMLSpace.h:
- rendering/mathml/RenderMathMLToken.cpp:
(WebCore::RenderMathMLToken::updateMathVariantGlyph):
(WebCore::RenderMathMLToken::firstLineBaseline):
- rendering/mathml/RenderMathMLToken.h:
- rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::nodeAtFloatPoint):
- rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
- rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::nodeAtFloatPoint):
- rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::postApplyResource):
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::nodeAtPoint):
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::setupNonScalingStrokeContext):
(WebCore::RenderSVGShape::nodeAtFloatPoint):
(WebCore::RenderSVGShape::calculateStrokeBoundingBox):
- rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::nodeAtFloatPoint):
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::intersectRepaintRectWithShadows):
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::clipToImageBuffer):
- rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
- style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::Parent::Parent):
- style/RenderTreeUpdater.h:
- style/StyleScope.h:
- svg/SVGElement.cpp:
(WebCore::SVGElement::parseAttribute):
(WebCore::SVGElement::resolveCustomStyle):
- svg/SVGElement.h:
- svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
(WebCore::SVGToOTFFontConverter::processGlyphElement):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):
(WebCore::convertSVGToOTFFont):
- svg/SVGToOTFFontConversion.h:
- testing/Internals.cpp:
(WebCore::Internals::setEventThrottlingBehaviorOverride):
(WebCore::Internals::eventThrottlingBehaviorOverride):
- testing/Internals.h:
- workers/Worker.h:
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::prepareToSend):
(WebCore::XMLHttpRequest::didFinishLoading):
- xml/XMLHttpRequest.h:
Source/WebKit/mac:
Use WTF::Optional::value_or.
- DOM/DOMHTMLOptionsCollection.mm:
(-[DOMHTMLOptionsCollection add:index:]):
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
- Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidCommitLoad):
- WebCoreSupport/WebPaymentCoordinatorClient.h:
- WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::completeShippingMethodSelection):
(WebPaymentCoordinatorClient::completeShippingContactSelection):
(WebPaymentCoordinatorClient::completePaymentMethodSelection):
- WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin port]):
- WebView/WebHTMLView.mm:
(toAction):
(toTag):
Source/WebKit/win:
Use WTF::Optional::value_or.
- Plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidCommitLoad):
- WebCoreSupport/WebFrameLoaderClient.h:
- WebSecurityOrigin.cpp:
(WebSecurityOrigin::port):
Source/WebKit2:
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::didReceiveResponse):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::responseHasExpired):
- NetworkProcess/cache/NetworkCacheCoders.h:
(WebKit::NetworkCache::Coder<std::optional<T>>::encode):
(WebKit::NetworkCache::Coder<std::optional<T>>::decode):
(WebKit::NetworkCache::Coder<Optional<T>>::encode): Deleted.
(WebKit::NetworkCache::Coder<Optional<T>>::decode): Deleted.
- NetworkProcess/cache/NetworkCacheData.cpp:
(WebKit::NetworkCache::readOrMakeSalt):
- NetworkProcess/cache/NetworkCacheData.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::revalidationRequest):
(WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry):
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
- NetworkProcess/cache/NetworkCacheStatistics.cpp:
(WebKit::NetworkCache::Statistics::recordNotUsingCacheForRequest):
(WebKit::NetworkCache::Statistics::recordRetrievalFailure):
(WebKit::NetworkCache::Statistics::queryWasEverRequested):
- NetworkProcess/cache/NetworkCacheStatistics.h:
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::storeBodyAsBlob):
(WebKit::NetworkCache::Storage::encodeRecord):
(WebKit::NetworkCache::Storage::dispatchWriteOperation):
- NetworkProcess/cache/NetworkCacheStorage.h:
- Platform/IPC/ArgumentCoders.h:
(IPC::ArgumentCoder<std::optional<T>>::encode):
(IPC::ArgumentCoder<std::optional<T>>::decode):
(IPC::ArgumentCoder<WTF::Optional<T>>::encode): Deleted.
(IPC::ArgumentCoder<WTF::Optional<T>>::decode): Deleted.
- Platform/IPC/Connection.h:
(IPC::Connection::sendWithReply):
- Platform/SharedMemory.h:
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::map):
- Scripts/webkit/messages.py:
(class_template_headers):
- Shared/API/APISecurityOrigin.h:
(API::SecurityOrigin::create):
- Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
- Shared/API/c/WKSecurityOriginRef.cpp:
(WKSecurityOriginGetPort):
- Shared/SessionState.h:
- Shared/WebPageCreationParameters.h:
- Shared/mac/ObjCObjectGraph.mm:
(WebKit::typeFromObject):
- Shared/mac/SecItemShim.cpp:
(WebKit::sendSecItemRequest):
- UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):
- UIProcess/API/Cocoa/WKSecurityOrigin.mm:
(-[WKSecurityOrigin port]):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _navigationGestureDidEnd]):
- UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataType):
- UIProcess/API/efl/EwkView.cpp:
(EwkView::setCursor):
- UIProcess/API/mac/WKView.mm:
(toCoreScrollbarStyle):
(toAPIScrollbarStyle):
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::completeShippingMethodSelection):
(WebKit::WebPaymentCoordinatorProxy::completeShippingContactSelection):
(WebKit::WebPaymentCoordinatorProxy::completePaymentMethodSelection):
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in:
- UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toPKPaymentSummaryItem):
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection):
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection):
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::webFrameIDForHandle):
(WebKit::WebAutomationSession::switchToBrowsingContext):
(WebKit::WebAutomationSession::evaluateJavaScriptFunction):
(WebKit::WebAutomationSession::resolveChildFrameHandle):
(WebKit::WebAutomationSession::resolveParentFrameHandle):
(WebKit::WebAutomationSession::computeElementLayout):
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::updateViewExposedRect):
(WebKit::WebViewImpl::setOverlayScrollbarStyle):
(WebKit::WebViewImpl::overlayScrollbarStyle):
- UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::setViewExposedRect):
- UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::viewExposedRect):
- UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
- UIProcess/InspectorServer/WebSocketServerConnection.h:
- UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll):
- UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
- UIProcess/Scrolling/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
- UIProcess/Scrolling/RemoteScrollingTree.h:
- UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::fileCreationTime):
(WebKit::fileModificationTime):
- UIProcess/Storage/LocalStorageDatabaseTracker.h:
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backForwardListState):
(WebKit::WebBackForwardList::restoreFromState):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setOverlayScrollbarStyle):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::overlayScrollbarStyle):
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebsiteData/WebsiteDataRecord.h:
- UIProcess/efl/WebView.cpp:
(WebKit::WebView::transformFromScene):
- UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
- UIProcess/gtk/WebPreferencesGtk.cpp:
(WebKit::WebPreferences::platformInitializeStore):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _scrollOffsetForEvent:]):
(-[WKContentView _interpretKeyEvent:isCharEvent:]):
- UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::encodeFormDataElement):
(WebKit::decodeFormDataElement):
(WebKit::decodeV1SessionHistory):
- UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
- UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::setViewExposedRect):
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::completeShippingMethodSelection):
(WebKit::WebPaymentCoordinator::completeShippingContactSelection):
(WebKit::WebPaymentCoordinator::completePaymentMethodSelection):
- WebProcess/ApplePay/WebPaymentCoordinator.h:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetEventThrottlingBehaviorOverride):
- WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
(WebKit::PDFPlugin::convertFromPDFViewToRootView):
(WebKit::PDFPlugin::convertFromPDFViewToScreen):
(WebKit::PDFPlugin::boundsOnScreen):
(WebKit::PDFPlugin::geometryDidChange):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::geometryDidChange):
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performFrameLoadURLRequest):
(WebKit::PluginView::evaluate):
- WebProcess/Plugins/WebPluginInfoProvider.cpp:
(WebKit::WebPluginInfoProvider::pluginLoadClientPolicyForHost):
- WebProcess/Plugins/WebPluginInfoProvider.h:
- WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):
- WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toFormData):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::preferredScrollbarOverlayStyle):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/DrawingArea.h:
- WebProcess/WebPage/DrawingArea.messages.in:
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::certificateInfo):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_userInterfaceLayoutDirection):
(WebKit::WebPage::setScrollbarOverlayStyle):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::scrollbarOverlayStyle):
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setViewExposedRect):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setViewExposedRect):
Source/WTF:
Import std::optional reference implementation offered by the C++17
original proposal paper. It has the same interface and functionality
to the C++17's one. Previous WTF::Optional lacks several functionalities.
The largest one is the correct constexpr constructors. This fact prevents
us from using Optional<literal type> in constexpr context in WebKit.
In WebKit, we do not allow global constructors. So only the constexpr
constructor is the way to use WTF::Optional in the static const
global variables. WTF::Optional is used in DOMJIT::Effect and
we would like to emit static const global variables that includes
this DOMJIT::Effect. That is the main motivation of this work.
This functionality allows the IDL code generator to emit DOMJIT
signatures as static const global variables.
We import the reference implementation one instead of LLVM libc++'s one.
This is because LLVM libc++'s one depends on many macro and type_traits
offered by libc++ implementation. And adopting it to WebKit requires
large modification compared to this reference implementation one.
Furthermore, it is difficult to compile libc++'s optional in old GCC and VC++.
It also requires some more modifications. To keep the thing simple,
we import the reference implementation one now. Once C++17 is released
and we update the compiler baseline, we can smoothly switch to the standard
library's std::optional.
We also add support for the environment that does not use exceptions to this
reference implementation.
And we also add valueOrCompute helper function. That keeps the extended
functionality that previous WTF::Optional has.
- wtf/CrossThreadQueue.h:
(WTF::CrossThreadQueue<DataType>::tryGetMessage):
- wtf/Expected.h:
(WTF::makeExpected):
- wtf/Forward.h:
- wtf/HashTraits.h:
(WTF::HashTraits<Ref<P>>::take):
- wtf/MainThread.cpp:
(WTF::initializeGCThreads):
(WTF::mayBeGCThread):
- wtf/MainThread.h:
- wtf/Optional.h:
(std::detail_::is_assignable::has_assign):
(std::detail_::has_overloaded_addressof::has_overload):
(std::detail_::static_addressof):
(std::detail_::convert):
(std::nullopt_t::nullopt_t):
(std::bad_optional_access::bad_optional_access):
(std::optional_base::optional_base):
(std::optional_base::~optional_base):
(std::constexpr_optional_base::constexpr_optional_base):
(std::optional::dataptr):
(std::optional::contained_val):
(std::optional::NOEXCEPT_):
(std::optional::optional):
(std::optional::operator=):
(std::optional::emplace):
(std::optional::operator ->):
(std::optional::operator *):
(std::optional::value):
(std::optional::value_or):
(std::operator==):
(std::operator!=):
(std::operator<):
(std::operator>):
(std::operator<=):
(std::operator>=):
(std::NOEXCEPT_):
(std::make_optional):
(std::hash<std::optional<T>>::operator()):
(WTF::NulloptTag::NulloptTag): Deleted.
(WTF::Optional::Optional): Deleted.
(WTF::Optional::~Optional): Deleted.
(WTF::Optional::operator=): Deleted.
(WTF::Optional::operator bool): Deleted.
(WTF::Optional::operator->): Deleted.
(WTF::Optional::operator*): Deleted.
(WTF::Optional::value): Deleted.
(WTF::Optional::valueOr): Deleted.
(WTF::Optional::valueOrCompute): Deleted.
(WTF::Optional::asPtr): Deleted.
(WTF::Optional::destroy): Deleted.
(WTF::operator==): Deleted.
(WTF::operator!=): Deleted.
(WTF::makeOptional): Deleted.
(WTF::printInternal): Deleted.
- wtf/text/StringView.cpp:
(WTF::StringView::GraphemeClusters::Iterator::Impl::Impl):
(WTF::StringView::GraphemeClusters::Iterator::Iterator):
- wtf/text/StringView.h:
Tools:
Use WTF::Optional::value_or.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::stableStateOverride):
(WTR::UIScriptController::setStableStateOverride):
- TestRunnerShared/Bindings/JSWrappable.h:
(WTR::JSValueMakeBooleanOrNull):
(WTR::JSValueToNullableBoolean):
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::stableStateOverride):
(WTR::UIScriptController::setStableStateOverride):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- TestWebKitAPI/Tests/WTF/Optional.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:
(TestWebKitAPI::testParseHTMLInteger):
(TestWebKitAPI::testParseHTMLNonNegativeInteger):
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::stableStateOverride):
(WTR::UIScriptController::setStableStateOverride):
- 8:40 PM Changeset in webkit [208984] by
-
- 2 edits in trunk/Source/WebCore
Fix build warnings in WebCore/Modules/indexeddb/server/IDBSerialization.cp
https://bugs.webkit.org/show_bug.cgi?id=165070
Reviewed by Brady Eidson.
- Modules/indexeddb/server/IDBSerialization.cpp:
- 8:21 PM Changeset in webkit [208983] by
-
- 27 edits1 copy1 add in trunk
Convert IntersectionObserver over to using RuntimeEnabledFeatures so it can be properly excluded from script
https://bugs.webkit.org/show_bug.cgi?id=164965
Patch by Sam Weinig <sam@webkit.org> on 2016-11-26
Reviewed by Simon Fraser.
Source/JavaScriptCore:
- runtime/CommonIdentifiers.h:
Add identifiers needed for RuntimeEnabledFeatures.
Source/WebCore:
- bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::reset):
- bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIntersectionObserverEnabled):
(WebCore::RuntimeEnabledFeatures::intersectionObserverEnabled):
Add intersection observer setting.
- page/IntersectionObserver.idl:
- page/IntersectionObserverEntry.idl:
Convert to use EnabledAtRuntime extended attribute.
- page/Settings.in:
Remove the old intersection observer setting.
Source/WebKit/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences intersectionObserverEnabled]):
(-[WebPreferences setIntersectionObserverEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Add a preference, defaulting to off, for enabling IntersectionObserver.
Source/WebKit2:
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetIntersectionObserverEnabled):
(WKPreferencesGetIntersectionObserverEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Add a preference, defaulting to off, for enabling IntersectionObserver.
Tools:
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Add new files.
- DumpRenderTree/TestOptions.h: Added.
- DumpRenderTree/TestOptions.mm: Added.
(parseBooleanTestHeaderValue):
(TestOptions::TestOptions):
Port TestOption parsing from WKTR to DRT.
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
(resetWebViewToConsistentStateBeforeTesting):
(runTest):
- WebKitTestRunner/TestController.cpp:
Pass TestOptions down to resetWebPreferencesToConsistentValues to allow setting
preferences conditionally.
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.h:
Add a new test option header, enableIntersectionObserver, to enable IntersectionObserver.
LayoutTests:
- intersection-observer/intersection-observer-entry-interface.html:
- intersection-observer/intersection-observer-interface.html:
- resources/testharnessreport.js:
Switch from enabling IntersectionObserver via internals.settings to using
comment header switches.
- 6:27 PM Changeset in webkit [208982] by
-
- 24 edits in trunk
Migrate some layout timer-related code from std::chrono to Seconds and MonotonicTime
https://bugs.webkit.org/show_bug.cgi?id=164992
Reviewed by Darin Adler.
Source/WebCore:
std::chrono::milliseconds -> Seconds.
Rename Document::elapsedTime() to timeSinceDocumentCreation() which is more explicit.
Replace INSTRUMENT_LAYOUT_SCHEDULING with LOG(Layout...).
- dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::implicitClose):
(WebCore::Document::isLayoutTimerActive):
(WebCore::Document::minimumLayoutDelay):
(WebCore::Document::timeSinceDocumentCreation):
(WebCore::Document::elapsedTime): Deleted.
- dom/Document.h:
- page/ChromeClient.h:
- page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::layoutTimerFired):
(WebCore::FrameView::scheduleRelayout):
(WebCore::FrameView::scheduleRelayoutOfSubtree):
(WebCore::FrameView::unscheduleRelayout):
- page/Settings.cpp:
(WebCore::Settings::setLayoutInterval):
- page/Settings.h:
(WebCore::Settings::layoutInterval):
- style/StyleScope.cpp:
(WebCore::Style::Scope::removePendingSheet):
- workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::runInMode):
Source/WebKit2:
No more ugly conversion from seconds to milliseconds.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::eventThrottlingDelay):
Source/WTF:
Add Seconds::zero() as a nicer way to express Seconds(0).
- wtf/Seconds.h:
(WTF::Seconds::zero):
Tools:
Use Seconds::zero().
- TestWebKitAPI/Tests/WTF/Condition.cpp:
- 6:06 PM Changeset in webkit [208981] by
-
- 5 edits4 adds in trunk
Composited negative z-index elements are hidden behind the body sometimes
https://bugs.webkit.org/show_bug.cgi?id=165080
rdar://problem/22260229
Reviewed by Zalan Bujtas.
Source/WebCore:
If the <body> falls into the "directly composited background color" code path
(say, because it's composited because of composited negative z-index children,
and has content of its own), then we failed to take root background propagation
into account, and put the opaque root background color on the body's layer.
Fix by sharing some code from RenderBox related to whether the body's renderer
paints its background.
Tests cover the buggy case, and the case where the <html> has its own background color.
Tests: compositing/backgrounds/negative-z-index-behind-body-non-propagated.html
compositing/backgrounds/negative-z-index-behind-body.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::paintsOwnBackground):
(WebCore::RenderBox::paintBackground):
(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
(WebCore::skipBodyBackground): Deleted.
- rendering/RenderBox.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
LayoutTests:
- compositing/backgrounds/negative-z-index-behind-body-expected.html: Added.
- compositing/backgrounds/negative-z-index-behind-body-non-propagated-expected.html: Added.
- compositing/backgrounds/negative-z-index-behind-body-non-propagated.html: Added.
- compositing/backgrounds/negative-z-index-behind-body.html: Added.
- 3:35 PM Changeset in webkit [208980] by
-
- 2 edits in trunk/LayoutTests
Convert testharnessreport.js to LF linebreaks, from CRLF, which broke patches.
- resources/testharnessreport.js:
(convertResult):
(self.testRunner.add_completion_callback.):
(self.testRunner.add_completion_callback):
- 3:21 PM Changeset in webkit [208979] by
-
- 4 edits in trunk
Add literals for various time units
https://bugs.webkit.org/show_bug.cgi?id=165074
Reviewed by Filip Pizlo.
Source/WTF:
Add _min, _s, _ms, _us and _ns literals for easy creation of Seconds from long double
and unsigned long long types (those allowed for custom literals).
Add minutes-related functions (there are one or two use cases in WebCore).
- wtf/Seconds.h:
(WTF::Seconds::minutes):
(WTF::Seconds::fromMinutes):
(WTF::Seconds::fromMilliseconds):
(WTF::Seconds::fromMicroseconds):
(WTF::Seconds::fromNanoseconds):
(WTF::operator _min):
(WTF::operator _s):
(WTF::operator _ms):
(WTF::operator _us):
(WTF::operator _ns):
Tools:
Add tests for new time literals. Add new tests for units.
- TestWebKitAPI/Tests/WTF/Time.cpp:
(TestWebKitAPI::TEST):
Nov 25, 2016:
- 4:17 PM Changeset in webkit [208978] by
-
- 2 edits in trunk/Tools
Fix compile warnings after r208415
https://bugs.webkit.org/show_bug.cgi?id=165061
Reviewed by Andy Estes.
- TestWebKitAPI/Tests/WTF/Time.cpp:
(TestWebKitAPI::TEST):
- 10:38 AM Changeset in webkit [208977] by
-
- 4 edits in trunk/Source/WebKit2
[GTK] Follow-up fixes to r208974
https://bugs.webkit.org/show_bug.cgi?id=164771
Unreviewed, implement Carlos's review feedback.
- UIProcess/API/gtk/WebKitNotification.cpp:
(webkit_notification_get_tag):
- UIProcess/API/gtk/WebKitNotificationProvider.cpp:
(WebKitNotificationProvider::withdrawAnyPreviousNotificationMatchingTag):
(WebKitNotificationProvider::show):
- UIProcess/API/gtk/WebKitNotificationProvider.h:
- 9:35 AM Changeset in webkit [208976] by
-
- 3 edits4 adds in trunk
[CSS Font Loading] FontFace.load() promises don't always fire
https://bugs.webkit.org/show_bug.cgi?id=165037
Reviewed by Simon Fraser.
Source/WebCore:
We currently handle web fonts in two phases. The first phase is building up
StyleRuleFontFace objects which reflect the style on the page. The second is creating
CSSFontFace objects from those StyleRuleFontFace objects. When script modifies the
style on the page, we can often update the CSSFontFace objects, but there are some
modifications which we don't know how to model. For these operations, we destroy the
CSSFontFace objects and rebuild them from the newly modified StyleRuleFontFace objects.
Normally, this is fine. However, with the CSS font loading API, the CSSFontFaces back
Javascript objects which will persist across the rebuilding step mentioned above. This
means that the FontFace objects need to adopt the new CSSFontFace objects and forget
the old CSSFontFace objects.
This gets a little tricky because the operation which caused the rebuild may actually
be a modification to the specific @font-face block which backs a Javascript FontFace
object. Because the CSSOM can be used to change the src: attribute of the FontFace
object, I decided in r201971 to clear the FontFace's promise in case an old load would
cause the promise to resolve. However, this would never happen because the old
CSSFontFace is unparented during the FontFace::adopt()ion of the new CSSFontFace.
Therefore, old loads may still complete, but the signal would never make it to the
FontFace and therefore would not cause the promise to resolve. In addition, clearing
the promise during a rebuild is problematic because that rebuild may be caused by
operations which have nothing to do with the specific FontFace object in question (so
the FontFace object should be observably uneffected.)
Because of the above reasons, this patch simply stops clearing the promise during the
rebuild phase.
Tests: fast/text/fontface-rebuild-during-loading.html
fast/text/fontface-rebuild-during-loading-2.html
- css/FontFace.cpp:
(WebCore::FontFace::adopt):
LayoutTests:
- fast/text/fontfaceset-rebuild-during-loading-2-expected.txt: Added.
- fast/text/fontfaceset-rebuild-during-loading-2.html: Added.
- 7:18 AM WebKitGTK/2.14.x edited by
- More patches to merge into 2.14.3 (diff)
- 6:59 AM Changeset in webkit [208975] by
-
- 2 edits in trunk/Source/WebCore
MemoryPressureHandler should only trigger synchronous GC on iOS
<https://webkit.org/b/165043>
<rdar://problem/29312684>
Reviewed by Sam Weinig.
On iOS we know that there is really only one web process in play at a time,
so it's okay to do a synchronous GC immediately in response to high memory pressure.
On other platforms, we may have tens or hundreds of web processes, and if they
all start doing full GCs at the same time, it can easily bring a system to its knees
if it's already under pressure.
Fix this by using garbageCollectSoon() on non-iOS platforms.
- page/MemoryRelease.cpp:
(WebCore::releaseCriticalMemory):