Timeline
Feb 17, 2019:
- 10:49 PM Changeset in webkit [241658] by
-
- 4 edits in trunk/Source/WebKit
https://device.login.microsoftonline.com is hanging on STP75
https://bugs.webkit.org/show_bug.cgi?id=194734
<rdar://problem/47573830>
Reviewed by Jiewen Tan.
Make sure to only go the XPC route if SecKeyProxyStore has credentials.
Tested manually by going to the above website with and without the patch.
Load hangs without the patch and completes with the patch.
- UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
(WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
- UIProcess/Authentication/cocoa/SecKeyProxyStore.h:
- UIProcess/Authentication/cocoa/SecKeyProxyStore.mm:
(WebKit::SecKeyProxyStore::initialize):
- 8:40 PM Changeset in webkit [241657] by
-
- 2 edits in trunk/Source/JavaScriptCore
WasmB3IRGenerator models some effects incorrectly
https://bugs.webkit.org/show_bug.cgi?id=194038
Reviewed by Keith Miller.
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::restoreWasmContextInstance):
(JSC::Wasm::B3IRGenerator::restoreWebAssemblyGlobalState):
These two functions were using global state instead of the
arguments passed into the function.
(JSC::Wasm::B3IRGenerator::addOp<F64ConvertUI64>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::F32ConvertUI64>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::I64TruncUF64>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::I64TruncUF32>):
Any patchpoint that allows scratch register usage must
also say that it clobbers the scratch registers.
- 6:15 PM Changeset in webkit [241656] by
-
- 19 edits in trunk
Use dumpJSConsoleLogInStdErr=true webkit-test-runner option for non-imported tests instead of using DumpJSConsoleLogInStdErr expectation in TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=194586
Reviewed by Ross Kirsling.
Tools:
- DumpRenderTree/win/DumpRenderTree.cpp:
(runTest): Pass true to setDumpJSConsoleLogInStdErr if options.dumpJSConsoleLogInStdErr is true.
- Scripts/webkitpy/port/driver.py:
(Driver._command_from_driver_input): Convert Cygwin absolute path of tests to Windows path.
LayoutTests:
DumpJSConsoleLogInStdErr expectation is considered a bad idea.
And, we have dumpJSConsoleLogInStdErr test option now (Bug 177027).
Added dumpJSConsoleLogInStdErr=true webkit-test-runner option to all non-imported tests.
- TestExpectations: Removed DumpJSConsoleLogInStdErr expectations of non-imported tests.
- http/tests/appcache/404-resource-with-slow-main-resource.php: Added dumpJSConsoleLogInStdErr=true webkit-test-runner option.
- http/tests/appcache/deferred-events-delete-while-raising-timer.html: Ditto.
- http/tests/appcache/deferred-events-delete-while-raising.html: Ditto.
- http/tests/appcache/fail-on-update-2.html: Ditto.
- http/tests/appcache/fail-on-update.html: Ditto.
- http/tests/cache/disk-cache/redirect-chain-limits.html: Ditto.
- http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-main-frame.html: Ditto.
- http/tests/security/cross-origin-cached-images-parallel.html: Ditto.
- http/tests/security/frame-loading-via-document-write-async-delegates.html: Ditto.
- http/tests/security/frame-loading-via-document-write.html: Ditto.
- http/tests/xmlhttprequest/redirect-cross-origin-sync-double.html: Ditto.
- http/wpt/beacon/cors/cors-redirect-failure.html: Ditto.
- http/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-async-delegate.html: Ditto.
- media/event-queue-crash.html: Ditto.
- 5:27 PM Changeset in webkit [241655] by
-
- 4 edits1 add in trunk
Deadlock when adding a Structure property transition and then doing incremental marking
https://bugs.webkit.org/show_bug.cgi?id=194767
Reviewed by Mark Lam.
JSTests:
- stress/incremental-marking-should-not-dead-lock-in-new-property-transition.js: Added.
Source/JavaScriptCore:
This can happen in the following scenario:
You have a Structure S. S is on the mark stack. Then:
- S grabs its lock
- S adds a new property transition
- We find out we need to do some incremental marking
- We mark S
- visitChildren on S will try to grab its lock
- We are now in a deadlock
- heap/Heap.cpp:
(JSC::Heap::performIncrement):
- runtime/Structure.cpp:
(JSC::Structure::addNewPropertyTransition):
- 4:32 PM Scrolling edited by
- (diff)
- 4:11 PM Changeset in webkit [241654] by
-
- 81 edits3 deletes in trunk
Unreviewed, rolling out r241620.
"Causes use-after-free crashes running layout tests with ASan and GuardMalloc."
(Requested by ddkilzer on #webkit.)
Reverted changeset:
"[WTF] Add environment variable helpers"
https://bugs.webkit.org/show_bug.cgi?id=192405
https://trac.webkit.org/changeset/241620# Please enter the commit message for your changes. Lines starting
- 4:08 PM Changeset in webkit [241653] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Move CSS completion logic from SpreadsheetTextField to SpreadsheetStyleProperty
https://bugs.webkit.org/show_bug.cgi?id=194724
Reviewed by Devin Rousso.
Move CSS value completion logic from SpreadsheetTextField, a generic text field,
to SpreadsheetStyleProperty.
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype._nameCompletionDataProvider):
(WI.SpreadsheetStyleProperty.prototype._valueCompletionDataProvider):
- UserInterface/Views/SpreadsheetTextField.js:
(WI.SpreadsheetTextField):
(WI.SpreadsheetTextField.prototype.completionSuggestionsSelectedCompletion):
(WI.SpreadsheetTextField.prototype.completionSuggestionsClickedCompletion):
(WI.SpreadsheetTextField.prototype._updateCompletions):
(WI.SpreadsheetTextField.prototype._showSuggestionsView):
(WI.SpreadsheetTextField.prototype._getCompletionPrefix): Deleted.
- 12:49 PM Changeset in webkit [241652] by
-
- 14 edits3 deletes in trunk
Web Inspector: Frontend performance is very slow reloading theverge.com - 50% of time in TreeOutline _indexOfTreeElement
https://bugs.webkit.org/show_bug.cgi?id=193605
<rdar://problem/47403986>
Reviewed by Devin Rousso.
Source/WebInspectorUI:
SelectionController should track an unordered Set of represented objects
instead of an ordered set of indexes. This eliminates the costly and
error-prone updates needed to keep the selected indexes in sync as items
are added and removed from TreeOutline (and Table, to a far lesser extent).
The SelectionController interface is largely the same. Class and delegate
methods have been renamed to reflect the change from indexes to objects.
SelectionController tracks selected items in selection order. For the
operations that rely on objects being in insertion order, the controller
uses a comparator function provided at construction time.
- UserInterface/Base/IndexSet.js: Removed.
No longer used. SelectionController now uses a plain Set.
- UserInterface/Base/Utilities.js:
(value):
(get return):
Add utilities previously supplied by IndexSet and used by SelectionController.
- UserInterface/Controllers/SelectionController.js:
(WI.SelectionController):
(WI.SelectionController.prototype.get lastSelectedItem):
(WI.SelectionController.prototype.get selectedItems):
(WI.SelectionController.prototype.set allowsMultipleSelection):
(WI.SelectionController.prototype.hasSelectedItem):
(WI.SelectionController.prototype.selectItem):
(WI.SelectionController.prototype.deselectItem):
(WI.SelectionController.prototype.selectAll):
(WI.SelectionController.prototype.deselectAll):
(WI.SelectionController.prototype.removeSelectedItems):
(WI.SelectionController.prototype.reset):
(WI.SelectionController.prototype.didRemoveItems):
(WI.SelectionController.prototype.handleKeyDown):
(WI.SelectionController.prototype.handleItemMouseDown):
(WI.SelectionController.prototype._deselectAllAndSelect):
(WI.SelectionController.prototype._selectItemsFromArrowKey):
(WI.SelectionController.prototype._firstSelectableItem):
(WI.SelectionController.prototype._lastSelectableItem):
(WI.SelectionController.prototype._previousSelectableItem):
(WI.SelectionController.prototype._nextSelectableItem):
(WI.SelectionController.prototype._updateSelectedItems):
(WI.SelectionController.prototype._addRange):
(WI.SelectionController.prototype._deleteRange):
(WI.SelectionController.prototype.get numberOfItems): Deleted.
(WI.SelectionController.prototype.didInsertItem): Deleted.
(WI.SelectionController.prototype.handleItemMouseDown.normalizeRange): Deleted.
(WI.SelectionController.prototype._nextSelectableIndex): Deleted.
(WI.SelectionController.prototype._previousSelectableIndex): Deleted.
- UserInterface/Main.html:
- UserInterface/Test.html:
Remove IndexSet.
- UserInterface/Views/CookieStorageContentView.js:
(WI.CookieStorageContentView.prototype.tableIndexForRepresentedObject):
(WI.CookieStorageContentView.prototype.tableRepresentedObjectForIndex):
- UserInterface/Views/DOMTreeOutline.js:
(WI.DOMTreeOutline.prototype.objectForSelection):
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype.tableIndexForRepresentedObject):
(WI.NetworkTableContentView.prototype.tableRepresentedObjectForIndex):
- UserInterface/Views/Table.js:
(WI.Table):
(WI.Table.prototype.get selectedRow):
(WI.Table.prototype.get selectedRows):
(WI.Table.prototype.isRowSelected):
(WI.Table.prototype.selectRow):
(WI.Table.prototype.deselectRow):
(WI.Table.prototype.removeRow):
(WI.Table.prototype.removeSelectedRows):
(WI.Table.prototype.selectionControllerSelectionDidChange):
(WI.Table.prototype.selectionControllerFirstSelectableItem):
(WI.Table.prototype.selectionControllerLastSelectableItem):
(WI.Table.prototype.selectionControllerPreviousSelectableItem):
(WI.Table.prototype.selectionControllerNextSelectableItem):
(WI.Table.prototype._handleMouseDown):
(WI.Table.prototype._removeRows):
(WI.Table.prototype._indexForRepresentedObject):
(WI.Table.prototype._representedObjectForIndex):
(WI.Table.prototype.selectionControllerNumberOfItems): Deleted.
(WI.Table.prototype.selectionControllerNextSelectableIndex): Deleted.
(WI.Table.prototype.selectionControllerPreviousSelectableIndex): Deleted.
(WI.Table.prototype._toggleSelectedRowStyle): Deleted.
- UserInterface/Views/TreeOutline.js:
(WI.TreeOutline.compareSiblings):
(WI.TreeOutline):
(WI.TreeOutline.prototype.get selectedTreeElement):
(WI.TreeOutline.prototype.set selectedTreeElement):
(WI.TreeOutline.prototype.get selectedTreeElements):
(WI.TreeOutline.prototype.removeChildAtIndex):
(WI.TreeOutline.prototype.removeChildren):
(WI.TreeOutline.prototype._rememberTreeElement):
(WI.TreeOutline.prototype.getCachedTreeElement):
(WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
(WI.TreeOutline.prototype.selectionControllerFirstSelectableItem):
(WI.TreeOutline.prototype.selectionControllerLastSelectableItem):
(WI.TreeOutline.prototype.selectionControllerPreviousSelectableItem):
(WI.TreeOutline.prototype.selectionControllerNextSelectableItem):
(WI.TreeOutline.prototype.objectForSelection):
(WI.TreeOutline._generateStyleRulesIfNeeded):
(WI.TreeOutline.prototype.selectionControllerNextSelectableIndex): Deleted.
(WI.TreeOutline.prototype.selectionControllerPreviousSelectableIndex): Deleted.
(WI.TreeOutline._generateStyleRulesIfNeeded._indexesForSubtree.numberOfElementsInSubtree): Deleted.
LayoutTests:
- inspector/table/resources/table-utilities.js:
(TestPage.registerInitializer.InspectorTest.TableDataSource.prototype.tableIndexForRepresentedObject):
(TestPage.registerInitializer.InspectorTest.TableDataSource.prototype.tableRepresentedObjectForIndex):
(TestPage.registerInitializer.InspectorTest.TableDataSource):
New Table data source methods.
- inspector/unit-tests/index-set-expected.txt: Removed.
- inspector/unit-tests/index-set.html: Removed.
- inspector/unit-tests/set-utilities-expected.txt:
- inspector/unit-tests/set-utilities.html:
Remove IndexSet tests and update tests for Set utilities to include new
helper methodsequalsanddifference, andfirstValue.
- 10:13 AM Changeset in webkit [241651] by
-
- 5 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r241612.
https://bugs.webkit.org/show_bug.cgi?id=194762
"It regressed JetStream2 parsing tests by ~40%" (Requested by
saamyjoon on #webkit).
Reverted changeset:
"Move bytecode cache-related filesystem code out of CodeCache"
https://bugs.webkit.org/show_bug.cgi?id=194675
https://trac.webkit.org/changeset/241612
Feb 16, 2019:
- 11:16 AM Changeset in webkit [241650] by
-
- 2 edits3 adds in releases/WebKitGTK/webkit-2.22/Tools
[GTK] Update-webkitgtk-libs for Webkit GTK 2.22 can not be generated anymore
https://bugs.webkit.org/show_bug.cgi?id=194744
Patch by Pablo Saavedra <Pablo Saavedra> on 2019-02-16
Reviewed by Philippe Normand.
- gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added.
- gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added.
- gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added.
- 10:50 AM Changeset in webkit [241649] by
-
- 17 edits in trunk/Source/JavaScriptCore
[JSC] JSWrapperObject should not be destructible
https://bugs.webkit.org/show_bug.cgi?id=194743
Reviewed by Saam Barati.
JSWrapperObject should be just a wrapper object for JSValue, thus, it should not be a JSDestructibleObject.
Currently it is destructible object because DateInstance uses it. This patch changes Base of DateInstance from
JSWrapperObject to JSDestructibleObject, and makes JSWrapperObject non-destructible.
- runtime/BigIntObject.cpp:
(JSC::BigIntObject::BigIntObject):
- runtime/BooleanConstructor.cpp:
(JSC::BooleanConstructor::finishCreation):
- runtime/BooleanObject.cpp:
(JSC::BooleanObject::BooleanObject):
- runtime/BooleanObject.h:
- runtime/DateInstance.cpp:
(JSC::DateInstance::DateInstance):
(JSC::DateInstance::finishCreation):
- runtime/DateInstance.h:
- runtime/DatePrototype.cpp:
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
- runtime/JSCPoison.h:
- runtime/JSWrapperObject.h:
(JSC::JSWrapperObject::JSWrapperObject):
- runtime/NumberObject.cpp:
(JSC::NumberObject::NumberObject):
- runtime/NumberObject.h:
- runtime/StringConstructor.cpp:
(JSC::StringConstructor::finishCreation):
- runtime/StringObject.cpp:
(JSC::StringObject::StringObject):
- runtime/StringObject.h:
(JSC::StringObject::internalValue const):
- runtime/SymbolObject.cpp:
(JSC::SymbolObject::SymbolObject):
- runtime/SymbolObject.h:
- 8:28 AM Changeset in webkit [241648] by
-
- 4 edits in trunk
[LFC] RenderImage's default intrinsic size is 0.
https://bugs.webkit.org/show_bug.cgi?id=194745
Reviewed by Antti Koivisto.
Source/WebCore:
While the images are being loaded, their intrinsic size is set to 0 (RenderImage c'tor). Note that this code is temporary.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createSubTree):
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
- 4:56 AM Changeset in webkit [241647] by
-
- 5 edits2 adds in trunk
[LFC][BFC] Add support for block replaced intrinsic width.
https://bugs.webkit.org/show_bug.cgi?id=194705
Reviewed by Simon Fraser.
Source/WebCore:
Replaced boxes should report their intrinsic width as preferred widths.
Test: fast/block/block-only/replaced-intrinsic-width-simple.html
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::intrinsicWidthConstraints):
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
- fast/block/block-only/replaced-intrinsic-width-simple-expected.html: Added.
- fast/block/block-only/replaced-intrinsic-width-simple.html: Added.
- 4:54 AM Changeset in webkit [241646] by
-
- 5 edits2 adds in trunk
[LFC] Apply min/max width constraints to preferred width computation
https://bugs.webkit.org/show_bug.cgi?id=194739
Reviewed by Simon Fraser.
Source/WebCore:
Ensure that both min-height and max-height are taken into account while computing the preferred width.
Test: fast/block/block-only/min-max-and-preferred-width-simple.html
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::intrinsicWidthConstraints):
Tools:
- LayoutReloaded/misc/LFC-passing-tests.txt:
LayoutTests:
- fast/block/block-only/min-max-and-preferred-width-simple-expected.html: Added.
- fast/block/block-only/min-max-and-preferred-width-simple.html: Added.
- 12:58 AM Changeset in webkit [241645] by
-
- 13 edits in trunk/Source/JavaScriptCore
[JSC] Shrink UnlinkedFunctionExecutable
https://bugs.webkit.org/show_bug.cgi?id=194733
Reviewed by Mark Lam.
UnlinkedFunctionExecutable has sourceURLDirective and sourceMappingURLDirective. These
directives can be found in the comment of non typical function's source code (Program,
Eval code, and Global function from function constructor etc.), and tricky thing is that
SourceProvider's directives are updated by Parser. The reason why we have these fields in
UnlinkedFunctionExecutable is that we need to update the SourceProvider's directives even
if we skip parsing by using CodeCache. These fields are effective only if (1)
UnlinkedFunctionExecutable is for non typical function things, and (2) it has sourceURLDirective
or sourceMappingURLDirective. This is rare enough to purge them to a separated
UnlinkedFunctionExecutable::RareData to make UnlinkedFunctionExecutable small.
sizeof(UnlinkedFunctionExecutable) is very important since it is super frequently allocated
cell. Furthermore, the current JSC allocates two MarkedBlocks for UnlinkedFunctionExecutable
in JSGlobalObject initialization, but the usage of the second MarkedBlock is quite low (8%).
If we can reduce the size of UnlinkedFunctionExecutable, we can make them one MarkedBlock.
Since UnlinkedFunctionExecutable is allocated from IsoSubspace, we do not need to fit it to
one of size class.
This patch adds RareData to UnlinkedFunctionExecutable and move some rare datas into RareData.
And kill one MarkedBlock allocation in JSC initialization phase.
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::ensureRareDataSlow):
- bytecode/UnlinkedFunctionExecutable.h:
- debugger/DebuggerLocation.cpp:
(JSC::DebuggerLocation::DebuggerLocation):
- inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::dispatchDidParseSource):
- parser/Lexer.h:
(JSC::Lexer::sourceURLDirective const):
(JSC::Lexer::sourceMappingURLDirective const):
(JSC::Lexer::sourceURL const): Deleted.
(JSC::Lexer::sourceMappingURL const): Deleted.
- parser/Parser.h:
(JSC::Parser<LexerType>::parse):
- parser/SourceProvider.h:
(JSC::SourceProvider::sourceURLDirective const):
(JSC::SourceProvider::sourceMappingURLDirective const):
(JSC::SourceProvider::setSourceURLDirective):
(JSC::SourceProvider::setSourceMappingURLDirective):
(JSC::SourceProvider::sourceURL const): Deleted. We rename it from sourceURL to sourceURLDirective
since it is the correct name.
(JSC::SourceProvider::sourceMappingURL const): Deleted. We rename it from sourceMappingURL to
sourceMappingURLDirective since it is the correct name.
- runtime/CachedTypes.cpp:
(JSC::CachedSourceProviderShape::encode):
(JSC::CachedFunctionExecutableRareData::encode):
(JSC::CachedFunctionExecutableRareData::decode const): CachedFunctionExecutable did not have
sourceMappingURL to sourceMappingURLDirective. So this patch keeps the same logic.
(JSC::CachedFunctionExecutable::rareData const):
(JSC::CachedFunctionExecutable::encode):
(JSC::CachedFunctionExecutable::decode const):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
- runtime/CodeCache.cpp:
(JSC::CodeCache::getUnlinkedGlobalCodeBlock):
(JSC::CodeCache::getUnlinkedGlobalFunctionExecutable):
- runtime/CodeCache.h:
(JSC::generateUnlinkedCodeBlockImpl):
- runtime/FunctionExecutable.h:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::StackFrame::url):