Timeline
Jun 20, 2016:
- 11:28 PM Changeset in webkit [202271] by
-
- 12 edits in trunk
Use the MathOperator to handle some non-stretchy operators
https://bugs.webkit.org/show_bug.cgi?id=157519
Patch by Frederic Wang <fwang@igalia.com> on 2016-06-20
Reviewed by Brent Fulgham.
Source/WebCore:
To prepare for the removal of anonymous text node from the render classes of token elements
we use MathOperator to handle two cases where the actual text to display may not be
available in the DOM: mfenced and minus operators. This change removes support for the
case of mfenced operators with multiple characters since that it is not supported by
MathOperator. It is a edge case that is not used in practice since fences and separators are
only made of a single character. However, it would still be possible to duplicate some
code/logic to add it back if that turns out to be necessary.
No new tests, already covered by existing tests.
- rendering/mathml/MathOperator.cpp:
(WebCore::MathOperator::MathOperator): Rename UndefinedOperator.
(WebCore::RenderMathMLOperator::firstLineBaseline): Improve rounding of ascent so that mfenced operators are correctly aligned.
- rendering/mathml/MathOperator.h: Rename UndefinedOperator, since it can now be used to draw non-stretchy operators.
(WebCore::MathOperator::isStretched): Deleted. This function is no longer used by RenderMathMLOperator.
(WebCore::MathOperator::unstretch): Deleted. This function is no longer used by RenderMathMLOperator.
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use useMathOperator.
(WebCore::RenderMathMLOperator::rebuildTokenContent): Set the MathOperator when useMathOperator() is true.
When the operator is not likely to stretch we just leave its type as NormalOperator.
(WebCore::RenderMathMLOperator::useMathOperator): Helper function to determine when MathOperator should be used.
(WebCore::RenderMathMLOperator::firstLineBaseline): Use useMathOperator.
(WebCore::RenderMathMLOperator::computeLogicalHeight): Ditto.
(WebCore::RenderMathMLOperator::paint): Ditto.
(WebCore::RenderMathMLOperator::paintChildren): Ditto.
- rendering/mathml/RenderMathMLOperator.h: Declare useMathOperator.
LayoutTests:
We adjust fenced-mi.html to handle one edge case that we no longer support.
We also update some test references on Mac and iOS.
- mathml/presentation/fenced-mi-expected.html: Indicate that this is no longer supported.
- mathml/presentation/fenced-mi.html: Adjust the reference since no text is shown.
- platform/mac/mathml/opentype/large-operators-expected.txt: Update reference.
- platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
- platform/mac/mathml/opentype/vertical-expected.txt: Ditto.
- platform/ios-simulator/mathml/opentype/horizontal-munderover-expected.txt: Ditto.
- platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
- 11:16 PM Changeset in webkit [202270] by
-
- 2 edits in trunk/LayoutTests
Test expectation update for media/click-placeholder-not-pausing.html
- platform/mac-wk2/TestExpectations:
- 11:08 PM Changeset in webkit [202269] by
-
- 2 edits in trunk/LayoutTests
Test expectation update for
https://bugs.webkit.org/show_bug.cgi?id=158320
REGRESSION (r201476?): LayoutTest tiled-drawing/scrolling/latched-div-with-scroll-snap.html is flaky
- platform/mac-wk2/TestExpectations:
- 9:56 PM Changeset in webkit [202268] by
-
- 24 edits in trunk/Source/WebCore
Don't eagerly reify DOM Prototype properties
https://bugs.webkit.org/show_bug.cgi?id=158557
Reviewed by Andreas Kling.
We were eagerly reifying these properties to avoid virtualizing getOwnPropertySlot,
but since bug #158059 this does not require a method table call in any case.
Eagerly reifying these values likely has some CPU and memory cost on page load.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- should generate compressed index for hashtable, prototype object ClassInfo should contain static table, don't reifyStaticProperties for prototype objects.
(GeneratePrototypeDeclaration):
- Set HasStaticPropertyTable for DOM prototype objects.
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::JSInterfaceNamePrototype::JSInterfaceNamePrototype):
(WebCore::JSInterfaceNamePrototype::finishCreation):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype):
(WebCore::JSTestActiveDOMObjectPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructorPrototype::JSTestClassWithJSBuiltinConstructorPrototype):
(WebCore::JSTestClassWithJSBuiltinConstructorPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::JSTestCustomConstructorWithNoInterfaceObjectPrototype):
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
(WebCore::JSTestCustomNamedGetterPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
(WebCore::JSTestEventConstructorPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype):
(WebCore::JSTestEventTargetPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
(WebCore::JSTestExceptionPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachablePrototype::JSTestGenerateIsReachablePrototype):
(WebCore::JSTestGenerateIsReachablePrototype::finishCreation):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
(WebCore::JSTestInterfacePrototype::finishCreation):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructorPrototype::JSTestJSBuiltinConstructorPrototype):
(WebCore::JSTestJSBuiltinConstructorPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
(WebCore::JSTestMediaQueryListListenerPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
(WebCore::JSTestNamedConstructorPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodePrototype::JSTestNodePrototype):
(WebCore::JSTestNodePrototype::finishCreation):
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::JSTestNondeterministicPrototype::JSTestNondeterministicPrototype):
(WebCore::JSTestNondeterministicPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjPrototype::JSTestObjPrototype):
(WebCore::JSTestObjPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
(WebCore::JSTestOverloadedConstructorsPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::JSTestOverrideBuiltinsPrototype::JSTestOverrideBuiltinsPrototype):
(WebCore::JSTestOverrideBuiltinsPrototype::finishCreation):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::finishCreation):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
(WebCore::JSTestTypedefsPrototype::finishCreation):
- bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattributePrototype::JSattributePrototype):
(WebCore::JSattributePrototype::finishCreation):
- bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonlyPrototype::JSreadonlyPrototype):
(WebCore::JSreadonlyPrototype::finishCreation):
- 9:51 PM Changeset in webkit [202267] by
-
- 5 edits in trunk
WebRTC: RTCIceCandidate init dictionary don't handle explicit null or undefined values correctly
https://bugs.webkit.org/show_bug.cgi?id=158873
Reviewed by Alejandro G. Castro.
Source/WebCore:
Prevent explicit null and undefined values from being converted to "null" and "undefined"
strings.
Test: Extended fast/mediastream/RTCIceCandidate.html
- Modules/mediastream/RTCIceCandidate.cpp:
(WebCore::RTCIceCandidate::create):
LayoutTests:
Updated test to verify that explicit null and undefined values, passed to the
RTCIceCandidate init dictionary, are handled correctly.
- fast/mediastream/RTCIceCandidate-expected.txt:
- fast/mediastream/RTCIceCandidate.html:
- 8:48 PM Changeset in webkit [202266] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: UncaughtExceptionReporter should handle null event.error
https://bugs.webkit.org/show_bug.cgi?id=158971
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-06-20
Reviewed by Brian Burg.
- UserInterface/Debug/UncaughtExceptionReporter.js:
Since
typeof null === "object"handle uncaught exceptions where the
Error object itself is null.
- 8:26 PM Changeset in webkit [202265] by
-
- 8 edits in trunk/Source/WebCore
Unreviewed, rolling out r202252.
https://bugs.webkit.org/show_bug.cgi?id=158974
See rdar://problem/26867866 for details (Requested by ap on
#webkit).
Reverted changeset:
"Adopt commitPriority to get rid of the 2 AVPL solution for
PiP"
https://bugs.webkit.org/show_bug.cgi?id=158949
http://trac.webkit.org/changeset/202252
- 8:22 PM Changeset in webkit [202264] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r202253): Broke inspector/unit-tests/heap-snapshot-collection-event.html
https://bugs.webkit.org/show_bug.cgi?id=158973
Unreviewed fix after r202253.
- inspector/unit-tests/heap-snapshot-collection-event-expected.txt:
- inspector/unit-tests/heap-snapshot-collection-event.html:
Update the method name.
- 8:07 PM Changeset in webkit [202263] by
-
- 21 edits4 deletes in trunk
Unreviewed, rolling out r202243.
https://bugs.webkit.org/show_bug.cgi?id=158972
Broke Windows build and iOS tests (Requested by ap on
#webkit).
Reverted changeset:
"Focus event dispatched in iframe causes parent document to
scroll incorrectly"
https://bugs.webkit.org/show_bug.cgi?id=158629
http://trac.webkit.org/changeset/202243
- 8:01 PM Changeset in webkit [202262] by
-
- 4 edits in trunk/Source/WebCore
Simplify / Optimize DataDetector's searchForLinkRemovingExistingDDLinks()
https://bugs.webkit.org/show_bug.cgi?id=158968
Reviewed by Ryosuke Niwa.
Simplify / Optimize DataDetector's searchForLinkRemovingExistingDDLinks():
- Use modern ancestorsOfType<HTMLAnchorElement>() to traverse anchor ancestors instead of traversing by hand.
- Use NodeTraversal::next() to traverse the tree until we find endNode and use a for loop instead of a while loop. Previously, the logic the determine the next node was at the end of the loop and was identical behavior-wise to NodeTraversal::next(). However, the previous code for a lot less efficient because it was calling Node::childNodes() to get a NodeList of the children, then calling length() on it to check if we had children and finally use the first item in the list as next node. This was very inefficient because NodeList::length() would need to traverse all children to figure out the length and would cache all the children in a Vector in CollectionIndexCache.
- dom/ElementAncestorIterator.h:
(WebCore::ancestorsOfType):
- dom/ElementIterator.h:
(WebCore::findElementAncestorOfType):
(WebCore::findElementAncestorOfType<Element>):
Update ancestorsOfType() to take a Node instead of an Element. There are no
performance benefits to taking an Element here and it is a valid use case to
want an Element ancestor of a non-Element node.
- editing/cocoa/DataDetection.mm:
(WebCore::searchForLinkRemovingExistingDDLinks):
(WebCore::dataDetectorTypeForCategory): Deleted.
- 6:48 PM Changeset in webkit [202261] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Use bytecode intrinsic to expose Module's loading status to builtin JS
https://bugs.webkit.org/show_bug.cgi?id=158871
Reviewed by Sam Weinig.
Now JSC has bytecode intrinsic system. Use it instead of exposing status values through the loader's properties.
- builtins/ModuleLoaderObject.js:
(newRegistryEntry):
(fulfillFetch):
(fulfillTranslate):
(commitInstantiated):
(requestFetch):
(requestTranslate):
(requestInstantiate):
(requestResolveDependencies.):
(requestResolveDependencies):
(requestLink):
(link):
(provide):
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
- bytecode/BytecodeIntrinsicRegistry.h:
- runtime/ModuleLoaderObject.cpp:
(JSC::ModuleLoaderObject::finishCreation): Deleted.
- 5:49 PM Changeset in webkit [202260] by
-
- 2 edits in tags/Safari-602.1.37.0.1/Source/WebKit2
Merged r202229. rdar://problem/26903312
- 5:48 PM Changeset in webkit [202259] by
-
- 2 edits in tags/Safari-602.1.37.0.1/Source/WebKit2
Merged r202224. rdar://problem/26903312
- 5:47 PM Changeset in webkit [202258] by
-
- 6 edits in tags/Safari-602.1.37.0.1/Source
Merged r202142. rdar://problem/26903312
- 5:45 PM Changeset in webkit [202257] by
-
- 5 edits in tags/Safari-602.1.37.0.1/Source
Versioning.
- 5:32 PM Changeset in webkit [202256] by
-
- 1 copy in tags/Safari-602.1.37.0.1
New tag.
- 5:26 PM Changeset in webkit [202255] by
-
- 58 edits2 copies in trunk/Source
Unreviewed, rolling out r202248.
https://bugs.webkit.org/show_bug.cgi?id=158960
breaks builds on the simulator (Requested by keith_mi_ on
#webkit).
Reverted changeset:
"It should be easy to add a private global helper function for
builtins"
https://bugs.webkit.org/show_bug.cgi?id=158893
http://trac.webkit.org/changeset/202248
- 5:24 PM Changeset in webkit [202254] by
-
- 12 edits in trunk
Unreviewed, rolling out r202136.
https://bugs.webkit.org/show_bug.cgi?id=158932
JSBench wasn't regressed by r202002 and r202111 on iOS after
all (Requested by rniwa_ on #webkit).
Reverted changeset:
"Unreviewed, rolling out r202002 and r202111."
https://bugs.webkit.org/show_bug.cgi?id=158638
http://trac.webkit.org/changeset/202136
Patch by Commit Queue <commit-queue@webkit.org> on 2016-06-20
- 5:01 PM Changeset in webkit [202253] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Snapshot List should show the total size and the total live size
https://bugs.webkit.org/show_bug.cgi?id=157904
<rdar://problem/26372833>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-06-20
Reviewed by Brian Burg.
Include the live size of a snapshot in the snapshot list.
- Localizations/en.lproj/localizedStrings.js:
New "Live Size" string.
- UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
(HeapSnapshot):
(HeapSnapshot.updateCategoriesAndMetadata):
(HeapSnapshot.prototype.update):
(HeapSnapshot.prototype.serialize):
(HeapSnapshotDiff):
(HeapSnapshotDiff.prototype.update):
(HeapSnapshot.buildCategories): Deleted.
(HeapSnapshot.prototype.updateCategories): Deleted.
(HeapSnapshotDiff.prototype.updateCategories): Deleted.
- UserInterface/Proxies/HeapSnapshotDiffProxy.js:
(WebInspector.HeapSnapshotDiffProxy.prototype.updateForCollectionEvent):
(WebInspector.HeapSnapshotDiffProxy.prototype.update):
(WebInspector.HeapSnapshotDiffProxy.prototype.updateCategories): Deleted.
- UserInterface/Proxies/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotProxy):
(WebInspector.HeapSnapshotProxy.deserialize):
(WebInspector.HeapSnapshotProxy.prototype.get liveSize):
(WebInspector.HeapSnapshotProxy.prototype.updateForCollectionEvent):
(WebInspector.HeapSnapshotProxy.prototype.update):
(WebInspector.HeapSnapshotProxy.prototype.updateCategories): Deleted.
Rename "updateCategories" to "update" and update both categories
and metadata, like the liveSize.
- UserInterface/Views/HeapAllocationsTimelineDataGridNode.js:
(WebInspector.HeapAllocationsTimelineDataGridNode):
(WebInspector.HeapAllocationsTimelineDataGridNode.prototype.createCellContent):
(WebInspector.HeapAllocationsTimelineDataGridNode.prototype._heapSnapshotCollectedNodes):
Update live size after collection.
- UserInterface/Views/HeapAllocationsTimelineView.js:
(WebInspector.HeapAllocationsTimelineView):
Include a live size column in the DataGrid.
(WebInspector.HeapAllocationsTimelineView.prototype.closed):
Cleanup listeners appropriately.
- 4:26 PM Changeset in webkit [202252] by
-
- 8 edits in trunk/Source/WebCore
Adopt commitPriority to get rid of the 2 AVPL solution for PiP
https://bugs.webkit.org/show_bug.cgi?id=158949
rdar://problem/26867866
Reviewed by Simon Fraser.
No new tests because there is no behavior change. This reverts changes from
https://bugs.webkit.org/show_bug.cgi?id=158148 and instead uses -[CAContext commitPriority:]
to prevent flicker when moving a layer between contexts.
commitPriority allows the layer to be added to the destination context before it is
removed from the source context.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: remove m_secondaryVideoLayer.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: ditto
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity): ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::syncTextTrackBounds): ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoLayer): ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoLayerGravity): ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: ditto
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer): ditto
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::createPreviewLayers):ditto
- platform/graphics/avfoundation/objc/VideoFullscreenLayerManager.h: ditto
- platform/graphics/avfoundation/objc/VideoFullscreenLayerManager.mm: ditto
(WebCore::VideoFullscreenLayerManager::setVideoLayer): ditto
(WebCore::VideoFullscreenLayerManager::setVideoFullscreenLayer): ditto and adopt commitPriority.
(WebCore::VideoFullscreenLayerManager::setVideoFullscreenFrame): ditto
(WebCore::VideoFullscreenLayerManager::setVideoLayers): Deleted.
(WebCore::VideoFullscreenLayerManager::didDestroyVideoLayer): remove m_secondaryVideoLayer.
- platform/spi/cocoa/QuartzCoreSPI.h: Add commitPriority.
- 4:24 PM Changeset in webkit [202251] by
-
- 3 edits2 adds in trunk
Set the end position on the placeholder BidiRun properly.
https://bugs.webkit.org/show_bug.cgi?id=158958
Reviewed by Myles C. Maxfield.
rdar://problem/26609266
The second paramenter for BidiRun indicates the end position and not the length of the run.
This was regressed at r102875 where only the start position was changed from 0 to pos.
Source/WebCore:
Test: fast/text/international/bidi-style-in-isolate-crash.html
- rendering/InlineIterator.h:
(WebCore::addPlaceholderRunForIsolatedInline):
LayoutTests:
- fast/text/international/bidi-style-in-isolate-crash-expected.txt: Added.
- fast/text/international/bidi-style-in-isolate-crash.html: Added.
- 4:23 PM Changeset in webkit [202250] by
-
- 3 edits2 adds in trunk
A composition underline is placed to wrong position in RTL
https://bugs.webkit.org/show_bug.cgi?id=158602
Patch by Fujii Hironori <Fujii Hironori> on 2016-06-20
Reviewed by Myles C. Maxfield.
Source/WebCore:
InlineTextBox::paintCompositionUnderline does not take RTL into
account. The position of composition underline should be
mirrored in RTL.
Test: editing/input/composition-underline-rtl.html
- rendering/InlineTextBox.cpp:
(WebCore::mirrorRTLSegment): New helper function to convert RTL start position to LTR.
(WebCore::InlineTextBox::paintDecoration): Use mirrorRTLSegment.
(WebCore::InlineTextBox::paintCompositionUnderline): Ditto.
LayoutTests:
- editing/input/composition-underline-rtl-expected.html: Added.
- editing/input/composition-underline-rtl.html: Added.
- 3:41 PM Changeset in webkit [202249] by
-
- 3 edits in trunk/Source/WebKit2
Allow Spotlight suggestions to be read by any process
https://bugs.webkit.org/show_bug.cgi?id=158950
<rdar://problem/26865374>
Reviewed by Alexey Proskuryakov.
Extend sandbox to allow all web processes to read Spotlight results.
- Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 3:38 PM Changeset in webkit [202248] by
-
- 58 edits2 deletes in trunk/Source
It should be easy to add a private global helper function for builtins
https://bugs.webkit.org/show_bug.cgi?id=158893
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch does two things. First it moves all the builtin names
out of CommonIdentifiers and into BuiltinNames. This means that
adding a new function to the Builtins does not require rebuilding
all of JavaScriptCore. This patch also adds a new decorator to our
builtins @privateGlobal that will automatically put the function
on the global object. The name of the property will be the same as
the private name of the function.
This patch, also, removes the JSArrayIterator.h/.cpp files
as they no longer appear to be used in any real way. Finally,
the builtins tests have been rebaselined. It appears this has
not been done for a while so the expected files contain other
changes.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/builtins/builtins_generate_combined_header.py:
(BuiltinsCombinedHeaderGenerator.generate_output):
(generate_section_for_code_name_macro):
(generate_section_for_global_private_code_name_macro):
- Scripts/builtins/builtins_model.py:
(BuiltinFunction.init):
(BuiltinFunction.fromString):
- 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-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:
- builtins/ArrayIteratorPrototype.js:
- builtins/ArrayPrototype.js:
- builtins/BuiltinNames.h:
- builtins/GeneratorPrototype.js:
- builtins/GlobalObject.js:
- builtins/PromiseOperations.js:
- builtins/RegExpPrototype.js:
- builtins/StringPrototype.js:
- bytecode/BytecodeIntrinsicRegistry.cpp:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::initializeArrowFunctionContextScopeIfNeeded):
(JSC::BytecodeGenerator::expectedFunctionForIdentifier):
(JSC::BytecodeGenerator::emitGetTemplateObject):
(JSC::BytecodeGenerator::emitLoadNewTargetFromArrowFunctionLexicalEnvironment):
(JSC::BytecodeGenerator::emitLoadDerivedConstructorFromArrowFunctionLexicalEnvironment):
(JSC::BytecodeGenerator::emitPutNewTargetToArrowFunctionContextScope):
(JSC::BytecodeGenerator::emitPutDerivedConstructorToArrowFunctionContextScope):
(JSC::BytecodeGenerator::emitGeneratorStateChange):
- bytecompiler/NodesCodegen.cpp:
(JSC::emitHomeObjectForCallee):
(JSC::emitPutHomeObject):
(JSC::FunctionNode::emitBytecode):
- dfg/DFGOperations.cpp:
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::subtype):
(Inspector::JSInjectedScriptHost::getInternalProperties): Deleted.
- parser/Lexer.cpp:
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
- parser/Nodes.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::createGeneratorParameters):
(JSC::Parser<LexerType>::parseExportDeclaration):
- runtime/ArrayIteratorPrototype.cpp:
- runtime/ArrayIteratorPrototype.h:
- runtime/ArrayPrototype.cpp:
- runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers): Deleted.
- runtime/CommonIdentifiers.h:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/IntlDateTimeFormat.cpp:
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):
- runtime/IntlObjectInlines.h:
(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor):
- runtime/JSArrayIterator.cpp: Removed.
(JSC::JSArrayIterator::finishCreation): Deleted.
(JSC::JSArrayIterator::kind): Deleted.
(JSC::JSArrayIterator::iteratedValue): Deleted.
- runtime/JSArrayIterator.h: Removed.
(JSC::JSArrayIterator::createStructure): Deleted.
(JSC::JSArrayIterator::create): Deleted.
(JSC::JSArrayIterator::JSArrayIterator): Deleted.
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::finishCreation):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSInternalPromise.cpp:
- runtime/JSInternalPromiseDeferred.cpp:
(JSC::JSInternalPromiseDeferred::create):
- runtime/JSPromise.cpp:
(JSC::JSPromise::finishCreation):
(JSC::JSPromise::result):
- runtime/JSPromiseDeferred.cpp:
(JSC::JSPromiseDeferred::create):
- runtime/JSStringIterator.cpp:
(JSC::JSStringIterator::finishCreation):
(JSC::JSStringIterator::iteratedValue):
(JSC::JSStringIterator::clone):
- runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
- runtime/ReflectObject.cpp:
(JSC::ReflectObject::finishCreation):
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
- runtime/TypedArrayInlines.h:
Source/WebCore:
Add JSCJSValueInlines.h to fix build issues.
- platform/mock/mediasource/MockBox.cpp:
- 3:30 PM Changeset in webkit [202247] by
-
- 2 edits in trunk/LayoutTests
Test expectations gardening for
https://bugs.webkit.org/show_bug.cgi?id=155196
- platform/mac-wk1/TestExpectations:
- 2:37 PM Changeset in webkit [202246] by
-
- 2 edits in trunk/LayoutTests
Test result gardening.
- platform/mac-wk2/TestExpectations:
- 2:30 PM Changeset in webkit [202245] by
-
- 20 edits4 adds in trunk
:default CSS pseudo-class should match checkboxes+radios with a
checkedattribute
https://bugs.webkit.org/show_bug.cgi?id=156230
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/selectors/pseudo-classes/default-expected.txt:
Source/WebCore:
This patch update the :default pseudo class matching to be closer to the spec:
https://html.spec.whatwg.org/multipage/scripting.html#selector-default
The main remaining difference with the spec is the definition of "default button".
This is an unrelated problem that should be addressed separately.
The implementation was missing support for:
-input elements of type "checkbox" or "radio" with the "checked" attribute defined.
-option elements with the "selected" attribute defined.
The existing support for default button was pretty bad, I fixed that too.
The owner form now has a resetDefaultButton() API. When a Form Associated Element
becomes a submit button or loses that property, the element calls its form
to update the style as needed.
Whenever the submit button changes, 2 elements needs to have their style invalidated:
-The former default button.
-The new default button.
To invalidate the former button, FormElement now caches the computed
default button. When the default button changes, the cached value is invalidated
in addition to the new value.
Computing the new default button takes linear time in the number of form associated element.
To mitigate that, resetDefaultButton() is only called when changes are related
to submit buttons. Since those changes are rare, I don't expect the invalidation
to be a problem.
Tests: fast/css/pseudo-default-basics.html
fast/selectors/default-style-update.html
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
- css/SelectorCheckerTestFunctions.h:
(WebCore::matchesDefaultPseudoClass):
(WebCore::isDefaultButtonForForm): Deleted.
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
- dom/Element.cpp:
(WebCore::Element::matchesValidPseudoClass):
(WebCore::Element::matchesInvalidPseudoClass):
(WebCore::Element::matchesDefaultPseudoClass):
- dom/Element.h:
(WebCore::Element::matchesValidPseudoClass): Deleted.
(WebCore::Element::matchesInvalidPseudoClass): Deleted.
(WebCore::Element::isDefaultButtonForForm): Deleted.
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::parseAttribute):
(WebCore::HTMLButtonElement::matchesDefaultPseudoClass):
- html/HTMLButtonElement.h:
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::isDefaultButtonForForm): Deleted.
- html/HTMLFormControlElement.h:
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::registerFormElement):
(WebCore::HTMLFormElement::removeFormElement):
(WebCore::HTMLFormElement::defaultButton):
(WebCore::HTMLFormElement::resetDefaultButton):
- html/HTMLFormElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::matchesDefaultPseudoClass):
- html/HTMLInputElement.h:
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::matchesDefaultPseudoClass):
(WebCore::HTMLOptionElement::parseAttribute):
- html/HTMLOptionElement.h:
- style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::canShareStyleWithElement):
(WebCore::Style::canShareStyleWithControl): Deleted.
LayoutTests:
- fast/css/pseudo-default-basics-expected.html: Added.
- fast/css/pseudo-default-basics.html: Added.
- fast/selectors/default-style-update-expected.txt: Added.
- fast/selectors/default-style-update.html: Added.
- 2:25 PM Changeset in webkit [202244] by
-
- 3 edits in trunk/Source/JavaScriptCore
LLInt64 Float64 get_by_val doesn't purify NaN
https://bugs.webkit.org/show_bug.cgi?id=158956
Reviewed by Michael Saboff.
- llint/LowLevelInterpreter64.asm: Fix the bug.
- tests/stress/float64-array-nan-inlined.js: Make this test also run in LLInt-only mode to catch this bug.
- 2:22 PM Changeset in webkit [202243] by
-
- 21 edits4 adds in trunk
Focus event dispatched in iframe causes parent document to scroll incorrectly
https://bugs.webkit.org/show_bug.cgi?id=158629
rdar://problem/26521616
Reviewed by Tim Horton.
Source/WebCore:
When focussing elements in iframes, the page could scroll to an incorrect location.
This happened because code in Element::focus() tried to disable scrolling on focus,
but did so only for the current frame, so ancestor frames got programmatically scrolled.
On iOS we handle the scrolling in the UI process, so never want the web process to
do programmatic scrolling.
Fix by changing the focus and cache restore code to use SelectionRevealMode::DoNotReveal,
rather than manually prohibiting frame scrolling. Pass SelectionRevealMode through various callers,
and use RevealUpToMainFrame for iOS, allowing the UI process to do the zoomToRect: for the main frame.
Tests: fast/forms/ios/focus-input-in-iframe.html
fast/forms/ios/programmatic-focus-input-in-iframe.html
- dom/Document.h:
- dom/Element.cpp:
(WebCore::Element::scrollIntoView):
(WebCore::Element::scrollIntoViewIfNeeded):
(WebCore::Element::scrollIntoViewIfNotVisible):
(WebCore::Element::focus):
(WebCore::Element::updateFocusAppearance):
- dom/Element.h:
- editing/Editor.cpp:
(WebCore::Editor::insertTextWithoutSendingTextEvent):
(WebCore::Editor::revealSelectionAfterEditingOperation):
(WebCore::Editor::findStringAndScrollToVisible):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::updateAndRevealSelection):
(WebCore::FrameSelection::revealSelection):
(WebCore::FrameSelection::FrameSelection): Deleted.
- editing/FrameSelection.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateFocusAppearance):
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::updateFocusAppearance):
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
- page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::autoscroll):
- rendering/RenderLayer.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::scrollRectToVisible):
- rendering/RenderObject.h:
Source/WebKit/mac:
Pass SelectionRevealMode::Reveal in existing code.
- WebView/WebFrame.mm:
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):
(-[WebFrame revealSelectionAtExtent:]):
- WebView/WebHTMLView.mm:
(-[WebHTMLView jumpToSelection:]):
(-[WebHTMLView centerSelectionInVisibleArea:]):
Source/WebKit2:
Pass SelectionRevealMode::Reveal in existing code.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::centerSelectionInVisibleArea):
LayoutTests:
- fast/forms/ios/focus-input-in-iframe-expected.txt: Added.
- fast/forms/ios/focus-input-in-iframe.html: Added.
- fast/forms/ios/programmatic-focus-input-in-iframe-expected.txt: Added.
- fast/forms/ios/programmatic-focus-input-in-iframe.html: Added.
- 1:52 PM Changeset in webkit [202242] by
-
- 205 edits in trunk
Remove RefPtr::release() and change calls sites to use WTFMove()
https://bugs.webkit.org/show_bug.cgi?id=158369
Reviewed by Chris Dumez.
RefPtr::release() releases its managed pointer awkwardly. It's more
direct and clearer to use WTFMove to transfer ownership of the managed
pointer.
As part of this cleanup, also change a lot of explicit data types to
'auto'.
Source/JavaScriptCore:
- API/JSObjectRef.cpp:
(JSClassCreate):
- API/JSScriptRef.cpp:
- API/JSValueRef.cpp:
(JSValueToStringCopy):
- bytecompiler/StaticPropertyAnalyzer.h:
(JSC::StaticPropertyAnalyzer::newObject):
(JSC::StaticPropertyAnalyzer::mov):
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::invalidate):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
- inspector/InspectorValues.cpp:
(Inspector::InspectorValue::parseJSON):
- inspector/agents/InspectorAgent.cpp:
(Inspector::InspectorAgent::activateExtraDomain):
(Inspector::InspectorAgent::activateExtraDomains):
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::receivedSetupMessage):
- jit/Repatch.cpp:
(JSC::linkPolymorphicCall):
- runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::create):
(JSC::GenericTypedArrayView<Adaptor>::createUninitialized):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
- runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::releaseData):
- runtime/Structure.cpp:
(JSC::Structure::toStructureShape):
- runtime/TypeSet.cpp:
(JSC::StructureShape::merge):
- tools/FunctionOverrides.cpp:
(JSC::initializeOverrideInfo):
Source/WebCore:
No new tests: there's no new functionality, just a refactoring of
existing code.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::removeSamplesFromTrackBuffer):
(WebCore::SourceBuffer::provideMediaData):
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::start):
- Modules/webdatabase/SQLCallbackWrapper.h:
(WebCore::SQLCallbackWrapper::clear):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::handlePostMessage):
- bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
- bindings/js/JSMessagePortCustom.h:
(WebCore::handlePostMessage):
- bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::createScriptInstanceForWidget):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readTerminal):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::copyPropertiesInSet):
- css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertShapeValue):
- css/StyleProperties.cpp:
(WebCore::StyleProperties::copyPropertiesInSet):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingImages):
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::clearSheet):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::removeChildrenInRange):
(WebCore::CompositeEditCommand::removeNodeAndPruneAncestors):
(WebCore::CompositeEditCommand::prune):
(WebCore::CompositeEditCommand::replaceSelectedTextInNode):
(WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
- editing/CreateLinkCommand.cpp:
(WebCore::CreateLinkCommand::doApply):
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::mergeStyle):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
- editing/Editor.cpp:
(WebCore::ClearTextCommand::CreateAndApply):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
- editing/EditorCommand.cpp:
(WebCore::executeInsertNode):
- editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::performOverwrite):
(WebCore::InsertTextCommand::insertTab):
- editing/RemoveNodePreservingChildrenCommand.cpp:
(WebCore::RemoveNodePreservingChildrenCommand::doApply):
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::removeNodePreservingChildren):
(WebCore::ReplaceSelectionCommand::moveNodeOutOfAncestor):
- html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
- html/HTMLFontElement.cpp:
(WebCore::HTMLFontElement::collectStyleForPresentationAttribute):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::prepareForSubmission):
- html/HTMLTableElement.cpp:
(WebCore::leakBorderStyle):
(WebCore::leakGroupBorderStyle):
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
- html/track/InbandDataTextTrack.cpp:
(WebCore::InbandDataTextTrack::addDataCue):
- html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::newCuesParsed):
- html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newCuesParsed):
- html/track/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::add):
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
- inspector/InspectorIndexedDBAgent.cpp:
- inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::loadResource):
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
- loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):
- loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::finalProgressComplete):
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
(WebCore::ApplicationCacheGroup::didFinishLoading):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::loadCacheGroup):
(WebCore::ApplicationCacheStorage::cacheGroupForURL):
(WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
(WebCore::ApplicationCacheStorage::loadCache):
- loader/archive/ArchiveResourceCollection.cpp:
(WebCore::ArchiveResourceCollection::popSubframeArchive):
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::extract):
(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::createFromSelection):
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::createImage):
- loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::getOrCreateIconRecord):
(WebCore::IconDatabase::readFromDatabase):
(WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):
- page/EventHandler.cpp:
(WebCore::EventHandler::updateDragAndDrop):
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::createOverlayIfNeeded):
(WebCore::ServicesOverlayController::determineActiveHighlight):
- page/scrolling/AsyncScrollingCoordinator.h:
(WebCore::AsyncScrollingCoordinator::releaseScrollingTree):
- page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::cloneAndReset):
- page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::attachNode):
- platform/audio/HRTFElevation.cpp:
(WebCore::getConcatenatedImpulseResponsesForSubject):
- platform/graphics/DisplayRefreshMonitorManager.cpp:
(WebCore::DisplayRefreshMonitorManager::createMonitorForClient):
- platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::glyphDataForSystemFallback):
- platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings):
- platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
(WebCore::MediaSelectionGroupAVFObjC::updateOptions):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
- platform/graphics/ca/GraphicsLayerCA.cpp:
- platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::createCompatibleLayerOrTakeFromPool):
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::getData):
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::asUnmultipliedImage):
(WebCore::FilterEffect::asPremultipliedImage):
- platform/graphics/mac/ImageMac.mm:
(WebCore::Image::loadPlatformResource):
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::createForCurrentGLContext):
(WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::createMediaStream):
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::validateRequestConstraints):
(WebCore::MockRealtimeMediaSourceCenter::createMediaStream):
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURLForSlice):
- platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::create):
- platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::formCreate):
- platform/text/BidiContext.cpp:
(WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts):
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::createScrollbar):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::createScrollbar):
- rendering/RenderMenuList.cpp:
(RenderMenuList::createScrollbar):
- rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::createScrollbar):
- replay/ReplayController.cpp:
(WebCore::ReplayController::unloadSegment):
- svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::build):
- svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::build):
- svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::getItemValuesAndWrappers):
(WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
(WebCore::SVGListProperty::removeItemValuesAndWrappers):
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThread):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::internalAbort):
- xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis):
Source/WebKit:
- Storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::setItem):
(WebCore::StorageAreaImpl::removeItem):
Source/WebKit/mac:
- Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::create):
(WebKit::NetscapePluginInstanceProxy::loadRequest):
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
- WebCoreSupport/WebFrameLoaderClient.mm:
(-[WebFramePolicyListener receivedPolicyDecision:]):
- WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin initWithURL:]):
- WebView/WebArchive.mm:
(-[WebArchive initWithMainResource:subresources:subframeArchives:]):
(-[WebArchive initWithData:]):
- WebView/WebDataSource.mm:
(-[WebDataSource mainResource]):
- WebView/WebFrame.mm:
(-[WebFrame _documentFragmentWithNodesAsParagraphs:]):
Source/WebKit2:
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord):
- Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::allocate):
(WebKit::SharedMemory::create):
(WebKit::SharedMemory::map):
- PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::createWebProcessConnection):
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeToObjectStream):
- Shared/API/c/WKImage.cpp:
(WKImageCreate):
- Shared/API/c/WKNumber.cpp:
(WKBooleanCreate):
(WKDoubleCreate):
(WKUInt64Create):
- Shared/API/c/WKSecurityOriginRef.cpp:
(WKSecurityOriginCreate):
- Shared/API/c/WKSerializedScriptValue.cpp:
(WKSerializedScriptValueCreate):
(WKSerializedScriptValueCreateWithInternalRepresentation):
- Shared/API/c/cairo/WKImageCairo.cpp:
(WKImageCreateFromCairoSurface):
- Shared/API/c/cg/WKImageCG.cpp:
(WKImageCreateFromCGImage):
- Shared/API/c/mac/WKCertificateInfoMac.mm:
(WKCertificateInfoCreateWithCertficateChain):
- Shared/API/c/mac/WKObjCTypeWrapperRef.mm:
(WKObjCTypeWrapperCreate):
- Shared/API/c/mac/WKWebArchive.cpp:
(WKWebArchiveCreate):
(WKWebArchiveCreateWithData):
(WKWebArchiveCreateFromRange):
(WKWebArchiveCopyMainResource):
(WKWebArchiveCopySubresources):
(WKWebArchiveCopySubframeArchives):
- Shared/API/c/mac/WKWebArchiveResource.cpp:
(WKWebArchiveResourceCreate):
- Shared/APIWebArchive.mm:
(API::WebArchive::WebArchive):
- Shared/Plugins/Netscape/NetscapePluginModule.cpp:
(WebKit::NetscapePluginModule::getOrCreate):
- Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::create):
- Shared/ShareableResource.cpp:
(WebKit::ShareableResource::map):
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::ArgumentCoder<DragData>::decode):
- UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
(WKViewCreate):
- UIProcess/API/C/WKBatteryStatus.cpp:
(WKBatteryStatusCreate):
- UIProcess/API/C/WKGeolocationPosition.cpp:
(WKGeolocationPositionCreate_b):
- UIProcess/API/C/WKGrammarDetail.cpp:
(WKGrammarDetailCreate):
- UIProcess/API/C/WKPage.cpp:
(WKPageCopySessionState):
- UIProcess/API/C/WKPageGroup.cpp:
(WKPageGroupCreateWithIdentifier):
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesCreate):
(WKPreferencesCreateWithIdentifier):
(WKPreferencesCreateCopy):
- UIProcess/API/C/WKSessionRef.cpp:
(WKSessionCreate):
- UIProcess/API/C/WKSessionStateRef.cpp:
(WKSessionStateCopyData):
- UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextCopyPlugInInfoForBundleIdentifier):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadRequest:]):
(-[WKWebView loadFileURL:allowingReadAccessToURL:]):
(-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]):
(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
(-[WKWebView _reloadWithoutContentBlockers]):
(-[WKWebView _sessionStateData]):
(-[WKWebView _restoreSessionState:andNavigate:]):
- UIProcess/API/efl/ewk_database_manager.cpp:
(EwkDatabaseManager::createOriginList):
- UIProcess/API/efl/ewk_storage_manager.cpp:
(EwkStorageManager::createOriginList):
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewCreateNewPage):
(webkitWebViewPrintFrame):
(getContentsAsMHTMLDataCallback):
- UIProcess/Cocoa/SessionStateCoding.mm:
(WebKit::encodeSessionState):
- UIProcess/GenericCallback.h:
(WebKit::CallbackMap::take):
- UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
(WebKit::GeolocationPermissionRequestManagerProxy::createRequest):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
- UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
(WebKit::NotificationPermissionRequestManagerProxy::createRequest):
- UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::getOrCreatePluginProcess):
- UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::setItem):
(WebKit::StorageManager::StorageArea::removeItem):
(WebKit::StorageManager::createLocalStorageMap):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::clear):
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::installViewStateChangeCompletionHandler):
- UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::createWithLegacyDefaults):
(WebKit::WebPreferences::copy):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::~WebProcessPool):
- UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::recordSnapshot):
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _webHitTestResult]):
- UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _askPageToComputePageRects]):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::setDragImage):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame hitTest:]):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm:
(-[WKWebProcessPlugInHitTestResult nodeHandle]):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
(-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
(+[WKWebProcessPlugInScriptWorld world]):
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundlePostSynchronousMessage):
- WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp:
(WKBundleDOMWindowExtensionCreate):
- WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
(WKBundleHitTestResultCopyNodeHandle):
(WKBundleHitTestResultCopyURLElementHandle):
- WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp:
(WKBundleNavigationActionCopyHitTestResult):
(WKBundleNavigationActionCopyFormElement):
- WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
(WKBundleNodeHandleCreate):
(WKBundleNodeHandleCopyDocument):
(WKBundleNodeHandleCopySnapshotWithOptions):
(WKBundleNodeHandleCopyVisibleRange):
(WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
(WKBundleNodeHandleCopyDocumentFrame):
(WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
(WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageCreateSnapshotWithOptions):
(WKBundlePageCreateSnapshotInViewCoordinates):
(WKBundlePageCreateSnapshotInDocumentCoordinates):
(WKBundlePageCreateScaledSnapshotInDocumentCoordinates):
(WKBundlePagePostSynchronousMessageForTesting):
- WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
(WKBundleRangeHandleCreate):
(WKBundleRangeHandleCopySnapshotWithOptions):
- WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
(WKBundleScriptWorldCreateWorld):
- WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
(-[WKDOMNode _copyBundleNodeHandleRef]):
- WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange _copyBundleRangeHandleRef]):
- WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp:
(WebKit::InjectedBundleCSSStyleDeclarationHandle::getOrCreate):
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::imageForRect):
(WebKit::InjectedBundleNodeHandle::renderedImage):
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::create):
- WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::loadURL):
- WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
(WebKit::PDFPlugin::createScrollbar):
- WebProcess/Storage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::applyChange):
- WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toFormData):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin):
(WebKit::WebFrameLoaderClient::recreatePlugin):
(WebKit::WebFrameLoaderClient::createJavaAppletWidget):
(WebKit::WebFrameLoaderClient::createNetworkingContext):
- WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::highlight):
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::convertImageToBitmap):
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll):
- WebProcess/WebPage/VisitedLinkTableController.cpp:
(WebKit::VisitedLinkTableController::getOrCreate):
(WebKit::VisitedLinkTableController::setVisitedLinkTable):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createWithCoreMainFrame):
(WebKit::WebFrame::createSubframe):
(WebKit::WebFrame::create):
(WebKit::WebFrame::createSelectionSnapshot):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
(WebKit::WebPage::snapshotAtSize):
(WebKit::WebPage::snapshotNode):
(WebKit::WebPage::willPerformLoadDragDestinationAction):
(WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
(WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
(WebKit::WebPage::drawRectToImage):
- WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::create):
- WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
(WebKit::PlatformCAAnimationRemote::Properties::decode):
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::create):
(WebKit::PlatformCALayerRemote::clone):
- WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
(WebKit::PlatformCALayerRemoteCustom::create):
(WebKit::PlatformCALayerRemoteCustom::clone):
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::createDisplayRefreshMonitor):
Tools:
- DumpRenderTree/mac/PixelDumpSupportMac.mm:
(createBitmapContextFromWebView):
(createPagedBitmapContext):
- DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setMockGeolocationPosition):
- TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
- 1:48 PM Changeset in webkit [202241] by
-
- 1 copy in tags/Safari-601.1.46.145
New tag.
- 1:47 PM Changeset in webkit [202240] by
-
- 1 copy in tags/Safari-601.7.5
New tag.
- 1:40 PM Changeset in webkit [202239] by
-
- 3 edits2 deletes in trunk
Unreviewed, rolling out r202179.
https://bugs.webkit.org/show_bug.cgi?id=158946
The test either fails or times out 100% of the time (Requested
by ap on #webkit).
Reverted changeset:
"REGRESSION: Double tap to zoom does not work on yahoo
finance"
https://bugs.webkit.org/show_bug.cgi?id=158886
http://trac.webkit.org/changeset/202179
Patch by Commit Queue <commit-queue@webkit.org> on 2016-06-20
- 1:38 PM Changeset in webkit [202238] by
-
- 2 edits in trunk/Source/WebCore
Crash in PlatformMediaSession::clientWillPausePlayback
https://bugs.webkit.org/show_bug.cgi?id=158953
<rdar://problem/26121125>
Reviewed by Jer Noble.
No new tests, I have not been able to reproduce this in a test.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stop): Ref the element before calling stopWithoutDestroyingMediaPlayer
because updatePlaybackControlsManager can release the last reference and cause the
destructor to be called.
(WebCore::HTMLMediaElement::suspend): Ditto.
- 1:35 PM Changeset in webkit [202237] by
-
- 2 edits in trunk/LayoutTests
Fix a run-webkit-tests --lint warning.
- platform/mac/TestExpectations:
- 1:34 PM Changeset in webkit [202236] by
-
- 3 edits in trunk/Source/WebCore
Clean up ResourceResponseBase after r201943
https://bugs.webkit.org/show_bug.cgi?id=158706
Patch by Alex Christensen <achristensen@webkit.org> on 2016-06-20
Reviewed by Michael Catanzaro.
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::asResourceResponse): Deleted.
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::platformCompare):
- 1:30 PM Changeset in webkit [202235] by
-
- 3 edits in trunk/LayoutTests
Test expectations gardening for
https://bugs.webkit.org/show_bug.cgi?id=155196
Marked the tests as flaky instead of skipping, to make the results visible on the
flakiness dashboard. Also added video-with-data-url-allowed-by-media-src-star.html,
which is very flaky too.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 12:12 PM Changeset in webkit [202234] by
-
- 22 edits2 adds in trunk
Web Inspector: console.profile should use the new Sampling Profiler
https://bugs.webkit.org/show_bug.cgi?id=153499
<rdar://problem/24352431>
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
Currently console.profile/profileEnd behave slightly differently
between JSContext and Web inspection. Unifying will be part of:
<https://webkit.org/b/158753> Generalize the concept of Instruments on the backend
Both JSContext and Web inspection keep track of active
profiles started and stopped via console.profile/profileEnd.
JSContext inspection sends its programmatic start/stop
via the ScriptProfiler domain.
Web inspection sends its programmatic start/stop
via the Timeline domain, and also will start/stop backend
list of Instruments.
The functional differences between these is that for JSContext
inspection, console.profile only starts/stops the ScriptProfiler
domain, and does not auto-start other instruments. This isn't really
a problem right now given the instruments available for JSContext
inspection; but it will be nice to unify as we add more instruments.
Also, JSContext inspection won't have "Profile (name)" records in
its Events view, since those are currently generated only by the
Web's Timeline domain.
- inspector/protocol/ScriptProfiler.json:
- inspector/protocol/Timeline.json:
Events to inform the frontend of programmatic start/stop.
- debugger/Debugger.h:
- inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::breakpointsActive):
(Inspector::InspectorDebuggerAgent::isPaused):
- inspector/agents/InspectorDebuggerAgent.h:
Expose breakpoints active state, since programmatic recording
will temporarily disabled breakpoints if needed.
- inspector/JSGlobalObjectConsoleClient.cpp:
(Inspector::JSGlobalObjectConsoleClient::JSGlobalObjectConsoleClient):
(Inspector::JSGlobalObjectConsoleClient::profile):
(Inspector::JSGlobalObjectConsoleClient::profileEnd):
(Inspector::JSGlobalObjectConsoleClient::startConsoleProfile):
(Inspector::JSGlobalObjectConsoleClient::stopConsoleProfile):
- inspector/JSGlobalObjectConsoleClient.h:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
- inspector/agents/InspectorScriptProfilerAgent.cpp:
(Inspector::InspectorScriptProfilerAgent::programmaticCaptureStarted):
(Inspector::InspectorScriptProfilerAgent::programmaticCaptureStopped):
- inspector/agents/InspectorScriptProfilerAgent.h:
JSContext implementation of console.profile/profileEnd.
Source/WebCore:
Test: inspector/timeline/setInstruments-programmatic-capture.html
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
(WebCore::InspectorTimelineAgent::mainFrameStartedLoading):
(WebCore::InspectorTimelineAgent::startProgrammaticCapture):
(WebCore::InspectorTimelineAgent::stopProgrammaticCapture):
(WebCore::InspectorTimelineAgent::toggleInstruments):
(WebCore::InspectorTimelineAgent::toggleScriptProfilerInstrument):
(WebCore::InspectorTimelineAgent::toggleHeapInstrument):
(WebCore::InspectorTimelineAgent::toggleMemoryInstrument):
(WebCore::InspectorTimelineAgent::toggleTimelineInstrument):
- inspector/InspectorTimelineAgent.h:
Web implementation of console.profile/profileEnd.
Make helpers for startings / stopping instruments.
Source/WebInspectorUI:
- UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.programmaticCaptureStarted):
(WebInspector.TimelineManager.prototype.programmaticCaptureStopped):
(WebInspector.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStarted):
(WebInspector.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStopped):
For programmatic captures, automatically show the Script Timeline, since
that is guarenteed to have been started by the backend. Start capturing
without creating a new recording.
- UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording.prototype.stop):
(WebInspector.TimelineRecording.prototype.addScriptInstrumentForProgrammaticCapture):
When stopping for programmatic capture we don't need to disable
instruments, the backend would have already done this.
- UserInterface/Protocol/ScriptProfilerObserver.js:
(WebInspector.ScriptProfilerObserver.prototype.programmaticCaptureStarted):
(WebInspector.ScriptProfilerObserver.prototype.programmaticCaptureStopped):
(WebInspector.ScriptProfilerObserver):
- UserInterface/Protocol/TimelineObserver.js:
(WebInspector.TimelineObserver.prototype.programmaticCaptureStarted):
(WebInspector.TimelineObserver.prototype.programmaticCaptureStopped):
(WebInspector.TimelineObserver):
Pass through Web and JSContext programmatic capture events.
LayoutTests:
- inspector/timeline/setInstruments-programmatic-capture-expected.txt: Added.
- inspector/timeline/setInstruments-programmatic-capture.html: Added.
New test that the backend auto-starts instruments during programmatic capture.
- 12:10 PM Changeset in webkit [202233] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, rebaseline test now that TouchEvent has a constructor.
- fast/events/touch/document-create-touch-list-ios-expected.txt:
- 11:52 AM Changeset in webkit [202232] by
-
- 2 edits1 add in trunk/Tools
Add a API test for *DeferringViewInWindowChanges as fixed in r202230
https://bugs.webkit.org/show_bug.cgi?id=158947
Reviewed by Simon Fraser.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/DeferredViewInWindowStateChange.mm: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
Add a test ensuring that in-window state changes are deferred when using
the SPI for deferring them, as fixed in r202230.
- 10:23 AM Changeset in webkit [202231] by
-
- 9 edits in trunk/Source/WebCore
When navigating, discard decoded image data that is only live due to page cache.
<https://webkit.org/b/158941>
Reviewed by Antti Koivisto.
A resource is "live" if it's currently in use by a web page, and "dead" if it's
only kept alive by the memory cache.
This patch adds a mechanism that looks at CachedImage resources to see if all the
clients that make them appear "live" are actually pages in the page cache.
If so, we let the "jettison expensive objects on top-level navigation" mechanism
discard the decoded data for such half-live images. This can reduce the peak
memory usage during navigations quite a bit.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad): Move the call to MemoryPressureHandler
before we add the outgoing page to the page cache. This allows the jettisoning code
to make decisions based on which pages were cached *before* the navigation.
- loader/cache/CachedImageClient.h:
(WebCore::CachedImageClient::inPageCache):
- loader/ImageLoader.h:
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::inPageCache):
- rendering/RenderObject.h:
(WebCore::RenderObject::inPageCache): Added a CachedImageClient::inPageCache() virtual
to determine which clients are currently in page cache (answered by their Document.)
- loader/cache/CachedImage.h:
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::areAllClientsInPageCache): Walks all CachedImageClient clients
and returns true if all of them are inPageCache().
- platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::jettisonExpensiveObjectsOnTopLevelNavigation):
Walk all the known CachedImages and nuke decoded data for those that have some but
are only considered live due to clients in the page cache.
- 10:13 AM Changeset in webkit [202230] by
-
- 3 edits in trunk/Source/WebKit2
REGRESSION (r191499): Tab content "jumps" down when focusing tabs that load in the background
https://bugs.webkit.org/show_bug.cgi?id=158904
<rdar://problem/26025831>
Reviewed by Sam Weinig.
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::viewDidMoveToWindow):
During the large refactor that was r191499, we somehow ended up with two
different members for the same thing - one that got written, and one that
got read. We should only have one.
- 10:10 AM Changeset in webkit [202229] by
-
- 2 edits in trunk/Source/WebKit2
Try to fix the iOS build after r202142 and r202224.
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- 10:02 AM Nightly Builds edited by
- Add the link to El Capitan workarounds (diff)
- 9:10 AM Changeset in webkit [202228] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix post-landing review comment from Darin on r202188.
- platform/network/CacheValidation.cpp:
(WebCore::parseCacheHeader):
- 1:52 AM Changeset in webkit [202227] by
-
- 5 edits2 adds in trunk
Updating class name of a shadow host does not update the style applied by :host()
https://bugs.webkit.org/show_bug.cgi?id=158900
<rdar://problem/26883707>
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/shadow-dom/shadow-host-style-update.html
Teach style invalidation optimization code about :host.
- style/AttributeChangeInvalidation.cpp:
(WebCore::Style::mayBeAffectedByHostStyle):
(WebCore::Style::AttributeChangeInvalidation::invalidateStyle):
- style/ClassChangeInvalidation.cpp:
(WebCore::Style::computeClassChange):
(WebCore::Style::mayBeAffectedByHostStyle):
(WebCore::Style::ClassChangeInvalidation::invalidateStyle):
- style/IdChangeInvalidation.cpp:
(WebCore::Style::mayBeAffectedByHostStyle):
(WebCore::Style::IdChangeInvalidation::invalidateStyle):
LayoutTests:
- fast/shadow-dom/shadow-host-style-update-expected.html: Added.
- fast/shadow-dom/shadow-host-style-update.html: Added.
- 12:07 AM Changeset in webkit [202226] by
-
- 2 edits in trunk/Tools
WebKitTestRunner: Missing \n at the line of "#PROCESS UNRESPONSIVE"
https://bugs.webkit.org/show_bug.cgi?id=158931
Patch by Fujii Hironori <Fujii Hironori> on 2016-06-20
Reviewed by Alexey Proskuryakov.
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpWebProcessUnresponsiveness): Appended missing \n at the end of line.
Jun 19, 2016:
- 11:56 PM Changeset in webkit [202225] by
-
- 10 edits in trunk/Source/ThirdParty
Update Brotli to version 0.4.0
https://bugs.webkit.org/show_bug.cgi?id=158907
Reviewed by Michael Catanzaro.
- brotli/README.webkit:
- brotli/dec/bit_reader.h:
- brotli/dec/decode.c:
- brotli/dec/decode.h:
- brotli/dec/huffman.c:
- brotli/dec/huffman.h:
- brotli/dec/port.h:
(BrotliDump):
- brotli/dec/state.c:
- brotli/dec/state.h:
- 10:53 PM Changeset in webkit [202224] by
-
- 2 edits in trunk/Source/WebKit2
Fix erroneously commented line added in r202142.
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- 8:57 PM Changeset in webkit [202223] by
-
- 3 edits in trunk/LayoutTests
Test expectation gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 7:35 PM Changeset in webkit [202222] by
-
- 3 edits in trunk/LayoutTests
Test expectation gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 6:59 PM Changeset in webkit [202221] by
-
- 2 edits in trunk/LayoutTests
[EFL] Mark shadow-dom tests to pass because it was enabled by r202091
https://bugs.webkit.org/show_bug.cgi?id=158930
Unreviewed EFL gardening.
- platform/efl/TestExpectations:
- 6:22 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 6:19 PM Changeset in webkit [202220] by
-
- 2 edits2 adds in trunk/LayoutTests
[GTK] Unreviewed test gardening
- fast/forms/select-non-native-rendering-direction-expected.txt: Added.
- fast/text/hyphenate-avoid-orphaned-word-expected.txt: Added.
- platform/gtk/TestExpectations:
- 5:17 PM Changeset in webkit [202219] by
-
- 36 edits27 copies3 moves38 adds3 deletes in trunk
Add test expectations for macOS Sierra
https://bugs.webkit.org/show_bug.cgi?id=158903
Reviewed by Alex Christensen.
Tools:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
Added dashboard support.
- BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
- BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
Trigger the right build queues on check-in.
- Scripts/webkitpy/common/system/platforminfo.py:
- Scripts/webkitpy/common/system/platforminfo_unittest.py:
- Scripts/webkitpy/layout_tests/models/test_expectations.py:
- Scripts/webkitpy/port/mac.py:
- Scripts/webkitpy/port/mac_unittest.py:
- TestResultServer/static-dashboards/flakiness_dashboard.js:
Added cases for Sierra, and updated tests for new baseline search paths.
LayoutTests:
- TestExpectations:
- media/click-placeholder-not-pausing-expected.txt: Added.
- media/click-placeholder-not-pausing.html: Added.
- media/controls/picture-in-picture-expected.txt: Added.
- media/controls/picture-in-picture.html: Added.
- media/element-containing-pip-video-going-into-fullscreen-expected.txt: Added.
- media/element-containing-pip-video-going-into-fullscreen.html: Added.
- media/fullscreen-api-enabled-media-with-presentation-mode-expected.txt: Added.
- media/fullscreen-api-enabled-media-with-presentation-mode.html: Added.
- media/fullscreen-video-going-into-pip-expected.txt: Added.
- media/fullscreen-video-going-into-pip.html: Added.
- media/navigate-with-pip-should-not-crash-expected.txt: Added.
- media/navigate-with-pip-should-not-crash.html: Added.
- media/pip-video-going-into-fullscreen-expected.txt: Added.
- media/pip-video-going-into-fullscreen.html: Added.
- media/video-contained-in-fullscreen-element-going-into-pip-expected.txt: Added.
- media/video-contained-in-fullscreen-element-going-into-pip.html: Added.
- platform/mac-elcapitan: Added.
- platform/mac-elcapitan/compositing: Added.
- platform/mac-elcapitan/compositing/rtl: Added.
- platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt: Copied from LayoutTests/platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.txt.
- platform/mac-elcapitan/fast: Added.
- platform/mac-elcapitan/fast/block: Added.
- platform/mac-elcapitan/fast/block/float: Added.
- platform/mac-elcapitan/fast/block/float/026-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/026-expected.png.
- platform/mac-elcapitan/fast/block/float/026-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/026-expected.txt.
- platform/mac-elcapitan/fast/block/float/028-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/028-expected.png.
- platform/mac-elcapitan/fast/block/float/028-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/028-expected.txt.
- platform/mac-elcapitan/fast/overflow: Added.
- platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png: Copied from LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png.
- platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt: Copied from LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt.
- platform/mac-elcapitan/fast/ruby: Added.
- platform/mac-elcapitan/fast/ruby/bopomofo-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-expected.png.
- platform/mac-elcapitan/fast/ruby/bopomofo-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-expected.txt.
- platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png.
- platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt.
- platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.png.
- platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.txt.
- platform/mac-elcapitan/fast/text: Added.
- platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt: Copied from LayoutTests/platform/mac/fast/text/crash-complex-text-surrogate-expected.txt.
- platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png: Copied from LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.png.
- platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt: Copied from LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.txt.
- platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.png.
- platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.txt.
- platform/mac-elcapitan/http: Added.
- platform/mac-elcapitan/http/tests: Added.
- platform/mac-elcapitan/http/tests/cookies: Added.
- platform/mac-elcapitan/http/tests/cookies/third-party-cookie-relaxing-expected.txt: Copied from LayoutTests/http/tests/cookies/third-party-cookie-relaxing-expected.txt.
- platform/mac-elcapitan/http/tests/security: Added.
- platform/mac-elcapitan/http/tests/security/mixedContent: Added.
- platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt.
- platform/mac-elcapitan/media: Added.
- platform/mac-elcapitan/media/controls-strict-expected.png: Copied from LayoutTests/platform/mac/media/controls-strict-expected.png.
- platform/mac-elcapitan/media/controls-strict-expected.txt: Copied from LayoutTests/platform/mac/media/controls-strict-expected.txt.
- platform/mac-elcapitan/media/controls-without-preload-expected.png: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.png.
- platform/mac-elcapitan/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
- platform/mac-elcapitan/media/track: Added.
- platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt: Copied from LayoutTests/platform/mac/media/track/video-track-alternate-groups-expected.txt.
- platform/mac-elcapitan/media/video-controls-rendering-expected.txt: Copied from LayoutTests/platform/mac/media/video-controls-rendering-expected.txt.
- platform/mac-elcapitan/media/video-display-toggle-expected.png: Copied from LayoutTests/platform/mac/media/video-display-toggle-expected.png.
- platform/mac-elcapitan/media/video-display-toggle-expected.txt: Copied from LayoutTests/platform/mac/media/video-display-toggle-expected.txt.
- platform/mac-elcapitan/media/video-no-audio-expected.txt: Copied from LayoutTests/platform/mac/media/video-no-audio-expected.txt.
- platform/mac-elcapitan/media/video-volume-slider-expected.txt: Copied from LayoutTests/platform/mac/media/video-volume-slider-expected.txt.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac-wk2/fast/scrolling: Added.
- platform/mac-wk2/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.
- platform/mac/TestExpectations:
- platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.png: Added.
- platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.txt:
- platform/mac/fast/block/float/026-expected.png:
- platform/mac/fast/block/float/026-expected.txt:
- platform/mac/fast/block/float/028-expected.png:
- platform/mac/fast/block/float/028-expected.txt:
- platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png:
- platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt:
- platform/mac/fast/ruby/bopomofo-expected.png:
- platform/mac/fast/ruby/bopomofo-expected.txt:
- platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png:
- platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt:
- platform/mac/fast/ruby/bopomofo-rl-expected.png:
- platform/mac/fast/ruby/bopomofo-rl-expected.txt:
- platform/mac/fast/text/crash-complex-text-surrogate-expected.txt:
- platform/mac/fast/text/justify-ideograph-complex-expected.png:
- platform/mac/fast/text/justify-ideograph-complex-expected.txt:
- platform/mac/fast/text/line-initial-and-final-swashes-expected.png:
- platform/mac/fast/text/line-initial-and-final-swashes-expected.txt:
- platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt: Added.
- platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt:
- platform/mac/media/controls-strict-expected.png: Removed.
- platform/mac/media/controls-without-preload-expected.png: Removed.
- platform/mac/media/track/video-track-alternate-groups-expected.txt:
- platform/mac/media/video-controls-rendering-expected.png: Removed.
- platform/mac/media/video-display-toggle-expected.png: Removed.
- platform/mac/media/video-no-audio-expected.png: Removed.
- platform/mac/media/video-volume-slider-expected.png: Removed.
- 5:03 PM Changeset in webkit [202218] by
-
- 25 edits in trunk/Source/WebCore
Remove hasStaticPropertyTable (part 5: done!)
https://bugs.webkit.org/show_bug.cgi?id=158431
Reviewed by Chris Dumez.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- remove hasStaticPropertyTable.
- bindings/scripts/test/JS/JSInterfaceName.h:
(WebCore::JSInterfaceName::create):
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
(WebCore::JSTestActiveDOMObject::create):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
(WebCore::JSTestClassWithJSBuiltinConstructor::create):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::create):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
(WebCore::JSTestCustomNamedGetter::create):
- bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::create):
- bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::create):
- bindings/scripts/test/JS/JSTestException.h:
(WebCore::JSTestException::create):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
(WebCore::JSTestGenerateIsReachable::create):
- bindings/scripts/test/JS/JSTestGlobalObject.h:
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
(WebCore::JSTestJSBuiltinConstructor::create):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::create):
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::create):
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestNondeterministic.h:
(WebCore::JSTestNondeterministic::create):
- bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::create):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(WebCore::JSTestOverloadedConstructors::create):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
(WebCore::JSTestOverrideBuiltins::create):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::create):
- bindings/scripts/test/JS/JSTestTypedefs.h:
(WebCore::JSTestTypedefs::create):
- bindings/scripts/test/JS/JSattribute.h:
(WebCore::JSattribute::create):
- bindings/scripts/test/JS/JSreadonly.h:
(WebCore::JSreadonly::create):
- 3:19 PM Changeset in webkit [202217] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove Sidebar z-index:0 workaround for scrollbars and position:sticky section headers
https://bugs.webkit.org/show_bug.cgi?id=158882
Reviewed by Darin Adler.
The z-index:0 workaround is no longer needed as it doesn't change anything.
- UserInterface/Views/Sidebar.css:
(.sidebar > .panel): Deleted.
- 1:49 PM Changeset in webkit [202216] by
-
- 2 edits in trunk/Tools
Another buid fix for master.cfg.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CompileWebKit.start):
- 1:35 PM Changeset in webkit [202215] by
-
- 2 edits in trunk/Tools
Another buid fix for master.cfg.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CompileWebKit.start):
- 12:42 PM Changeset in webkit [202214] by
-
- 26 edits2 adds in trunk/Source/JavaScriptCore
We should be able to generate more types of ICs inline
https://bugs.webkit.org/show_bug.cgi?id=158719
<rdar://problem/26825641>
Reviewed by Filip Pizlo.
This patch changes how we emit code for *byId ICs inline.
We no longer keep data labels to patch structure checks, etc.
Instead, we just regenerate the entire IC into a designated
region of code that the Baseline/DFG/FTL JIT will emit inline.
This makes it much simpler to patch inline ICs. All that's
needed to patch an inline IC is to memcpy the code from
a macro assembler inline using LinkBuffer. This architecture
will be easy to extend into other forms of ICs, such as one
for add, in the future.
To support this change, I've reworked the fields inside
StructureStubInfo. It now has one field that is the CodeLocationLabel
of the start of the inline IC. Then it has a few ints that track deltas
to other locations in the IC such as the slow path start, slow path call, the
ICs 'done' location. We used to perform math on these ints in a bunch of different
places. I've consolidated that math into methods inside StructureStubInfo.
To generate inline ICs, I've implemented a new class called InlineAccess.
InlineAccess is stateless: it just has a bunch of static methods for
generating code into the inline region specified by StructureStubInfo.
Repatch will now decide when it wants to generate such an inline
IC, and it will ask InlineAccess to do so.
I've implemented three types of inline ICs to begin with (extending
this in the future should be easy):
- Self property loads (both inline and out of line offsets).
- Self property replace (both inline and out of line offsets).
- Array length on specific array types.
(An easy extension would be to implement JSString length.)
To know how much inline space to reserve, I've implemented a
method that stubs out the various inline cache shapes and
dumps their size. This is used to determine how much space
to save inline. When InlineAccess ends up generating more
code than can fit inline, we will fall back to generating
code with PolymorphicAccess instead.
To make generating code into already allocated executable memory
efficient, I've made AssemblerData have 128 bytes of inline storage.
This saves us a malloc when splatting code into the inline region.
This patch also tidies up LinkBuffer's API for generating
into already allocated executable memory. Now, when generating
code that has less size than the already allocated space, LinkBuffer
will fill the extra space with nops. Also, if branch compaction shrinks
the code, LinkBuffer will add a nop sled at the end of the shrunken
code to take up the entire allocated size.
This looks like it could be a 1% octane progression.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::nop):
(JSC::ARM64Assembler::fillNops):
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::nopw):
(JSC::ARMv7Assembler::nopPseudo16):
(JSC::ARMv7Assembler::nopPseudo32):
(JSC::ARMv7Assembler::fillNops):
(JSC::ARMv7Assembler::dmbSY):
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::addLinkTask):
(JSC::AbstractMacroAssembler::emitNops):
(JSC::AbstractMacroAssembler::AbstractMacroAssembler):
- assembler/AssemblerBuffer.h:
(JSC::AssemblerData::AssemblerData):
(JSC::AssemblerData::operator=):
(JSC::AssemblerData::~AssemblerData):
(JSC::AssemblerData::buffer):
(JSC::AssemblerData::grow):
(JSC::AssemblerData::isInlineBuffer):
(JSC::AssemblerBuffer::AssemblerBuffer):
(JSC::AssemblerBuffer::ensureSpace):
(JSC::AssemblerBuffer::codeSize):
(JSC::AssemblerBuffer::setCodeSize):
(JSC::AssemblerBuffer::label):
(JSC::AssemblerBuffer::debugOffset):
(JSC::AssemblerBuffer::releaseAssemblerData):
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode):
(JSC::LinkBuffer::linkCode):
(JSC::LinkBuffer::allocate):
(JSC::LinkBuffer::performFinalization):
(JSC::LinkBuffer::shrink): Deleted.
- assembler/LinkBuffer.h:
(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::debugAddress):
(JSC::LinkBuffer::size):
(JSC::LinkBuffer::wasAlreadyDisassembled):
(JSC::LinkBuffer::didAlreadyDisassemble):
(JSC::LinkBuffer::applyOffset):
(JSC::LinkBuffer::code):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::patchableBranch32):
(JSC::MacroAssemblerARM64::patchableBranch64):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::patchableBranch32):
(JSC::MacroAssemblerARMv7::patchableBranchPtrWithPatch):
- assembler/X86Assembler.h:
(JSC::X86Assembler::nop):
(JSC::X86Assembler::fillNops):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printGetByIdCacheStatus):
- bytecode/InlineAccess.cpp: Added.
(JSC::InlineAccess::dumpCacheSizesAndCrash):
(JSC::linkCodeInline):
(JSC::InlineAccess::generateSelfPropertyAccess):
(JSC::getScratchRegister):
(JSC::hasFreeRegister):
(JSC::InlineAccess::canGenerateSelfPropertyReplace):
(JSC::InlineAccess::generateSelfPropertyReplace):
(JSC::InlineAccess::isCacheableArrayLength):
(JSC::InlineAccess::generateArrayLength):
(JSC::InlineAccess::rewireStubAsJump):
- bytecode/InlineAccess.h: Added.
(JSC::InlineAccess::sizeForPropertyAccess):
(JSC::InlineAccess::sizeForPropertyReplace):
(JSC::InlineAccess::sizeForLengthAccess):
- bytecode/PolymorphicAccess.cpp:
(JSC::PolymorphicAccess::regenerate):
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::initGetByIdSelf):
(JSC::StructureStubInfo::initArrayLength):
(JSC::StructureStubInfo::initPutByIdReplace):
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::aboutToDie):
(JSC::StructureStubInfo::propagateTransitions):
(JSC::StructureStubInfo::containsPC):
- bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::considerCaching):
(JSC::StructureStubInfo::slowPathCallLocation):
(JSC::StructureStubInfo::doneLocation):
(JSC::StructureStubInfo::slowPathStartLocation):
(JSC::StructureStubInfo::patchableJumpForIn):
(JSC::StructureStubInfo::valueRegs):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
- dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::reifyInlinedCallFrames):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
(JSC::FTL::DFG::LowerDFGToB3::getById):
- jit/JITInlineCacheGenerator.cpp:
(JSC::JITByIdGenerator::finalize):
(JSC::JITByIdGenerator::generateFastCommon):
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
(JSC::JITGetByIdGenerator::generateFastPath):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):
(JSC::JITPutByIdGenerator::generateFastPath):
(JSC::JITPutByIdGenerator::slowPathFunction):
(JSC::JITByIdGenerator::generateFastPathChecks): Deleted.
- jit/JITInlineCacheGenerator.h:
(JSC::JITByIdGenerator::reportSlowPathCall):
(JSC::JITByIdGenerator::slowPathBegin):
(JSC::JITByIdGenerator::slowPathJump):
(JSC::JITGetByIdGenerator::JITGetByIdGenerator):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emit_op_try_get_by_id):
(JSC::JIT::emit_op_get_by_id):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emit_op_try_get_by_id):
(JSC::JIT::emit_op_get_by_id):
- jit/Repatch.cpp:
(JSC::repatchCall):
(JSC::tryCacheGetByID):
(JSC::repatchGetByID):
(JSC::appropriateGenericPutByIdFunction):
(JSC::tryCachePutByID):
(JSC::repatchPutByID):
(JSC::tryRepatchIn):
(JSC::repatchIn):
(JSC::linkSlowFor):
(JSC::resetGetByID):
(JSC::resetPutByID):
(JSC::resetIn):
(JSC::repatchByIdSelfAccess): Deleted.
(JSC::resetGetByIDCheckAndLoad): Deleted.
(JSC::resetPutByIDCheckAndLoad): Deleted.
(JSC::replaceWithJump): Deleted.
- 11:26 AM Changeset in webkit [202213] by
-
- 2 edits in trunk/Tools
Fix master.cfg
Unreviewed build fix.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CompileWebKit.start):
- 11:02 AM Changeset in webkit [202212] by
-
- 1 edit in trunk/Tools/ChangeLog
Test another commit.
Unreviewed.
- 10:51 AM Changeset in webkit [202211] by
-
- 4 edits in trunk/Source/WebCore
The JSBuiltinConstructor feature can't handle a JS interface extending an other JS interface
https://bugs.webkit.org/show_bug.cgi?id=158834
Reviewed by Eric Carlson.
No change of behavior.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Explicitly setting DOMWrapped type definition from
JSXX class deriving from another JSYY class.
- bindings/scripts/test/JS/JSTestEventTarget.h: Rebased.
- bindings/scripts/test/JS/JSTestNode.h: Ditto.
- 10:48 AM Changeset in webkit [202210] by
-
- 1 edit in trunk/Tools/ChangeLog
Test commit.
Unreviewed.
- 10:35 AM Changeset in webkit [202209] by
-
- 1 edit in trunk/Tools/ChangeLog
Test another commit.
Unreviewed.
- 10:31 AM Changeset in webkit [202208] by
-
- 1 edit in trunk/Tools/ChangeLog
Test commit.
Unreviewed.
- 10:19 AM Changeset in webkit [202207] by
-
- 1 edit in trunk/Tools/ChangeLog
Test yet another commit.
Unreviewed.
- 10:01 AM Changeset in webkit [202206] by
-
- 1 edit in trunk/Tools/ChangeLog
Test another commit.
Unreviewed.
- 9:42 AM Changeset in webkit [202205] by
-
- 3 edits in trunk/Source/JavaScriptCore
REGRESSION(concurrent baseline JIT): Kraken/ai-astar runs 20% slower
https://bugs.webkit.org/show_bug.cgi?id=158906
Reviewed by Benjamin Poulain.
The concurrent baseline JIT was a 2-3% progression on JSBench, possibly a 1% progression
on PLT3, but a 2-5% regression on Kraken. This patch fixes the Kraken regression without
affecting the other tests.
The problem is that Kraken/ai-astar's initialization code had a ginormous piece of init
code that took about 16ms to compile in baseline. There's no good way to avoid letting it
tier-up into baseline since it has a compute loop. The time it takes to run this code is
never measured. The concurrent baseline JIT caused us to schedule the compilation of this
huge code rather than doing it eagerly. This meant that after initialization was done and
we started actually running real stuff, all of the real stuff's compiles would be convoyed
behind this super-expensive baseline compile. Note that DFG and FTL compiles convoy behind
baseline compiles, since you can't schedule a DFG compile for a code block until that code
block is in baseline.
This uses the simplest fix: if we are thinking about scheduling some compile and the
thread is busy, do the compile on the main thread instead. This doesn't completely
eliminate the ai-astar regression (we still have a 4% regression on that test) but it now
results in concurrent baseline JIT being an overall progression on Kraken as a whole (1%
on my machine). This is because concurrent baseline appears to help on other tests.
In the future, we could fix this even better by allowing the JITWorklist to spawn more
threads or by being smarter about baseline compilation. I think it's nasty that if a giant
piece of initialization code ends in a compute loop, we compile all of the code instead of
just the loop. It's also gross that a constant-like object creation expression will result
in so much code. It would result in less code if we allowed ourselves to do a bit more
static reasoning about object literals.
But for now, I think that this is a great way to recover the Kraken regression while still
keeping the other progressions from concurrent baseline.
- jit/JITWorklist.cpp:
(JSC::JITWorklist::Plan::Plan):
(JSC::JITWorklist::Plan::compileInThread):
(JSC::JITWorklist::Plan::finalize):
(JSC::JITWorklist::Plan::codeBlock):
(JSC::JITWorklist::Plan::isFinishedCompiling):
(JSC::JITWorklist::Plan::compileNow):
(JSC::JITWorklist::JITWorklist):
(JSC::JITWorklist::compileLater):
(JSC::JITWorklist::compileNow):
(JSC::JITWorklist::runThread):
(JSC::JITWorklist::Plan::isFinalized): Deleted.
- jit/JITWorklist.h:
- 9:28 AM Changeset in webkit [202204] by
-
- 1 edit in trunk/Tools/ChangeLog
Test commit.
Unreviewed.
- 8:54 AM Changeset in webkit [202203] by
-
- 1 edit in trunk/Tools/ChangeLog
Test post-commit after apache restart.
Unreviewed.
- 8:22 AM Changeset in webkit [202202] by
-
- 1 edit in trunk/Tools/ChangeLog
Testing yet another fix for trac-mirror.
Unreviewed.
- 8:16 AM Changeset in webkit [202201] by
-
- 1 edit in trunk/Tools/ChangeLog
Testing another fix for trac-mirror.
Unreviewed.
- 8:10 AM Changeset in webkit [202200] by
-
- 1 edit in trunk/Tools/ChangeLog
Testing fix for trac-mirror.
Unreviewed.
- 7:53 AM Changeset in webkit [202199] by
-
- 1 edit in trunk/Tools/ChangeLog
Test a commit against the SVN 1.9 server upgrade.
Unreviewed.