Timeline
Apr 23, 2017:
- 10:51 PM Changeset in webkit [215680] by
-
- 19 edits1 delete in trunk
Unreviewed, rolling out r215674.
https://bugs.webkit.org/show_bug.cgi?id=171212
Possible unintended commit. This patch was on the wrong bug.
(Requested by JoePeck on #webkit).
Reverted changeset:
"test262: test262/test/language/expressions/generators/yield-
as-label.js"
https://bugs.webkit.org/show_bug.cgi?id=170979
http://trac.webkit.org/changeset/215674
- 2:19 PM Changeset in webkit [215679] by
-
- 4 edits in trunk
test262: test262/test/built-ins/Number/prototype/toPrecision/nan.js
https://bugs.webkit.org/show_bug.cgi?id=171197
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-04-23
Reviewed by Saam Barati.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
- runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
Refine the order of operations to match the spec.
- 1:47 PM Changeset in webkit [215678] by
-
- 2 edits in trunk/Source/WebKit2
[macOS] WKWebInspectorProxyObjCAdapter has a public ivar
https://bugs.webkit.org/show_bug.cgi?id=171200
Reviewed by Geoffrey Garen.
- UIProcess/API/C/mac/WKInspectorPrivateMac.h: Made ivar private.
- 1:32 PM Changeset in webkit [215677] by
-
- 4 edits in trunk/Source
Unreviewed, rolling out r215657 and r215676.
https://bugs.webkit.org/show_bug.cgi?id=171201
Broke the build (Requested by ap on #webkit).
Reverted changesets:
"[macOS] Enable media selection button on AVTouchBarScrubber"
https://bugs.webkit.org/show_bug.cgi?id=171149
http://trac.webkit.org/changeset/215657
"Build fix after r215657."
http://trac.webkit.org/changeset/215676
- 12:53 PM Changeset in webkit [215676] by
-
- 2 edits in trunk/Source/WebKit2
Build fix after r215657.
- UIProcess/Cocoa/WebViewImpl.mm:
- 12:52 PM Changeset in webkit [215675] by
-
- 2 edits3 adds in trunk/Tools
Add a tool to update expected.txt files from EWS bot results
https://bugs.webkit.org/show_bug.cgi?id=169538
Patch by Youenn Fablet <youenn@apple.com> on 2017-04-23
Reviewed by Ryosuke Niwa.
This script updates expected-txt files from bugzilla posted EWS results.
It uses mac-wk2 as the generic baseline and adds platform-specific results if other ports
have results different from the generic baseline.
- Scripts/update-test-expectations-from-bugzilla: Added.
- Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py: Added.
- Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py: Added.
- Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Adding helper routines.
- 10:23 AM Changeset in webkit [215674] by
-
- 19 edits1 add in trunk
test262: test262/test/language/expressions/generators/yield-as-label.js
https://bugs.webkit.org/show_bug.cgi?id=170979
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-04-23
Reviewed by Saam Barati.
JSTests:
- stress/async-await-module-reserved-word.js:
- stress/async-await-reserved-word.js:
Converge on "Cannot" instead of "Can't".
- catch-parameter-syntax.js:
- yield-named-variable-generator.js:
- yield-named-variable.js:
- stress/yield-label-generator.js:
- stress/yield-label.js:
- stress/yield-reserved-word.js: Added.
More complete list of when 'yield' is allowed.
- ChakraCore/test/strict/23.reservedWords_sm.baseline-jsc:
- test262.yaml:
Source/JavaScriptCore:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseFormalParameters):
Converge on "Cannot" instead of "Can't" in error messages.
(JSC::Parser<LexerType>::parseFunctionInfo):
Disallow "yield" as the generator function name in function expressions.
This refers to the difference between Declaration and Expression, where
only GeneratorExpression explicitly has [+Yield] disallowing yield for
the generator name:
GeneratorDeclaration[Yield, Await, Default]:
function * BindingIdentifier?Await ...
GeneratorExpression:
function * BindingIdentifier[+Yield, ~Await]opt ...
(JSC::Parser<LexerType>::parseExpressionOrLabelStatement):
Disallow "yield" as a label name in strict mode or inside a generator.
(JSC::Parser<LexerType>::parseProperty):
Disallow "yield" or any keyword in object literal shorthands.
- parser/Parser.h:
(JSC::Parser::getToken):
(JSC::Parser::isDisallowedIdentifierLet):
(JSC::Parser::isDisallowedIdentifierYield):
(JSC::Parser::disallowedIdentifierLetReason):
(JSC::Parser::disallowedIdentifierYieldReason):
Follow pattern for improved error messages based on context.
LayoutTests:
- js/object-literal-shorthand-construction-expected.txt:
- js/script-tests/object-literal-shorthand-construction.js:
Extend this test to cover object literal shorthand with keywords.
- js/dom/reserved-words-as-property-expected.txt:
- js/let-syntax-expected.txt:
- js/parser-syntax-check-expected.txt:
Improved error messages.
- 8:37 AM Changeset in webkit [215673] by
-
- 7 edits in trunk
test262: test262/test/built-ins/Number/parseFloat.js
https://bugs.webkit.org/show_bug.cgi?id=171193
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-04-23
Reviewed by Yusuke Suzuki.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::parseFloatFunction):
Expose parseFloat on the global object to be shared with Number constructor.
- runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation):
parseFloat uses the same value as the global parseFloat.
- 4:27 AM Changeset in webkit [215672] by
-
- 22 edits1 add in trunk/Source
[macOS] AVTouchBarMediaSelectionOptions should be created with the correct type
https://bugs.webkit.org/show_bug.cgi?id=171192
<rdar://problem/29875010>
Reviewed by Wenson Hsieh.
Source/WebCore:
AVTouchBarMediaSelectionOption was always being created with type
AVTouchBarMediaSelectionOptionTypeRegular, but we know if a TextTrack is really the legible
off or legible auto track. This change plumbs that information into
WebPlaybackControlsManager so that AVTouchBarMediaSelectionOptions can be created with the
right AVTouchBarMediaSelectionOptionType.
- WebCore.xcodeproj/project.pbxproj:
- page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::mediaSelectionOptionForTrack):
- page/CaptionUserPreferences.h:
- platform/MediaSelectionOption.h: Added.
- platform/cocoa/WebPlaybackSessionModel.h:
(WebCore::WebPlaybackSessionModelClient::audioMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionModelClient::legibleMediaSelectionOptionsChanged):
- platform/cocoa/WebPlaybackSessionModelMediaElement.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebCore::WebPlaybackSessionModelMediaElement::audioMediaSelectionOptions):
(WebCore::WebPlaybackSessionModelMediaElement::legibleMediaSelectionOptions):
- platform/ios/WebPlaybackSessionInterfaceAVKit.h:
- platform/ios/WebPlaybackSessionInterfaceAVKit.mm:
(WebCore::mediaSelectionOptions):
(WebCore::WebPlaybackSessionInterfaceAVKit::audioMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::legibleMediaSelectionOptionsChanged):
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::audioMediaSelectionOptionsChanged):
(WebVideoFullscreenControllerContext::legibleMediaSelectionOptionsChanged):
(WebVideoFullscreenControllerContext::audioMediaSelectionOptions):
(WebVideoFullscreenControllerContext::legibleMediaSelectionOptions):
- platform/mac/WebPlaybackControlsManager.h:
- platform/mac/WebPlaybackControlsManager.mm:
(toAVTouchBarMediaSelectionOptionType):
(mediaSelectionOptions):
(-[WebPlaybackControlsManager setAudioMediaSelectionOptions:withSelectedIndex:]):
(-[WebPlaybackControlsManager setLegibleMediaSelectionOptions:withSelectedIndex:]):
(-[WebPlaybackControlsManager webPlaybackSessionInterfaceMac]):
(-[WebPlaybackControlsManager setWebPlaybackSessionInterfaceMac:]):
- platform/mac/WebPlaybackSessionInterfaceMac.h:
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::audioMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceMac::legibleMediaSelectionOptionsChanged):
Source/WebKit2:
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<MediaSelectionOption>::encode):
(IPC::ArgumentCoder<MediaSelectionOption>::decode):
- Shared/WebCoreArgumentCoders.h:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
(WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions):
- WebProcess/cocoa/WebPlaybackSessionManager.h:
- WebProcess/cocoa/WebPlaybackSessionManager.mm:
(WebKit::WebPlaybackSessionInterfaceContext::audioMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionInterfaceContext::legibleMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManager::audioMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManager::legibleMediaSelectionOptionsChanged):
- 2:12 AM Changeset in webkit [215671] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Use DoublyLinkedList for MachineThread
https://bugs.webkit.org/show_bug.cgi?id=171171
Reviewed by Mark Lam.
MachineThread can use WTF::DoublyLinkedList to simplify
its implementation. We should not use Vector<> etc. since
we do not want to call allocations during suspending and
resuming threads.
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::MachineThread::MachineThread):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
- heap/MachineStackMarker.h:
(JSC::MachineThreads::threadsListHead):
- runtime/SamplingProfiler.cpp:
(JSC::FrameWalker::isValidFramePointer):
- runtime/VMTraps.cpp:
(JSC::findActiveVMAndStackBounds):
Apr 22, 2017:
- 11:27 PM Changeset in webkit [215670] by
-
- 3 edits in trunk/Tools
Add an option to import tip-of-tree WPT tests
https://bugs.webkit.org/show_bug.cgi?id=171152
Patch by Youenn Fablet <youenn@apple.com> on 2017-04-22
Reviewed by Joseph Pecoraro.
Adding a '-t' option to import tip of tree WPT tests.
Updating importer based on the fact that csswg-test is no longer a thing.
- Scripts/webkitpy/w3c/test_downloader.py:
(TestDownloader.download_tests):
- Scripts/webkitpy/w3c/test_importer.py:
(configure_logging):
(TestImporter.do_import):
(TestImporter.write_import_log):
- 8:52 PM Changeset in webkit [215669] by
-
- 8 edits in trunk
File inputs only accept UTI types that can be inserted into contenteditable areas when dropping
https://bugs.webkit.org/show_bug.cgi?id=171177
<rdar://problem/31765379>
Reviewed by Andy Estes.
Source/WebCore:
Currently, DragController::canProcessDrag bails immediately with
falseif the drag data does not contain
compatible content. However, if we are dragging over a file input, we want the presence of files in the drag
data to take priority. To fix this, we teach DragData::containsCompatibleContent to take the purpose of the drag
into account (by default, this is Editing, but when dragging over a file input, this becomes FileUpload). We
then consider DragData to have compatible content for the purpose of file uploading if it contains any files.
Test: DataInteractionTests.ExternalSourceJSONToFileInput.
- page/DragController.cpp:
(WebCore::DragController::canProcessDrag):
- platform/DragData.h:
- platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::containsCompatibleContent):
- platform/mac/DragDataMac.mm:
(WebCore::DragData::containsCompatibleContent):
- platform/win/DragDataWin.cpp:
(WebCore::DragData::containsCompatibleContent):
Tools:
Tests uploading a JSON file to a file input.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
- 11:46 AM Changeset in webkit [215668] by
-
- 3 edits in trunk/Source
[MediaStream] Fix regression caused by r215626
https://bugs.webkit.org/show_bug.cgi?id=171168
<rdar://problem/31774787>
Reviewed by Antoine Quint.
No new tests, fixes fast/mediastream/MediaStream-page-muted.html
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::mediaState): Test muted before m_isProducingData because if both are
true we want to report that the stream is muted.
- 11:08 AM Changeset in webkit [215667] by
-
- 3 edits in trunk/Source/WTF
[JSC] Get stack pointer without pthread attr
https://bugs.webkit.org/show_bug.cgi?id=171162
Reviewed by Mark Lam.
If HAVE(MACHINE_CONTEXT) is not enabled, we get stack base and boundary by using
pthread_attr functions. However, it is wrong since this function can be called
after the thread is suspended. In that case, we should not call any functions
that is not async signal safe. For example, pthread_getattr_np calls malloc.
Instead we use getApproximateStackPointer(), which returns approximate stack pointer.
- wtf/Threading.h:
- wtf/ThreadingPthreads.cpp:
(WTF::getApproximateStackPointer):
(WTF::isOnAlternativeSignalStack):
When gathering conservative roots, we should keep stack pointer pointing stack.
And if concurrent GC is enabled, we always need to keep the above invariant.
So, we do not support alternative signal stack.
(WTF::Thread::signalHandlerSuspendResume):
(WTF::Thread::getRegisters):
- 7:34 AM Changeset in webkit [215666] by
-
- 3 edits in trunk/Source/WebCore
Do not measure large chunk of text repeatedly during mid-word breaking.
https://bugs.webkit.org/show_bug.cgi?id=171065
<rdar://problem/31630245>
Reviewed by Antti Koivisto.
This patch reduces redundant text measuring for mid-word breaking by
- Adjusting the range for the binary search when the text fragment is longer than the available width
- Preserving the width value for the left side of the split fragment (computed during the binary search) so
that when the fragment is being split we don't need to re-measure it
- Checking if the right side fits the next line and only adjust the width (by re-measuring the text) for
kerning/ligature if it does (if it does not fit, we'll end up re-measuring some part of it
during the next split)
Performance test has already been added.
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::hyphenPositionForFragment):
(WebCore::SimpleLineLayout::split): binary search with adjusting the range and preserving the width for the left side.
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::FragmentForwardIterator::FragmentForwardIterator): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator++): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator!=): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator==): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator*): Deleted.
(WebCore::SimpleLineLayout::begin): Deleted.
(WebCore::SimpleLineLayout::end): Deleted.
- rendering/SimpleLineLayoutTextFragmentIterator.h:
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::split):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::splitWithHyphen):
- 7:07 AM Changeset in webkit [215665] by
-
- 3 edits in trunk/Source/WTF
REGRESSION(r215638): [Linux] Several worker tests are crashing in Thread::signalHandlerSuspendResume after r215638
https://bugs.webkit.org/show_bug.cgi?id=171159
Reviewed by Michael Catanzaro.
Now, SIGUSR2 is used by ThreadMessage. Instead SIGUSR1 becomes empty.
We should use some signal, that is not managed by WTF Signal mechanism
because the behaivor of this suspend and resume is a bit tricky.
For example, we set a bit tricky signal mask to sigaction to temporary
block SIGUSR2 in the handler to avoid nested SIGUSR2. And we cannot
use ThreadMessage to implement this mechanism because this suspend
and resume handler will stop in the middle of the handler by sigsuspend.
It is not the expected semantics by ThreadMessage.
So now, we use SIGUSR1 instead. And we note that SIGUSR1 is used for
pthread ports.
- wtf/ThreadingPthreads.cpp:
- wtf/threads/Signals.h:
- 12:52 AM Changeset in webkit [215664] by
-
- 7 edits in trunk
WebAssembly: Module.exports, Module.imports, Module.customSections are wrong
https://bugs.webkit.org/show_bug.cgi?id=171078
Reviewed by Saam Barati.
They're static properties of Module, not instance properties of a module.
https://github.com/WebAssembly/design/blob/master/JS.md#webassemblymoduleexports
JSTests:
- wasm/js-api/Module.customSection.js:
(assert.throws.WebAssembly.Module.customSections):
(assert.eq):
(assert.throws.WebAssembly.Module.prototype.customSections): Deleted.
- wasm/js-api/Module.exports.js:
(assert.throws.WebAssembly.Module.exports):
(assert.truthy):
(assert.throws.WebAssembly.Module.prototype.exports): Deleted.
- wasm/js-api/Module.imports.js:
(assert.throws.WebAssembly.Module.imports):
(assert.truthy):
(assert.throws.WebAssembly.Module.prototype.imports): Deleted.
Source/JavaScriptCore:
- wasm/js/WebAssemblyModuleConstructor.cpp:
(JSC::webAssemblyModuleCustomSections):
(JSC::webAssemblyModuleImports):
(JSC::webAssemblyModuleExports):
- wasm/js/WebAssemblyModulePrototype.cpp:
(JSC::webAssemblyModuleProtoCustomSections): Deleted.
(JSC::webAssemblyModuleProtoImports): Deleted.
(JSC::webAssemblyModuleProtoExports): Deleted.