gyuyoung.kim@webkit.org [Sat, 13 Aug 2016 06:11:49 +0000 (06:11 +0000)]
Skip to check directories existence in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=160691
Reviewed by Alex Christensen.
CMake checks if directories are there itself. So CMake ports
don't need to check it in the build-webkit script.
* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(determineSourceDir):
(isCMakeBuild):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204444
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Sat, 13 Aug 2016 04:20:30 +0000 (04:20 +0000)]
getElementsByTagName() should take a qualifiedName in parameter
https://bugs.webkit.org/show_bug.cgi?id=160682
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
* web-platform-tests/dom/nodes/Document-getElementsByTagName-expected.txt:
* web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-getElementsByTagName-expected.txt:
* web-platform-tests/dom/nodes/case-expected.txt:
Rebaseline several W3C tests now that more checks are passing.
* web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml.xhtml:
Re-sync this test from upstream as it was outdated after:
- https://github.com/w3c/web-platform-tests/pull/3457
Source/WebCore:
getElementsByTagName() should take a qualifiedName in parameter, not a
localName, according to the latest DOM specification:
- https://dom.spec.whatwg.org/#dom-document-getelementsbytagname
- https://dom.spec.whatwg.org/#concept-getelementsbytagname
The new behavior matches Firefox and Edge. There is a slight
compatiblity risk but we should give it a try.
No new tests, rebaselined existing tests.
* WebCore.xcodeproj/project.pbxproj:
* dom/AllDescendantsCollection.h: Added.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getElementsByTagName):
(WebCore::ContainerNode::getElementsByTagNameNS):
* dom/Node.cpp:
(WebCore::NodeListsNodeData::invalidateCaches):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::addCachedTagCollectionNS):
(WebCore::NodeListsNodeData::removeCachedTagCollectionNS):
(WebCore::NodeListsNodeData::adoptDocument):
(WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList):
* dom/TagCollection.cpp:
(WebCore::makeQualifiedName):
(WebCore::splitQualifiedName):
(WebCore::TagCollectionNS::TagCollectionNS):
(WebCore::TagCollectionNS::~TagCollectionNS):
(WebCore::TagCollection::TagCollection):
(WebCore::TagCollection::~TagCollection):
(WebCore::HTMLTagCollection::HTMLTagCollection):
(WebCore::HTMLTagCollection::~HTMLTagCollection):
* dom/TagCollection.h:
(WebCore::TagCollection::elementMatches):
(WebCore::TagCollectionNS::elementMatches):
(WebCore::HTMLTagCollection::elementMatches):
* html/CollectionType.h:
* html/GenericCachedHTMLCollection.cpp:
(WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches):
* html/HTMLCollection.cpp:
(WebCore::invalidationTypeExcludingIdAndNameAttributes):
LayoutTests:
Update existing tests to reflect behavior change.
* fast/dom/getElementsByClassName/010.xml:
* fast/dom/getElementsByClassName/011.xml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 13 Aug 2016 03:05:34 +0000 (03:05 +0000)]
Remove always true JSC::Debugger::needPauseHandling virtual method
https://bugs.webkit.org/show_bug.cgi?id=160822
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-12
Reviewed by Mark Lam.
Source/JavaScriptCore:
All subclasses return true for this method. Just remove the method.
* debugger/Debugger.cpp:
(JSC::Debugger::pauseIfNeeded):
* inspector/ScriptDebugServer.h:
Source/WebKit/mac:
* WebView/WebScriptDebugger.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Sat, 13 Aug 2016 02:14:42 +0000 (02:14 +0000)]
Inline store loop for CopyRest in DFG and FTL for certain array modes
https://bugs.webkit.org/show_bug.cgi?id=159612
Reviewed by Filip Pizlo.
JSTests:
* stress/rest-parameter-having-a-bad-time.js: Added.
* stress/rest-parameter-many-arguments.js: Added.
* stress/rest-parameter-various-types.js: Added.
Source/JavaScriptCore:
This patch changes the old copy_rest bytecode to actually allocate the rest array itself.
The bytecode is now called create_rest with an analogous CreateRest node in the DFG/FTL.
This allows the bytecode to be in control of what type of indexingType the array is allocated
with. We always allocate using ArrayWithContiguous storage unless we're havingABadTime().
This also makes allocating and writing into the array fast. On the fast path, the DFG/FTL
JIT will fast allocate the array and its storage, and we will do a memmove from the rest
region of arguments into the array's storage.
I'm seeing a 1-2% speedup on ES6SampleBench, and about a 2x speedup
on micro benchmarks that just test rest creation speed.
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitRestParameter):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
(JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::uses):
(JSC::DFG::Graph::isWatchingHavingABadTimeWatchpoint):
(JSC::DFG::Graph::compilation):
* dfg/DFGNode.h:
(JSC::DFG::Node::numberOfArgumentsToSkip):
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCreateClonedArguments):
(JSC::DFG::SpeculativeJIT::compileCreateRest):
(JSC::DFG::SpeculativeJIT::compileGetRestLength):
(JSC::DFG::SpeculativeJIT::compileCopyRest): Deleted.
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileArithRandom):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileArithRandom):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateRest):
(JSC::FTL::DFG::LowerDFGToB3::compileGetRestLength):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer):
(JSC::FTL::DFG::LowerDFGToB3::compileAllocateArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileCopyRest): Deleted.
* interpreter/CallFrame.h:
(JSC::ExecState::addressOfArgumentsStart):
(JSC::ExecState::argument):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_argument_count):
(JSC::JIT::emit_op_create_rest):
(JSC::JIT::emit_op_copy_rest): Deleted.
* jit/JITOperations.h:
* llint/LowLevelInterpreter.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
LayoutTests:
* js/regress/rest-parameter-construction-performance-expected.txt: Added.
* js/regress/rest-parameter-construction-performance.html: Added.
* js/regress/script-tests/rest-parameter-construction-performance.js: Added.
(foo):
(test1):
(test2.foo):
(test2):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 13 Aug 2016 02:02:04 +0000 (02:02 +0000)]
Add a helper class for enumerating elements in an iterable object
https://bugs.webkit.org/show_bug.cgi?id=160800
Reviewed by Benjamin Poulain.
Added iteratorForIterable which provides an abstraction for iterating over an iterable object,
and deployed it in the constructors of Set, WeakSet, Map, and WeakMap.
Also added a helper function iteratorForIterable, which retrieves the iterator out of an iterable object.
* runtime/IteratorOperations.cpp:
(JSC::iteratorForIterable): Added.
* runtime/IteratorOperations.h:
(JSC::forEachInIterable): Added.
* runtime/MapConstructor.cpp:
(JSC::constructMap):
* runtime/SetConstructor.cpp:
(JSC::constructSet):
* runtime/WeakMapConstructor.cpp:
(JSC::constructWeakMap):
* runtime/WeakSetConstructor.cpp:
(JSC::constructWeakSet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Sat, 13 Aug 2016 00:56:48 +0000 (00:56 +0000)]
Web Inspector: Add application/vnd.api+json as a valid JSON MIME-type
https://bugs.webkit.org/show_bug.cgi?id=160834
rdar://problem/
27608536
Reviewed by Joseph Pecoraro.
* UserInterface/Views/CodeMirrorAdditions.js: Add Add application/vnd.api+json to extraJSONTypes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 23:35:17 +0000 (23:35 +0000)]
Make variant only available when compiling for C++14 or greater
https://bugs.webkit.org/show_bug.cgi?id=160813
Patch by Sam Weinig <sam@webkit.org> on 2016-08-12
Reviewed by Anders Carlsson.
* wtf/Compiler.h:
* wtf/StdLibExtras.h:
* wtf/Variant.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 12 Aug 2016 23:34:27 +0000 (23:34 +0000)]
[Cocoa] Instances of WKObject subclasses don’t work correctly with CFGetTypeID()
https://bugs.webkit.org/show_bug.cgi?id=160820
<rdar://problem/
27825875>
Reviewed by Anders Carlsson.
* Shared/Cocoa/WKObject.mm:
(-[WKObject _cfTypeID]): Override this internal method and forward to the target object.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 12 Aug 2016 23:12:46 +0000 (23:12 +0000)]
Make URLParser work with URLs missing URL parts
https://bugs.webkit.org/show_bug.cgi?id=160824
Reviewed by Brady Eidson.
Source/WebCore:
My initial implementation of URLParser didn't work correctly with URLs missing parts,
like a URL with no fragment, or a URL with no query. This fixes and tests parsing such URLS.
Covered by new API tests.
* platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::allValuesEqual):
* platform/URLParser.h:
(WebCore::URLParser::parse):
Tools:
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::s):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::eq): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204431
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wilander@apple.com [Fri, 12 Aug 2016 23:08:40 +0000 (23:08 +0000)]
Add HashCountedSet API tests to TestWTFLibrary target
https://bugs.webkit.org/show_bug.cgi?id=160815
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Added HashCountedSet.cpp and sorted the file reference section
according to UNIX sort.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 22:53:27 +0000 (22:53 +0000)]
Rename DocumentLoadTiming and ResourceLoadTiming
https://bugs.webkit.org/show_bug.cgi?id=160821
Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-08-12
Reviewed by Alex Christensen.
Source/WebCore:
Renames ResourceLoadTiming to NetworkLoadTiming.
Renames DocumentLoadTiming to LoadTiming as well as
navigationStart() to startTime(), so it's generic for
both the main resource and subresources.
* CMakeLists.txt:
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::from):
* PlatformMac.cmake:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorNetworkAgent.cpp:
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceResponse):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::timing):
(WebCore::DocumentLoader::resetTiming):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchUnloadEvents):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
* loader/LoadTiming.cpp: Renamed from Source/WebCore/loader/DocumentLoadTiming.cpp.
(WebCore::LoadTiming::LoadTiming):
(WebCore::LoadTiming::monotonicTimeToZeroBasedDocumentTime):
(WebCore::LoadTiming::monotonicTimeToPseudoWallTime):
(WebCore::LoadTiming::markStartTime):
(WebCore::LoadTiming::addRedirect):
* loader/LoadTiming.h: Renamed from Source/WebCore/loader/DocumentLoadTiming.h.
(WebCore::LoadTiming::markUnloadEventStart):
(WebCore::LoadTiming::markUnloadEventEnd):
(WebCore::LoadTiming::markRedirectStart):
(WebCore::LoadTiming::markRedirectEnd):
(WebCore::LoadTiming::markFetchStart):
(WebCore::LoadTiming::setResponseEnd):
(WebCore::LoadTiming::markLoadEventStart):
(WebCore::LoadTiming::markLoadEventEnd):
(WebCore::LoadTiming::setHasSameOriginAsPreviousDocument):
(WebCore::LoadTiming::startTime):
(WebCore::LoadTiming::unloadEventStart):
(WebCore::LoadTiming::unloadEventEnd):
(WebCore::LoadTiming::redirectStart):
(WebCore::LoadTiming::redirectEnd):
(WebCore::LoadTiming::redirectCount):
(WebCore::LoadTiming::fetchStart):
(WebCore::LoadTiming::responseEnd):
(WebCore::LoadTiming::loadEventStart):
(WebCore::LoadTiming::loadEventEnd):
(WebCore::LoadTiming::hasCrossOriginRedirect):
(WebCore::LoadTiming::hasSameOriginAsPreviousDocument):
(WebCore::LoadTiming::referenceMonotonicTime):
(WebCore::LoadTiming::referenceWallTime):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent):
* page/PerformanceNavigation.cpp:
(WebCore::PerformanceNavigation::redirectCount):
* page/PerformanceResourceTiming.cpp:
(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds):
* page/PerformanceResourceTiming.h:
* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::navigationStart):
(WebCore::PerformanceTiming::unloadEventStart):
(WebCore::PerformanceTiming::unloadEventEnd):
(WebCore::PerformanceTiming::redirectStart):
(WebCore::PerformanceTiming::redirectEnd):
(WebCore::PerformanceTiming::fetchStart):
(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
(WebCore::PerformanceTiming::responseEnd):
(WebCore::PerformanceTiming::loadEventStart):
(WebCore::PerformanceTiming::loadEventEnd):
(WebCore::PerformanceTiming::loadTiming):
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds):
* page/PerformanceTiming.h:
* platform/network/NetworkLoadTiming.h: Renamed from Source/WebCore/platform/network/ResourceLoadTiming.h.
(WebCore::NetworkLoadTiming::NetworkLoadTiming):
(WebCore::NetworkLoadTiming::operator=):
(WebCore::NetworkLoadTiming::isolatedCopy):
(WebCore::NetworkLoadTiming::operator==):
(WebCore::NetworkLoadTiming::operator!=):
(WebCore::NetworkLoadTiming::encode):
(WebCore::NetworkLoadTiming::decode):
* platform/network/ResourceHandle.h:
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::crossThreadData):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::compare):
* platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::networkLoadTiming):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
* platform/network/cocoa/NetworkLoadTiming.mm: Renamed from Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm.
(WebCore::timingValue):
(WebCore::copyTimingData):
(WebCore::setCollectsTimingData):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::calculateWebTimingInformations):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getConnectionTimingData):
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback):
(WebCore::ResourceHandle::didStartRequest):
(WebCore::networkEventCallback):
Source/WebKit2:
Rename ResourceLoadTiming to NetworkLoadTiming.
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Fri, 12 Aug 2016 22:32:55 +0000 (22:32 +0000)]
Web Inspector: Command-Shift-O causes infinite loop if web page has frames
https://bugs.webkit.org/show_bug.cgi?id=160810
Reviewed by Joseph Pecoraro.
* UserInterface/Views/OpenResourceDialog.js:
(WebInspector.OpenResourceDialog.prototype._addResourcesForFrame):
"frame" doesn't change inside the loop.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 21:46:30 +0000 (21:46 +0000)]
Remove unused includes of RefCountedLeakCounter.h
https://bugs.webkit.org/show_bug.cgi?id=160817
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-12
Reviewed by Mark Lam.
Source/JavaScriptCore:
* parser/Nodes.cpp:
* runtime/Structure.cpp:
Source/WebCore:
* bindings/js/JSEventListener.cpp:
* rendering/RenderBlockLineLayout.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204424
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 12 Aug 2016 21:38:59 +0000 (21:38 +0000)]
Add mac-wk1 baseline for js/dom/global-constructors-attributes.html after r204396.
Unreviewed test gardening.
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 12 Aug 2016 21:38:26 +0000 (21:38 +0000)]
ASSERTION FAILED: : line >= firstLine in BytecodeGenerator::emitExpressionInfo.
https://bugs.webkit.org/show_bug.cgi?id=160535
<rdar://problem/
27328151>
Source/JavaScriptCore:
Patch by Pranjal Jumde <pjumde@apple.com> on 2016-08-12
Reviewed by Saam Barati.
lineNumber from the savePoint was not being restored before calling next() causing discrepancy in the offset and line for the token
* parser/Parser.h:
(JSC::Parser::restoreLexerState):
LayoutTests:
Patch by Pranjal Jumde <pjumde@apple.com> on 2016-08-12
Reviewed by Saam Barati.
lineNumber from the savePoint was not being restored before calling next() causing discrepancy in the offset and line for the token
* js/multiline-function-crash-expected.txt: Added.
* js/multiline-function-crash.html: Added.
* js/script-tests/multiline-function-crash.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204422
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 12 Aug 2016 21:24:40 +0000 (21:24 +0000)]
run-benchmark should run JetStream 1.1 instead of 1.0.1
https://bugs.webkit.org/show_bug.cgi?id=160816
Reviewed by Filip Pizlo.
Use the latest JetStream 1.1 in run-benchmark.
* Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
(BenchmarkBuilder.__exit__):
* Scripts/webkitpy/benchmark_runner/data/patches/JetStream.patch: Updated to apply against 1.1 directory.
* Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan: Updated to use r190897, which is the last
change to JetStream directory.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204421
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 12 Aug 2016 21:09:48 +0000 (21:09 +0000)]
Unreviewed, rolling out r204416.
This test fails with a debug assertion
Reverted changeset:
"ASSERTION FAILED: : line >= firstLine in
BytecodeGenerator::emitExpressionInfo."
https://bugs.webkit.org/show_bug.cgi?id=160535
http://trac.webkit.org/changeset/204416
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gskachkov@gmail.com [Fri, 12 Aug 2016 20:46:24 +0000 (20:46 +0000)]
[ES2016] Implement Object.entries
https://bugs.webkit.org/show_bug.cgi?id=160412
Reviewed by Saam Barati.
This patch adds entries function to Object that returns list of
key+values pairs. Patch did according to the point of
spec https://tc39.github.io/ecma262/#sec-object.entries
Source/JavaScriptCore:
* builtins/ObjectConstructor.js:
(globalPrivate.enumerableOwnProperties):
(entries):
* runtime/ObjectConstructor.cpp:
JSTests:
* stress/object-entries.js:
(compare):
(string_appeared_here.forEach):
(const.getInvokedFunctions.):
(const.getInvokedFunctions):
(Array.prototype.push):
* stress/object-values.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 20:34:43 +0000 (20:34 +0000)]
Web Inspector: Support for :lineNumber syntax in Open Resource Dialog
https://bugs.webkit.org/show_bug.cgi?id=159732
<rdar://problem/
27684491>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-12
Reviewed by Matt Baker.
Allow the Open Resource Dialog to support line/column syntax.
Other tools allow "<name>:<line>:<column>" syntax, where the
location data at the end is optional. If the <name> portion
is missing, the location can be used for the active content
view, assuming it has text data and has lines.
* UserInterface/Base/Main.js:
(WebInspector.focusedOrVisibleContentView):
Expose a function to access the current focused / visible content view.
(WebInspector.dialogWasDismissed):
Include passing on cookie data when showing a represented object.
* UserInterface/Views/Dialog.js:
(WebInspector.Dialog):
(WebInspector.Dialog.prototype.get visible):
(WebInspector.Dialog.prototype.get delegate):
(WebInspector.Dialog.prototype.get representedObject):
(WebInspector.Dialog.prototype.get cookie):
(WebInspector.Dialog.prototype.dismiss):
* UserInterface/Models/ResourceQueryResult.js:
(WebInspector.ResourceQueryResult):
(WebInspector.ResourceQueryResult.prototype.get cookie):
Include cookie data along with the represented object in matches
and dialog results.
* UserInterface/Controllers/ResourceQueryController.js:
(WebInspector.ResourceQueryController.prototype.executeQuery):
Cut off location data from a query, and stash it on the query result.
A query can be "<name>:<line>:<column>", and the line/column data
becomes cookie data for the resource.
* UserInterface/Views/OpenResourceDialog.js:
(WebInspector.OpenResourceDialog.prototype._populateResourceTreeOutline):
If the query is just ":<line>:<column>" have it jump to a location
in the current content view if applicable.
(WebInspector.OpenResourceDialog.prototype._handleKeydownEvent):
(WebInspector.OpenResourceDialog.prototype._treeSelectionDidChange):
When dismissing, include cookie data.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Fri, 12 Aug 2016 20:03:49 +0000 (20:03 +0000)]
Initial URLParser implementation
https://bugs.webkit.org/show_bug.cgi?id=160811
Reviewed by Brady Eidson.
Source/WebCore:
There are a lot of missing parts, but it works in one case, so I test that one case.
* platform/URLParser.cpp:
(WebCore::isC0Control):
(WebCore::isC0ControlOrSpace):
(WebCore::isTabOrNewline):
(WebCore::isASCIIDigit):
(WebCore::isASCIIAlpha):
(WebCore::isASCIIAlphanumeric):
(WebCore::isSpecialScheme):
(WebCore::URLParser::parse):
Tools:
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::eq):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 12 Aug 2016 18:53:51 +0000 (18:53 +0000)]
ASSERTION FAILED: : line >= firstLine in BytecodeGenerator::emitExpressionInfo.
https://bugs.webkit.org/show_bug.cgi?id=160535
<rdar://problem/
27328151>
Patch by Pranjal Jumde <pjumde@apple.com> on 2016-08-12
Reviewed by Saam Barati.
lineNumber from the savePoint was not being restored before calling next() causing discrepancy in the offset and line for the token
* js/multiline-function-crash-expected.txt: Added.
* js/multiline-function-crash.html: Added.
* js/script-tests/multiline-function-crash.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 12 Aug 2016 18:51:16 +0000 (18:51 +0000)]
Add test for fixed nullptr deref error
https://bugs.webkit.org/show_bug.cgi?id=160807
<rdar://problem/
15576693>
Unreviewed test gardening.
* mathml/row-clone-crash-expected.txt: Added.
* mathml/row-clone-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 12 Aug 2016 18:50:02 +0000 (18:50 +0000)]
message loading never finishes in Mail
https://bugs.webkit.org/show_bug.cgi?id=160806
rdar://problem/
27624095
Reviewed by Dan Bernstein.
Add more checks for when a process goes away before we've established a proper connection to it.
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::receiveSourceEventHandler):
Handle the MACH_NOTIFY_NO_SENDERS and MACH_NOTIFY_SEND_ONCE messages here. Also, once we receive a send
right from the other side, stop listening for the MACH_NOTIFY_NO_SENDERS notification.
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::didFinishLaunching):
Null check the connection identifier.
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::ProcessLauncher):
(WebKit::processLauncherWorkQueue): Deleted.
Get rid of the process launcher queue - we're not doing any blocking work here.
* UIProcess/Launcher/ProcessLauncher.h:
Add a weak factory.
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::systemDirectoryPath):
Move this before launchProcess().
(WebKit::ProcessLauncher::launchProcess):
Merge createService and connectToService into launchProcess. Also make the following changes:
- Use mach_port_request_notification to get a notification for when our receive right loses all its senders.
This lets us listen for the other process going away before we have a send right for it.
- Use xpc_connection_set_event_handler to listen for errors, so we can detect the process going away before
we've sent a message to it.
(WebKit::connectToService): Deleted.
(WebKit::createService): Deleted.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching):
If we failed to launch, call networkProcessCrashedOrFailedToLaunch so we'll unblock any waiting web processes.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching):
Null check the connection and XPC connection before trying to get its pid.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 12 Aug 2016 16:54:37 +0000 (16:54 +0000)]
Rebaseline js/dom/global-constructors-attributes.html after r204396.
Unreviewed test gardening.
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 16:51:04 +0000 (16:51 +0000)]
Unreviewed, rolling out r204404.
https://bugs.webkit.org/show_bug.cgi?id=160805
"Broke the build for some Apple Internal projects" (Requested
by bradee-oh on #webkit).
Reverted changeset:
"Support WebIDL unions (Part 1)"
https://bugs.webkit.org/show_bug.cgi?id=160769
http://trac.webkit.org/changeset/204404
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 12 Aug 2016 15:55:10 +0000 (15:55 +0000)]
Fix the 32-bit Mac build after:
Add WK2 ExperimentalFeature support to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=160788
Reviewed by NOBODY (OOPS!).
Sprinkle "#if WK_API_ENABLED"s liberally.
* MiniBrowser/mac/AppDelegate.m:
(defaultConfiguration):
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 12 Aug 2016 10:38:29 +0000 (10:38 +0000)]
[GStreamer] Performance problems with bigger video resolution in the webrtc media player
https://bugs.webkit.org/show_bug.cgi?id=153826
Reviewed by Alejandro G. Castro.
Keep the OpenWebRTC video renderer size synchronized with the Media element size.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::setSize):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 12 Aug 2016 10:35:28 +0000 (10:35 +0000)]
[GStreamer][OWR] Video rendering fixes
https://bugs.webkit.org/show_bug.cgi?id=160764
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
The video renderer of OpenWebRTC now uses OpenGL so we have two
options to correctly handle this in WebKit:
- if USE_GSTREAMER_GL is enabled then we simply pass our GL
appsink to the renderer and there is no need to create glupload
and glcolorconvert element on WebKit side because those elements
are already created on OpenWebRTC side.
- if USE_GSTREAMER_GL is disabled then we need our sink to download
frames from the GPU so that rendering can be done with the WebKit
video sink in main memory.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createGLAppSink): Split out GL appsink management
to a separate method that can be used by sub-classes.
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL): Use new createGLAppSink method.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::createVideoSink): handle GStreamer-GL configurations
and pass a different element to the renderer depending on the configuration.
Tools:
* gtk/jhbuild.modules: Bump to current OpenWebRTC master.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Fri, 12 Aug 2016 09:11:09 +0000 (09:11 +0000)]
Add missing return statement in convertFast function added in r204376.
Unreviewed.
* Scripts/webkitpy/common/system/path.py:
(_CygPath.convertFast):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 12 Aug 2016 04:34:30 +0000 (04:34 +0000)]
Support WebIDL unions (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=160769
Reviewed by Chris Dumez.
This is the first part of an effort to add support for union types
in our code generators. This change:
- Adds a domType struct to hold the parsed type information. For now, we only
use it temporarily while parsing, and don't expose it to the code generators,
but that will change in a later patch.
- Remove support for scoped identifiers for types. They are not supported by WebIDL.
- Make debugging the parser easier by providing backtraces when asserting.
There should be no observable changes.
* bindings/scripts/IDLParser.pm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Fri, 12 Aug 2016 03:38:54 +0000 (03:38 +0000)]
OverridesHasInstance should not branch across register allocations.
https://bugs.webkit.org/show_bug.cgi?id=160792
<rdar://problem/
27361778>
Reviewed by Benjamin Poulain.
JSTests:
* stress/OverrideHasInstance-should-not-branch-across-register-allocations.js: Added.
Source/JavaScriptCore:
The OverrideHasInstance node has a branch test that is emitted conditionally.
It also has a bug where it allocated a register after this branch, which is not
allowed and would fail an assertion introduced in https://trac.webkit.org/r145931.
From the ChangeLog for r145931:
"This [assertion that register allocations are not branched around] protects
against the case where an allocation could have spilled register contents to free
up a register and that spill only occurs on one path of many through the code.
A subsequent fill of the spilled register may load garbage."
Because the branch isn't always emitted, this bug has gone unnoticed until now.
This patch fixes this issue by pre-allocating the registers before emitting the
branch in OverrideHasInstance.
Note: this issue is only present in DFGSpeculativeJIT64.cpp. The 32-bit version
is doing it right.
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 01:33:48 +0000 (01:33 +0000)]
[JSC] Make B3 Return opcode work without arguments
https://bugs.webkit.org/show_bug.cgi?id=160787
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-11
Reviewed by Keith Miller.
We need a way to create functions that do not return values.
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::retVoid):
* b3/B3BasicBlock.cpp:
(JSC::B3::BasicBlock::appendNewControlValue):
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3Validate.cpp:
* b3/B3Value.h:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testReturnVoid):
(JSC::B3::run):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 12 Aug 2016 01:29:52 +0000 (01:29 +0000)]
[WK2] Don't monitor gamepads at all unless an interested WebPageProxy is in the active window.
https://bugs.webkit.org/show_bug.cgi?id=160760
Reviewed by Tim Horton.
This patch makes it such that the UIProcess will only listen to the platform gamepad mechanism
if a WebPageProxy that is interested in gamepads is in the active window.
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::windowDidBecomeKey):
(WebKit::WebViewImpl::windowDidResignKey):
* UIProcess/Gamepad/UIGamepadProvider.cpp:
(WebKit::UIGamepadProvider::UIGamepadProvider):
(WebKit::UIGamepadProvider::gamepadSyncTimerFired):
(WebKit::UIGamepadProvider::scheduleGamepadStateSync):
(WebKit::UIGamepadProvider::platformGamepadConnected):
(WebKit::UIGamepadProvider::platformGamepadDisconnected):
(WebKit::UIGamepadProvider::platformGamepadInputActivity):
(WebKit::UIGamepadProvider::processPoolStartedUsingGamepads):
(WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads):
(WebKit::UIGamepadProvider::viewBecameActive):
(WebKit::UIGamepadProvider::viewBecameInactive):
(WebKit::UIGamepadProvider::scheduleDisableGamepadMonitoring):
(WebKit::UIGamepadProvider::disableMonitoringTimerFired):
(WebKit::UIGamepadProvider::startMonitoringGamepads):
(WebKit::UIGamepadProvider::stopMonitoringGamepads):
(WebKit::UIGamepadProvider::updateTimerFired): Deleted.
(WebKit::UIGamepadProvider::startOrStopSynchingGamepadState): Deleted.
* UIProcess/Gamepad/UIGamepadProvider.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Fri, 12 Aug 2016 01:22:55 +0000 (01:22 +0000)]
Migrate from ints to unsigneds when referring to indices into strings
https://bugs.webkit.org/show_bug.cgi?id=160735
Reviewed by Simon Fraser.
There are a few cases where we use ints to refer to indices into strings:
- A simple historical accident. These were migrated to unsigneds directly.
- Where we use -1 as a sentinal value. These were migrated to Optional<unsigned>.
This patch only modifies rendering code (rather than DOM code). There are a few
places in DOM code (such as Position and Node::maxCharacterOffset()) which also
erroneously use ints; however, I didn't want this change to be observable from
script and I wanted to keep this patch to a reasonable size.
No new tests because there is no behavior change.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::updateAppearance):
(WebCore::FrameSelection::setCaretVisibility):
* platform/DragImage.cpp:
(WebCore::createDragImageForRange):
* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::glyphBufferForTextRun):
(WebCore::FontCascade::drawText):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::adjustSelectionRectForText):
(WebCore::computeUnderlineType):
(WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText):
(WebCore::FontCascade::drawEmphasisMarksForSimpleText):
(WebCore::FontCascade::drawGlyphBuffer):
(WebCore::offsetToMiddleOfGlyphAtIndex):
(WebCore::FontCascade::adjustSelectionRectForSimpleText):
* platform/graphics/FontCascade.h:
* platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::size):
(WebCore::GlyphBuffer::glyphs):
(WebCore::GlyphBuffer::advances):
(WebCore::GlyphBuffer::fontAt):
(WebCore::GlyphBuffer::glyphAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::offsetAt):
(WebCore::GlyphBuffer::reverse):
(WebCore::GlyphBuffer::offsetInString):
(WebCore::GlyphBuffer::shrink):
(WebCore::GlyphBuffer::swap):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawGlyphs):
(WebCore::GraphicsContext::drawEmphasisMarks):
* platform/graphics/GraphicsContext.h:
* platform/graphics/Latin1TextIterator.h:
(WebCore::Latin1TextIterator::Latin1TextIterator):
(WebCore::Latin1TextIterator::currentCharacter):
* platform/graphics/SurrogatePairAwareTextIterator.cpp:
(WebCore::SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator):
* platform/graphics/SurrogatePairAwareTextIterator.h:
(WebCore::SurrogatePairAwareTextIterator::currentCharacter):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::advanceOneCharacter):
* platform/graphics/WidthIterator.h:
* platform/graphics/cairo/FontCairo.cpp:
(WebCore::drawGlyphsToContext):
(WebCore::drawGlyphsShadow):
(WebCore::FontCascade::drawGlyphs):
* platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
(WebCore::FontCascade::adjustSelectionRectForComplexText):
* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::fillVectorWithHorizontalGlyphPositions):
(WebCore::showLetterpressedGlyphsWithAdvances):
(WebCore::showGlyphsWithAdvances):
(WebCore::FontCascade::drawGlyphs):
(WebCore::FontCascade::dashesForIntersectionsWithRect):
(WebCore::FontCascade::adjustSelectionRectForComplexText):
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
* platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawGlyphs):
* platform/graphics/displaylists/DisplayListRecorder.h:
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::selectionRect):
* platform/graphics/harfbuzz/HarfBuzzShaper.h:
* platform/graphics/mac/ComplexTextController.h:
* platform/graphics/win/FontCGWin.cpp:
(WebCore::FontCascade::drawGlyphs):
* platform/graphics/win/FontWin.cpp:
(WebCore::FontCascade::adjustSelectionRectForComplexText):
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paintSelection):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::isSelected):
(WebCore::InlineTextBox::selectionState):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::clampedOffset):
(WebCore::InlineTextBox::selectionStartEnd):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::positionForOffset):
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::offsetRun):
(WebCore::InlineTextBox::InlineTextBox): Deleted.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::localCaretRect):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::localCaretRect):
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::localCaretRect):
* rendering/RenderInline.h:
* rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::localCaretRect):
* rendering/RenderLineBreak.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionStartEnd):
(WebCore::RenderObject::localCaretRect):
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::isSelected):
* rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect):
(WebCore::RenderText::collectSelectionRectsForLineBoxes):
* rendering/RenderText.h:
* rendering/RenderTextLineBoxes.cpp:
(WebCore::RenderTextLineBoxes::setSelectionState):
* rendering/RenderView.cpp:
(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):
(WebCore::RenderView::getSelection):
(WebCore::RenderView::clearSelection):
(WebCore::RenderView::RenderView): Deleted.
* rendering/RenderView.h:
* rendering/SelectionSubtreeRoot.cpp:
(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot): Deleted.
* rendering/SelectionSubtreeRoot.h:
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection):
(WebCore::SelectionSubtreeRoot::OldSelectionData::OldSelectionData): Deleted.
* rendering/TextPainter.cpp:
(WebCore::TextPainter::drawTextOrEmphasisMarks):
(WebCore::TextPainter::paintTextWithShadows):
(WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded):
(WebCore::TextPainter::paintText):
* rendering/TextPainter.h:
(WebCore::TextPainter::addEmphasis):
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect):
* rendering/svg/RenderSVGInlineText.h:
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::positionForOffset):
(WebCore::SVGInlineTextBox::selectionRectForTextFragment):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::paintText):
* rendering/svg/SVGInlineTextBox.h:
* rendering/svg/SVGTextQuery.cpp:
(WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
(WebCore::SVGTextQuery::subStringLengthCallback):
(WebCore::SVGTextQuery::startPositionOfCharacterCallback):
(WebCore::SVGTextQuery::endPositionOfCharacterCallback):
(WebCore::SVGTextQuery::rotationOfCharacterCallback):
(WebCore::calculateGlyphBoundaries):
(WebCore::SVGTextQuery::extentOfCharacterCallback):
(WebCore::SVGTextQuery::characterNumberAtPositionCallback):
* rendering/svg/SVGTextQuery.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Fri, 12 Aug 2016 01:02:06 +0000 (01:02 +0000)]
Gardening: fix gcc builds after r204387.
Not reviewed.
Apparently, gcc is not sophisticated enough to realize that the end of the
function is unreachable, and is wrongly complaining about "control reaches end of
non-void function". I'm restoring the RELEASE_ASSERT_NOT_REACHED() and return
statement at the end of MarkedBlock::sweepHelper() to appease gcc.
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweepHelper):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 12 Aug 2016 00:35:21 +0000 (00:35 +0000)]
Add WK2 ExperimentalFeature support to MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=160788
Reviewed by Alex Christensen.
* MiniBrowser/mac/AppDelegate.h:
* MiniBrowser/mac/AppDelegate.m:
(defaultConfiguration):
(defaultPreferences):
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleExperimentalFeature:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 12 Aug 2016 00:35:18 +0000 (00:35 +0000)]
Make Gamepads be a WK2 ExperimentalFeature.
https://bugs.webkit.org/show_bug.cgi?id=160788
Reviewed by Alex Christensen.
* Shared/WebPreferencesDefinitions.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 00:34:22 +0000 (00:34 +0000)]
Don't use a NetworkingContext when creating SocketStreamHandles
https://bugs.webkit.org/show_bug.cgi?id=160732
Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-11
Reviewed by Brady Eidson.
Source/WebCore:
No change in behavior. After r204327 a SessionID is all we need to get the NetworkStorageSession,
and we pass the SessionID to the SocketStreamHandle constructor, so use that instead.
SessionIDs can be serialized and sent over IPC. NetworkingContexts can't.
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect):
* page/SocketProvider.cpp:
(WebCore::SocketProvider::createSocketStreamHandle):
* page/SocketProvider.h:
* platform/network/cf/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::getStoredCONNECTProxyCredentials):
* platform/network/curl/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
* platform/network/soup/SocketStreamHandle.h:
* platform/network/soup/SocketStreamHandleSoup.cpp:
(WebCore::SocketStreamHandle::create):
Source/WebKit2:
* WebProcess/Network/WebSocketProvider.cpp:
(WebKit::WebSocketProvider::createSocketStreamHandle):
* WebProcess/Network/WebSocketProvider.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 00:33:47 +0000 (00:33 +0000)]
Use StringBuilder::appendLiteral when possible don't append result of makeString
https://bugs.webkit.org/show_bug.cgi?id=160772
Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-11
Reviewed by Sam Weinig.
Source/JavaScriptCore:
* API/tests/ExecutionTimeLimitTest.cpp:
(testExecutionTimeLimit):
* API/tests/PingPongStackOverflowTest.cpp:
(PingPongStackOverflowObject_hasInstance):
* bytecompiler/NodesCodegen.cpp:
(JSC::ArrayPatternNode::toString):
(JSC::RestParameterNode::toString):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::sanitizedToString):
* runtime/Options.cpp:
(JSC::Options::dumpOption):
Source/WebCore:
StringBuilder::append does an unnecessary strlen call.
append(makeString(...)) always does unnecessary allocations and copies.
It's currently only used in debug logging, but we shouldn't have this pattern in WebKit.
* Modules/indexeddb/server/IndexValueStore.cpp:
(WebCore::IDBServer::IndexValueStore::loggingString):
* Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::loggingString):
* Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::loggingString):
* contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::prefixTreeVertexToString):
(WebCore::ContentExtensions::recursivePrint):
* html/HTMLMediaElement.cpp:
(WebCore::actionName):
* html/MediaElementSession.cpp:
(WebCore::restrictionName):
* loader/ResourceLoadStatistics.cpp:
(WebCore::appendBoolean):
(WebCore::appendHashCountedSet):
(WebCore::ResourceLoadStatistics::toString):
* platform/PODInterval.h:
(WebCore::PODInterval::toString):
* platform/URL.cpp:
(WebCore::URL::setHost):
(WebCore::URL::setHostAndPort):
(WebCore::URL::serialize):
* testing/Internals.cpp:
(WebCore::appendOffsets):
(WebCore::Internals::scrollSnapOffsets):
Source/WebKit2:
* Shared/Gamepad/GamepadData.cpp:
(WebKit::GamepadData::isNull):
(WebKit::GamepadData::loggingString):
* Shared/Gamepad/GamepadData.h:
* UIProcess/WebProcessPool.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 12 Aug 2016 00:22:20 +0000 (00:22 +0000)]
[JSC] Revert most of r203808
https://bugs.webkit.org/show_bug.cgi?id=160784
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-11
Reviewed by Geoffrey Garen.
Switching to fastMalloc() caused regressions on Jetstream and Octane
on MacBook Air. I was able to get back some of it in the following
patches but the tests that never go to FTL are still regressed.
This patch revert r203808 except of the node index.
Nodes are allocated with the custom allocator like before but they are
now also kept in a table, addressed by the node index.
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3SparseCollection.h:
(JSC::B3::SparseCollection::packIndices): Deleted.
* dfg/DFGAllocator.h: Added.
(JSC::DFG::Allocator::Region::size):
(JSC::DFG::Allocator::Region::headerSize):
(JSC::DFG::Allocator::Region::numberOfThingsPerRegion):
(JSC::DFG::Allocator::Region::data):
(JSC::DFG::Allocator::Region::isInThisRegion):
(JSC::DFG::Allocator::Region::regionFor):
(JSC::DFG::Allocator<T>::Allocator):
(JSC::DFG::Allocator<T>::~Allocator):
(JSC::DFG::Allocator<T>::allocate):
(JSC::DFG::Allocator<T>::free):
(JSC::DFG::Allocator<T>::freeAll):
(JSC::DFG::Allocator<T>::reset):
(JSC::DFG::Allocator<T>::indexOf):
(JSC::DFG::Allocator<T>::allocatorOf):
(JSC::DFG::Allocator<T>::bumpAllocate):
(JSC::DFG::Allocator<T>::freeListAllocate):
(JSC::DFG::Allocator<T>::allocateSlow):
(JSC::DFG::Allocator<T>::freeRegionsStartingAt):
(JSC::DFG::Allocator<T>::startBumpingIn):
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::~Graph):
(JSC::DFG::Graph::addNodeToMapByIndex):
(JSC::DFG::Graph::deleteNode):
(JSC::DFG::Graph::packNodeIndices):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::addNode):
(JSC::DFG::Graph::maxNodeCount):
(JSC::DFG::Graph::nodeAt):
* dfg/DFGLongLivedState.cpp: Added.
(JSC::DFG::LongLivedState::LongLivedState):
(JSC::DFG::LongLivedState::~LongLivedState):
(JSC::DFG::LongLivedState::shrinkToFit):
* dfg/DFGLongLivedState.h: Added.
* dfg/DFGNode.h:
* dfg/DFGNodeAllocator.h: Added.
(operator new ):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
* dfg/DFGPlan.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::runThread):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 12 Aug 2016 00:08:50 +0000 (00:08 +0000)]
Marking transitions/clip-path-transitions.html and transitions/clip-path-path-transitions.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=153809
Unreviewed test gardening.
* platform/ios-simulator-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Fri, 12 Aug 2016 00:05:09 +0000 (00:05 +0000)]
REGRESSION (r204264): Web Inspector: Uncaught Exception in Network tab when reloading a web page
https://bugs.webkit.org/show_bug.cgi?id=160781
<rdar://problem/
27810452>
Reviewed by Matt Baker.
WebInspector.TimelineDataGrid.prototype.closed was removed in r204264.
Define a stub method on DataGrid so it's available to all its subclasses.
* UserInterface/Views/DataGrid.js:
this._dataGrid.closed()
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 11 Aug 2016 22:27:17 +0000 (22:27 +0000)]
Align Range.surroundContents() with the latest DOM specification
https://bugs.webkit.org/show_bug.cgi?id=160777
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline W3C test now that all checks are passing.
* web-platform-tests/dom/ranges/Range-surroundContents-expected.txt:
Source/WebCore:
Align Range.surroundContents() with the latest DOM specification:
- https://dom.spec.whatwg.org/#dom-range-surroundcontents
In particular, the following changes were made:
1. Drop early check to see if startContainer() accepts children like
newParent. This check is not in the specification. Let the later
call to Range.insertNode() take care of doing the check and
throwing.
2. Drop early check to see if newParent contains the range's start
node, for the same reasons as above.
3. Move extractContents() call *before* removing newParent's children
to match the order in the specification (steps 3 & 4).
This makes our behavior much closer to Firefox's as well.
No new tests, rebaselined existing W3C test.
* dom/Range.cpp:
(WebCore::Range::surroundContents):
LayoutTests:
Rebaseline existing due to behavior change.
* fast/dom/Range/surroundContents-1-expected.txt:
* fast/dom/Range/surroundContents-1.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Thu, 11 Aug 2016 21:25:08 +0000 (21:25 +0000)]
Keep EWS logs for longer
https://bugs.webkit.org/show_bug.cgi?id=160776
Reviewed by Daniel Bates.
* EWSTools/start-queue-mac.sh: Keep logs for 30 days instead of 14 days.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 11 Aug 2016 21:21:55 +0000 (21:21 +0000)]
The jsc shell's Element host constructor should throw if it fails to construct an object.
https://bugs.webkit.org/show_bug.cgi?id=160773
<rdar://problem/
27328608>
Reviewed by Saam Barati.
JSTests:
* stress/generational-opaque-roots.js:
Source/JavaScriptCore:
The Element object is a test object provided in the jsc shell for testing use only.
JavaScriptCore expects host constructors to either throw an error or return a
constructed object. Element has a host constructor that did not obey this contract.
As a result, the following statement will fail a RELEASE_ASSERT:
new (Element.bind())
This is now fixed.
* jsc.cpp:
(functionCreateElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 11 Aug 2016 21:18:14 +0000 (21:18 +0000)]
Disallow synchronous sweeping for eden GCs.
https://bugs.webkit.org/show_bug.cgi?id=160716
Reviewed by Geoffrey Garen.
JSTests:
* stress/eden-gc-with-retired-blocks.js: Added.
- This test is just in case we add back support for eden GCs with synchronous
sweeping in the future.
Source/JavaScriptCore:
* heap/Heap.cpp:
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collectAndSweep): Deleted.
* heap/Heap.h:
(JSC::Heap::collectAllGarbage): Deleted.
- No need for a separate collectAndSweep() anymore since we only call it for
FullCollections.
- Since we've already swept all the blocks, I cleared m_blockSnapshot so that the
IncrementalSweeper can bail earlier when it runs later.
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweepHelper):
- Removed the unreachable return statement.
* heap/MarkedBlock.h:
- Document what "Retired" means.
* tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::edenGC):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 11 Aug 2016 21:17:44 +0000 (21:17 +0000)]
iOS DRT/WTR project cleanup
https://bugs.webkit.org/show_bug.cgi?id=160778
Reviewed by Tim Horton.
Move TARGETED_DEVICE_FAMILY from the project to an xcconfig file.
Remove AppDelegate.* which were unused.
Exclude ios/Launch.storyboard on more platforms.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.h: Removed.
* WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.m: Removed.
(-[AppDelegate application:didFinishLaunchingWithOptions:]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 11 Aug 2016 20:49:32 +0000 (20:49 +0000)]
Rebaseline more iOS tests after r204363.
Unreviewed test gardening.
* fast/events/ios/keyboard-scrolling-distance-expected.txt:
* fast/events/ios/keyboard-should-not-trigger-resize-expected.txt:
* fast/forms/ios/accessory-bar-navigation-expected.txt:
* fast/forms/ios/focus-input-in-fixed-expected.txt:
* fast/forms/ios/focus-input-in-iframe-expected.txt:
* fast/forms/ios/focus-input-via-button-expected.txt:
* fast/forms/ios/focus-input-via-button-ipad-expected.txt:
* fast/forms/ios/focus-input-via-button-no-scaling-expected.txt:
* fast/forms/ios/focus-long-textarea-expected.txt:
* fast/forms/ios/zoom-after-input-tap-expected.txt:
* fast/forms/ios/zoom-after-input-tap-wide-input-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 11 Aug 2016 20:21:25 +0000 (20:21 +0000)]
Fix Yosemite bots' cookie accept policies after r204365.
https://bugs.webkit.org/show_bug.cgi?id=160758
* TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm:
(TEST):
This makes the test fully clean up after itself.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 11 Aug 2016 20:20:05 +0000 (20:20 +0000)]
Fix Yosemite bots' cookie accept policies after r204365.
https://bugs.webkit.org/show_bug.cgi?id=160758
* TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm:
(TEST):
I didn't restore the cookieAcceptPolicy of the sharedHTTPCookieStorage after changing it with this API test.
On Yosemite, this is changing the cookieAcceptPolicy that DumpRenderTree uses.
On more recent Cocoa platforms, it is only changing the cookieAcceptPolicy that TestWebKitAPI uses, which isn't
causing any problems because there are no other API tests that do anything with cookies.
My solution will be to restore the original cookieAcceptPolicy after running this API test to clean up,
but first I am committing this patch setting the cookieAcceptPolicy to NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain
to reset any bots that have run tests since r204365. I will commit a followup that sets it to originalCookieAcceptPolicy.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Thu, 11 Aug 2016 19:45:13 +0000 (19:45 +0000)]
EWS should check if the patch is still valid before executing every major step
https://bugs.webkit.org/show_bug.cgi?id=160739
rdar://problem/
27768813
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/tool/bot/commitqueuetask.py:
(CommitQueueTask.run): validate method is now executed in base class.
* Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
(EarlyWarningSystemTask.run): validate method is now executed in base class.
* Scripts/webkitpy/tool/bot/stylequeuetask.py:
(StyleQueueTask.validate): Raise an PatchIsNotValid exception instead of returning False.
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTask._run_command): validate the patch before executing any command. This is to ensure
that we do not waste time on any patch which has become invalid (e.g.: obsolete, r-).
* Scripts/webkitpy/tool/commands/perfalizer.py:
(PerfalizerTask.validate): Added.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(test_manual_reject_during_processing): Updated test case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 11 Aug 2016 19:22:26 +0000 (19:22 +0000)]
Regression(r204268): Mail crashes when trying to compose an email
https://bugs.webkit.org/show_bug.cgi?id=160775
Reviewed by Anders Carlsson.
Properly initialize PageConfiguration.pluginInfoProvider in
[WebView initSimpleHTMLDocumentWithStyle] to avoid a null
dereference in Mail when trying to compose an email.
* WebView/WebView.mm:
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 11 Aug 2016 19:09:39 +0000 (19:09 +0000)]
Add URLParser stub
https://bugs.webkit.org/show_bug.cgi?id=160770
Reviewed by Sam Weinig.
Source/WebCore:
Added API test stub.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/URL.h:
* platform/URLParser.cpp: Added.
(WebCore::URLParser::parse):
* platform/URLParser.h: Added.
(WebCore::URLParser::parse):
Tools:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/URLParser.cpp: Added.
(TestWebKitAPI::TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 11 Aug 2016 18:39:26 +0000 (18:39 +0000)]
Add NSButtonType to AppKitCompatibilityDeclarations.h.
https://bugs.webkit.org/show_bug.cgi?id=160767.
Patch by Maureen Daum <mdaum@apple.com> on 2016-08-11
Reviewed by Dan Bernstein.
Add NSButtonType to AppKitCompatibilityDeclarations.h so that we can use the new
names but still build successfully on older OS versions.
* wtf/mac/AppKitCompatibilityDeclarations.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 11 Aug 2016 18:14:05 +0000 (18:14 +0000)]
[iOS DRT] Allow DRT to be iPad-sized in the iPad simulator
https://bugs.webkit.org/show_bug.cgi?id=160761
Reviewed by Tim Horton.
Give iOS DRT a Launch storyboard.
Have it use a UIViewController so future forms testing works correctly.
Add TARGETED_DEVICE_FAMILY = "1,2" to the build settings for the .app, so that it
can run in iPad mode.
Remove empty InfoPlist.strings files.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/ios/Info.plist:
* DumpRenderTree/ios/Launch.storyboard: Added.
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/WebKitTestRunnerApp/en.lproj/InfoPlist.strings: Removed.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::PlatformWebView): Drive-by leak fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 11 Aug 2016 17:48:57 +0000 (17:48 +0000)]
Move dataset attribute from Element to HTMLElement / SVGElement
https://bugs.webkit.org/show_bug.cgi?id=160766
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
* web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Move dataset attribute from Element to HTMLElement / SVGElement as per
the specifications:
- https://html.spec.whatwg.org/multipage/dom.html#htmlelement
- https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement
Firefox and Chrome seem to have dataset on HTMLElement but not on
SVGElement (yet).
No new tests, rebaselined existing test.
* dom/Element.idl:
* html/HTMLElement.idl:
* svg/SVGElement.idl:
LayoutTests:
Rebaseline existing tests now that properties are in different order
when iterating.
* js/dom/dom-static-property-for-in-iteration-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Thu, 11 Aug 2016 17:42:27 +0000 (17:42 +0000)]
[Win] Unable to reliably run tests in parallel
https://bugs.webkit.org/show_bug.cgi?id=140914
Reviewed by Brent Fulgham.
The cygpath utility function can fail badly when running with multiple DumpRenderTree
processes. We can use string replacement to convert the Cygwin path to a Windows path
instead.
* Scripts/webkitpy/common/system/path.py:
(cygpathFast):
* Scripts/webkitpy/port/driver.py:
(Driver._command_from_driver_input):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Thu, 11 Aug 2016 16:34:23 +0000 (16:34 +0000)]
Unreviewed, update MediaRemoteSPI.h after r204082.
* platform/spi/mac/MediaRemoteSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 11 Aug 2016 13:55:02 +0000 (13:55 +0000)]
Unskip 2d.gradient.interpolate.colouralpha on macOS Sierra
https://bugs.webkit.org/show_bug.cgi?id=160765
<rdar://problem/
24025664>
Patch by Antoine Quint <graouts@apple.com> on 2016-08-11
Reviewed by Eric Carlson.
We fixed the tests in https://bugs.webkit.org/show_bug.cgi?id=160689 but forgot to unskip them.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Thu, 11 Aug 2016 12:02:42 +0000 (12:02 +0000)]
[Win] Warning fix.
https://bugs.webkit.org/show_bug.cgi?id=160734
Reviewed by Sam Weinig.
Add static cast from int to uint32_t.
* bytecode/ArithProfile.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Thu, 11 Aug 2016 11:26:52 +0000 (11:26 +0000)]
[GTK] German translation update
https://bugs.webkit.org/show_bug.cgi?id=152228
Rubber-Stamped by Michael Catanzaro.
Patch by Bernd Homuth <dev@hmt.im> on 2016-08-11
* de.po: Update to reviewed translation from 2016-08-05.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204372
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 11 Aug 2016 10:22:06 +0000 (10:22 +0000)]
Test 2d.gradient.interpolate.colouralpha.html is broken on macOS Sierra
https://bugs.webkit.org/show_bug.cgi?id=160689
<rdar://problem/
24025664>
Patch by Antoine Quint <graouts@apple.com> on 2016-08-11
Reviewed by Dean Jackson.
When the test samples 25th pixel it expect the value to be exactly 25% interpolation of the color values.
However, the sampling location is the center of the pixel, i.e. it should correspond to 25.5% interpolation,
which would expect the color of (189.975, 189.75, 65.25, 65.25). The new values are a rounded values of
interpolation “by hand” at steps of 25.5%, 50.5% and 75.5%.
LayoutTests/imported/w3c:
* canvas/2d.gradient.interpolate.colouralpha.html:
LayoutTests:
* canvas/philip/tests/2d.gradient.interpolate.colouralpha.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 11 Aug 2016 03:35:01 +0000 (03:35 +0000)]
Web Inspector: Should be able to Edit Node Attributes and Styles for non-UserAgent Shadow DOM nodes
https://bugs.webkit.org/show_bug.cgi?id=160762
<rdar://problem/
27798271>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-10
Reviewed by Ryosuke Niwa.
Source/WebCore:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::assertEditableNode):
(WebCore::InspectorDOMAgent::assertEditableElement):
* inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::addInspectedNode):
Allow editing shadow DOM nodes as long as they are not in a UserAgent shadow tree.
Source/WebInspectorUI:
* UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode.prototype.isInUserAgentShadowTree):
(WebInspector.DOMNode.prototype.isShadowRoot):
(WebInspector.DOMNode.prototype.isUserAgentShadowRoot):
(WebInspector.DOMNode.prototype.ancestorShadowRoot):
(WebInspector.DOMNode.prototype.ancestorShadowHost):
Add methods for determining the shadow root, host, and easily
checking the type of shadow tree a node is in.
* UserInterface/Models/CSSStyleDeclaration.js:
(WebInspector.CSSStyleDeclaration.prototype.get editable):
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype.get editable):
(WebInspector.DOMTreeElement.prototype._startEditingTarget):
(WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
* UserInterface/Views/VisualStyleSelectorSection.js:
(WebInspector.VisualStyleSelectorSection.prototype._addNewRule):
Allow editing shadow DOM nodes as long as they are not in a UserAgent shadow tree.
* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._populateContextMenu):
Disallow "Log Element" on UserAgent shadow tree nodes.
LayoutTests:
* inspector/dom/shadowRootType-expected.txt:
* inspector/dom/shadowRootType.html:
Add tests for DOMNode.prototype.isInUserAgentShadowTree.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204370
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 11 Aug 2016 03:26:55 +0000 (03:26 +0000)]
Pull in recent upstream web-platform-tests changes for dom/ and html/
https://bugs.webkit.org/show_bug.cgi?id=160759
Reviewed by Alex Christensen.
* web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
* web-platform-tests/dom/events/EventTarget-dispatchEvent.html:
* web-platform-tests/dom/nodes/Document-Element-getElementsByTagName.js:
(test_getElementsByTagName):
* web-platform-tests/dom/nodes/Document-getElementsByTagName-expected.txt:
* web-platform-tests/dom/nodes/Element-getElementsByTagName-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204369
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 11 Aug 2016 02:21:42 +0000 (02:21 +0000)]
Optimization in Node.insertBefore() is not spec-compliant
https://bugs.webkit.org/show_bug.cgi?id=160746
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
* web-platform-tests/dom/ranges/Range-mutations-expected.txt:
Source/WebCore:
We have an optimization in Node.insertBefore(newNode, refChild) to avoid
doing any work when newNode == refChild or newNode.nextSibling == refChild.
This optimization is not in the specification:
- https://dom.spec.whatwg.org/#concept-node-replace
The issue is that this optimization is observable with DOM mutation
observers / listeners or DOM ranges.
This patch addresses the issue by dropping the optimization. This case
does not seem common enough to be worth optimizing for. However, if it
turns out to regress the performance of things we care about, we could
fallback to doing the optimization only when it is not observable.
Test: fast/dom/Node/insertBefore-no-op-mutationobserver.html
* dom/ContainerNode.cpp:
(WebCore::checkAcceptChild):
Move refChild->parent() == parent check from insertBefore() to our
pre-insertion check function, right after checking if newNode contains
parent. This was done in order to match more closely the specification
and to make sure that exception are thrown in the correct order:
- https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity (steps 2 and 3)
(WebCore::ContainerNode::insertBefore):
1. Drop the (refChild->previousSibling() == &newChild || refChild == &newChild)
optimization as it is not spc-compliant.
2. If refChild is newNode, then set refChild to newChild.nextSibling as per:
- https://dom.spec.whatwg.org/#concept-node-pre-insert (step 3)
LayoutTests:
Add layout test to make sure mutation observers / listeners are always
notified when Node.insertBefore() is called.
* fast/dom/Node/insertBefore-no-op-mutationobserver-expected.txt: Added.
* fast/dom/Node/insertBefore-no-op-mutationobserver.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204368
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 11 Aug 2016 02:08:17 +0000 (02:08 +0000)]
Move document.defineElement to customElements.define
https://bugs.webkit.org/show_bug.cgi?id=160731
Reviewed by Chris Dumez.
Source/WebCore:
Replaced Document.prototype.defineElement by CustomElementsRegistry.prototype.define to match
the latest HTML specification: https://html.spec.whatwg.org/#custom-elements-api
This patch renames the existing CustomElementDefinitions to CustomElementsRegistry and exposes
it on window.customElements. CustomElementDefinitions is now owned by DOMWindow instead of
Document to match the spec's new semantics.
No new tests. The existing tests have been updated to reflect the change.
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCustomElementsRegistryCustom.cpp: Added.
(WebCore::JSCustomElementsRegistry::define): Moved from JSDocumentCustom. Removed the check for
the existence of DOMWindow since CustomElementsRegistry is an attribute on DOMWindow itself.
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::defineElement): Deleted.
* bindings/js/JSHTMLElementCustom.cpp: Added the code to check the existence of DOMWindow since
the registry is associated with DOMWindow, not Document.
(WebCore::constructJSHTMLElement):
* dom/CustomElementsRegistry.cpp: Renamed from Source/WebCore/dom/CustomElementDefinitions.cpp.
(WebCore::CustomElementsRegistry::create): Added.
(WebCore::CustomElementsRegistry::CustomElementsRegistry): Added.
(WebCore::CustomElementsRegistry::~CustomElementsRegistry): Added.
(WebCore::CustomElementsRegistry::addElementDefinition): Moved from CustomElementDefinitions.
(WebCore::CustomElementsRegistry::addUpgradeCandidate): Ditto.
(WebCore::CustomElementsRegistry::findInterface): Ditto.
(WebCore::CustomElementsRegistry::containsConstructor): Ditto.
* dom/CustomElementsRegistry.h: Renamed from Source/WebCore/dom/CustomElementDefinitions.h.
* dom/CustomElementsRegistry.idl: Added.
* dom/Document.cpp:
(WebCore::createUpgradeCandidateElement): Extracted out of createHTMLElementWithNameValidation
and createFallbackHTMLElement to share code.
(WebCore::createHTMLElementWithNameValidation):
(WebCore::createFallbackHTMLElement): This function was missing a check for the runtime flag.
Sharing code with createHTMLElementWithNameValidation via createUpgradeCandidateElement fixes it.
(WebCore::Document::ensureCustomElementDefinitions): Deleted.
* dom/Document.h:
(WebCore::Document::customElementDefinitions): Deleted.
* dom/Document.idl:
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::ensureCustomElementsRegistry): Added. Moved from Document.
* page/DOMWindow.h:
* page/DOMWindow.idl: Added customElements on DOMWindow.
LayoutTests:
Updated the tests and their expected results to reflect the move of Document.prototype.defineElement to
CustomElementsRegistry.prototype.define. I'm going to rename tests in a follow up.
* fast/custom-elements/Document-createElement.html:
* fast/custom-elements/Document-defineElement-expected.txt:
* fast/custom-elements/Document-defineElement.html: Removed test cases for testing defining elements
in a viewless/windowless document since those documents don't have a corresponding window object.
* fast/custom-elements/HTMLElement-constructor.html:
* fast/custom-elements/attribute-changed-callback.html:
* fast/custom-elements/defined-pseudo-class.html:
* fast/custom-elements/defined-rule.html:
* fast/custom-elements/lifecycle-callback-timing.html:
* fast/custom-elements/parser/parser-constructs-custom-element-in-document-write.html:
* fast/custom-elements/parser/parser-constructs-custom-element-synchronously.html:
* fast/custom-elements/parser/parser-constructs-custom-elements-expected.txt:
* fast/custom-elements/parser/parser-constructs-custom-elements.html:
* fast/custom-elements/parser/parser-fallsback-to-unknown-element.html:
* fast/custom-elements/parser/parser-sets-attributes-and-children.html:
* fast/custom-elements/parser/parser-uses-constructed-element.html:
* fast/custom-elements/parser/parser-uses-registry-of-owner-document.html:
* fast/custom-elements/upgrading/Node-cloneNode.html:
* fast/custom-elements/upgrading/upgrading-parser-created-element.html:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 11 Aug 2016 01:22:34 +0000 (01:22 +0000)]
Fix WinCairo build after r204327.
* platform/network/NetworkStorageSessionStub.cpp:
(WebCore::NetworkStorageSession::ensurePrivateBrowsingSession): Renamed from create...
(WebCore::NetworkStorageSession::createPrivateBrowsingSession): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 11 Aug 2016 01:14:00 +0000 (01:14 +0000)]
Fix crash when changing cookie accept policy after r204327
https://bugs.webkit.org/show_bug.cgi?id=160758
Reviewed by Simon Fraser.
Source/WebKit2:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
Tools:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm: Added.
(-[CookieAcceptPolicyMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/CookieMessage.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 11 Aug 2016 00:09:41 +0000 (00:09 +0000)]
[iOS WK2] Have WebKitTestRunnerApp.app use a UIViewController, and fix to avoid the status bar
https://bugs.webkit.org/show_bug.cgi?id=160757
Reviewed by Tim Horton.
When programmatically creating the test UIWindow, make a root UIViewController and parent
the WKWebView in its view. This makes the app more like a normal UIKit application.
Move the WKWebView down 20px to avoid the status bar.
Give the UIWindow a gray background so it's obvious where the window and view positioned.
Sorted the project file. Removed the link to UIKit which showed red, and wasn't necessary.
Remove duplicate references to Launch.storyboard.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.h: Add license.
* WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.m: Add license.
(-[AppDelegate applicationWillResignActive:]): Deleted.
(-[AppDelegate applicationDidEnterBackground:]): Deleted.
(-[AppDelegate applicationWillEnterForeground:]): Deleted.
(-[AppDelegate applicationDidBecomeActive:]): Deleted.
(-[AppDelegate applicationWillTerminate:]): Deleted.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::viewRectForWindowRect):
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::setWindowFrame):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 11 Aug 2016 00:09:38 +0000 (00:09 +0000)]
[iOS WK2] Use the simulated device's screen size, rather than a harcoded size
https://bugs.webkit.org/show_bug.cgi?id=160748
Reviewed by Tim Horton.
Tools:
Use the main UIScreen's bounds for the window size if we're using a flexible viewport. This
opens the door for tests using other device sizes.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformConfigureViewForTest):
LayoutTests:
Move fast/viewport/ios skipping to ios-simulator-wk2/TestExpectations since the tests
are WK2-only.
* fast/viewport/ios/width-is-device-width-expected.txt:
* fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit-expected.txt:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt:
* platform/ios-simulator/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt:
* platform/ios-simulator/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt:
* platform/ios-simulator/fast/scrolling/ios/scrolling-content-clip-to-viewport-expected.txt:
* platform/ios-simulator/fast/scrolling/ios/touch-stacking-expected.txt:
* platform/ios-simulator/fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Wed, 10 Aug 2016 23:45:05 +0000 (23:45 +0000)]
Baseline GetByVal and PutByVal for cache ID stubs need to handle exceptions
https://bugs.webkit.org/show_bug.cgi?id=160749
Reviewed by Filip Pizlo.
JSTests:
New test that causes baseline GetByValWithCachedId and PutByValWithCachedId
stubs to be generated and then throws exceptions for those stub to handle
to verify that they are properly handled.
* stress/regress-160749.js: Added.
(testCachedGetByVal.):
(testCachedGetByVal.get for):
(testCachedGetByVal):
(testCachedPutByVal.):
(testCachedPutByVal.set for):
(testCachedPutByVal):
Source/JavaScriptCore:
We were emitting "callOperation()" calls in emitGetByValWithCachedId() and
emitPutByValWithCachedId() without linking the exception checks created by the
code emitted. This manifested itself in various ways depending on the processor.
This is due to what the destination is for an unlinked branch. On X86, an unlinked
branch goes tot he next instructions. On ARM64, we end up with an infinite loop
as we branch to the same instruction. On ARM we branch to 0 as the branch is to
an absolute address of 0.
Now we save the exception handler address for the original generated function and
link the exception cases for these by-val stubs to this handler.
* bytecode/ByValInfo.h:
(JSC::ByValInfo::ByValInfo): Added the address of the exception handler we should
link to.
* jit/JIT.cpp:
(JSC::JIT::link): Compute the linked exception handler address and pass it to
the ByValInfo constructor.
(JSC::JIT::privateCompileExceptionHandlers): Make sure that we generate the
exception handler if we have any by-val handlers.
* jit/JIT.h:
Added a label for the exception handler. We'll link this later for the
by value handlers.
* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompileGetByValWithCachedId):
(JSC::JIT::privateCompilePutByValWithCachedId):
Link exception branches to the exception handler for the main function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
n_wang@apple.com [Wed, 10 Aug 2016 23:30:24 +0000 (23:30 +0000)]
AX: Media controls timeline should have percentage value description
https://bugs.webkit.org/show_bug.cgi?id=160619
Reviewed by Eric Carlson.
Source/WebCore:
Added aria-valuetext attribute to the timeline slider and set its value to
the percentage format. Also formatted the elapsed/remaining timer's description
so that it's more human readable.
Test: http/tests/media/hls/video-duration-accessibility.html
* English.lproj/mediaControlsLocalizedStrings.js:
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.drawVolumeBackground):
(Controller.prototype.formatTimeDescription):
(Controller.prototype.formatTime):
(Controller.prototype.updateTime):
(Controller.prototype.updateControlsWhileScrubbing):
LayoutTests:
* http/tests/media/hls/video-duration-accessibility-expected.txt: Added.
* http/tests/media/hls/video-duration-accessibility.html: Added.
* http/tests/media/resources/hls/generate-vod.php: Added.
* media/media-controls-accessibility-expected.txt:
* platform/efl/accessibility/media-element-expected.txt:
* platform/gtk/accessibility/media-element-expected.txt:
* platform/mac/accessibility/media-element-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Wed, 10 Aug 2016 23:19:49 +0000 (23:19 +0000)]
DFG's flushForTerminal() needs to add PhantomLocals for bytecode live locals.
https://bugs.webkit.org/show_bug.cgi?id=160755
<rdar://problem/
27488507>
Reviewed by Filip Pizlo.
JSTests:
* stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js: Added.
Source/JavaScriptCore:
If the DFG sees that an inlined function will result in an OSR exit every time,
it will treat all downstream blocks as dead. However, it still needs to keep
locals that are alive in the bytecode alive for the compiled function so that
those locals are properly written to the stack by the OSR exit ramp.
The existing code neglected to do this. This patch remedies this issue.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::flushDirect):
(JSC::DFG::ByteCodeParser::addFlushOrPhantomLocal):
(JSC::DFG::ByteCodeParser::phantomLocalDirect):
(JSC::DFG::ByteCodeParser::flushForTerminal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 10 Aug 2016 22:37:47 +0000 (22:37 +0000)]
Revert back to the old style member function state machine for callbacks
https://bugs.webkit.org/show_bug.cgi?id=160756
Reviewed by Tim Horton.
This is another step towards merging SQLTransactionBackend and SQLTransaction,
and using a single state machine for both sides.
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::scheduleCallback):
(WebCore::SQLTransaction::openTransactionAndPreflight):
(WebCore::SQLTransaction::runCurrentStatement):
(WebCore::SQLTransaction::handleCurrentStatementError):
(WebCore::SQLTransaction::handleTransactionError):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::debugStepName):
* Modules/webdatabase/SQLTransaction.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gskachkov@gmail.com [Wed, 10 Aug 2016 22:32:48 +0000 (22:32 +0000)]
[ES2016] Implement Object.values
https://bugs.webkit.org/show_bug.cgi?id=160410
Reviewed by Saam Baraty, Yusuke Suzuki.
This patch adds values function to Object that return list of
own values of the object. Patch did according to the point of
spec http://tc39.github.io/ecma262/#sec-object.values
Also patch adds generic builtin intrinsic constants:
@IterationKindKey/@IterationKindValue/@IterationKindKeyValue
that is used in EnumerableOwnProperties to set Kind of operation
and replace own IterationKind enums in following iterators:
ArrayIterator, MapIterator, and SetIterator
Source/JavaScriptCore:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/ObjectConstructor.js:
(globalPrivate.enumerableOwnProperties):
(values):
* bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
* bytecode/BytecodeIntrinsicRegistry.h:
* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::getInternalProperties):
* runtime/ArrayIteratorPrototype.h:
* runtime/IterationKind.h: Copied from Source/JavaScriptCore/builtins/ObjectConstructor.js.
* runtime/JSMapIterator.h:
(JSC::JSMapIterator::create):
(JSC::JSMapIterator::next):
(JSC::JSMapIterator::kind):
(JSC::JSMapIterator::JSMapIterator):
* runtime/JSSetIterator.h:
(JSC::JSSetIterator::create):
(JSC::JSSetIterator::next):
(JSC::JSSetIterator::kind):
(JSC::JSSetIterator::JSSetIterator):
* runtime/MapPrototype.cpp:
(JSC::mapProtoFuncValues):
(JSC::mapProtoFuncEntries):
(JSC::mapProtoFuncKeys):
(JSC::privateFuncMapIterator):
* runtime/ObjectConstructor.cpp:
* runtime/SetPrototype.cpp:
(JSC::setProtoFuncValues):
(JSC::setProtoFuncEntries):
(JSC::privateFuncSetIterator):
Source/WebCore:
* ForwardingHeaders/runtime/IterationKind.h: Added.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
JSTests:
* stress/object-values.js: Added.
(compare):
(string_appeared_here.forEach):
(const.getInvokedFunctions.):
(const.getInvokedFunctions):
(Array.prototype.push):
LayoutTests:
* js/Object-getOwnPropertyNames-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 10 Aug 2016 21:54:29 +0000 (21:54 +0000)]
Move more functions to from SQLTransactionBackend to SQLTransaction
https://bugs.webkit.org/show_bug.cgi?id=160752
Reviewed by Tim Horton.
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::acquireLock):
(WebCore::SQLTransaction::openTransactionAndPreflight):
(WebCore::SQLTransaction::runStatements):
(WebCore::SQLTransaction::cleanupAndTerminate):
(WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
* Modules/webdatabase/SQLTransaction.h:
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::acquireLock):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::runStatements):
(WebCore::SQLTransactionBackend::cleanupAndTerminate):
(WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 10 Aug 2016 21:31:07 +0000 (21:31 +0000)]
Begin moving member functions from SQLTransactionBackend to SQLTransaction
https://bugs.webkit.org/show_bug.cgi?id=160747
Reviewed by Tim Horton.
* Modules/webdatabase/Database.cpp:
(WebCore::Database::performClose):
* Modules/webdatabase/DatabaseTask.cpp:
(WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
(WebCore::DatabaseTransactionTask::doPerformTask):
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::executeSQL):
(WebCore::SQLTransaction::lockAcquired):
(WebCore::SQLTransaction::performNextStep):
(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
(WebCore::SQLTransaction::enqueueStatement):
(WebCore::SQLTransaction::getNextStatement):
(WebCore::SQLTransaction::runCurrentStatement):
(WebCore::SQLTransaction::handleCurrentStatementError):
(WebCore::SQLTransaction::handleTransactionError):
(WebCore::SQLTransaction::postflightAndCommit):
(WebCore::SQLTransaction::acquireOriginLock):
(WebCore::SQLTransaction::releaseOriginLockIfNeeded):
* Modules/webdatabase/SQLTransaction.h:
(WebCore::SQLTransaction::backend): Deleted.
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::runStatements):
(WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
(WebCore::SQLTransactionBackend::enqueueStatement): Deleted.
(WebCore::SQLTransactionBackend::performNextStep): Deleted.
(WebCore::SQLTransactionBackend::executeSQL): Deleted.
(WebCore::SQLTransactionBackend::lockAcquired): Deleted.
(WebCore::SQLTransactionBackend::getNextStatement): Deleted.
(WebCore::SQLTransactionBackend::runCurrentStatement): Deleted.
(WebCore::SQLTransactionBackend::handleCurrentStatementError): Deleted.
(WebCore::SQLTransactionBackend::handleTransactionError): Deleted.
(WebCore::SQLTransactionBackend::postflightAndCommit): Deleted.
(WebCore::SQLTransactionBackend::acquireOriginLock): Deleted.
(WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded): Deleted.
* Modules/webdatabase/SQLTransactionBackend.h:
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::SQLTransactionCoordinator::processPendingTransactions):
(WebCore::SQLTransactionCoordinator::shutdown):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 10 Aug 2016 21:25:28 +0000 (21:25 +0000)]
[JSC] Speed up SparseCollection & related maps
https://bugs.webkit.org/show_bug.cgi?id=160733
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-10
Reviewed by Saam Barati.
On MBA, Graph::addNode() shows up in profiles due to SparseCollection::add().
This is unfortunate.
The first improvement is to build the new unique_ptr in the empty slot
instead of moving a new value into it.
Previously, the code would load the previous value, test if it is null
then invoke the destructor and finally fastFree(). The initial test
obviously fails so that's a whole bunch of code that is never executed.
With the new code, we just have a store.
I also removed the bounds checking on our maps based on node index.
Those bounds checks are never eliminated by clang because the index
is always loaded from memory instead of being computed.
There are unfortunately too many nodes processed and the bounds checks
get costly.
* b3/B3SparseCollection.h:
(JSC::B3::SparseCollection::add):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::abstractValuesCache):
* dfg/DFGInPlaceAbstractState.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 10 Aug 2016 21:23:20 +0000 (21:23 +0000)]
[JSC] TinyPtrSet::deleteListIfNecessary() no longer needs to test for reservedValue
https://bugs.webkit.org/show_bug.cgi?id=160721
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-10
Reviewed by Sam Weinig.
Previously, TinyPtrSet was using a ThinFlag if there was no OutOfLineList.
A side effect is that isThin() was false for reservedValue. When deleting
the list, we had to consider both cases: isThin() and reservedValue.
In r204065, I changed the flag to a FatFlag to ensure TinyPtrSet can be initialized
with bzero().
This changes the value of isThin() of reservedValue to true since reservedValue
does not have the FatFlag bit set.
This patch removes the useless condition from deleteListIfNecessary().
* wtf/TinyPtrSet.h:
(WTF::TinyPtrSet::deleteListIfNecessary):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Wed, 10 Aug 2016 21:20:47 +0000 (21:20 +0000)]
Web Inspector: rebase inspector/model/remote-object-get-properties.html and unskip
https://bugs.webkit.org/show_bug.cgi?id=160738
<rdar://problem/
27788116>
Reviewed by Joseph Pecoraro.
* TestExpectations:
* inspector/model/remote-object-get-properties-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 10 Aug 2016 21:19:03 +0000 (21:19 +0000)]
[JSC] Remove some useless code I left when rewriting CSE's large maps
https://bugs.webkit.org/show_bug.cgi?id=160720
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-10
Reviewed by Michael Saboff.
* dfg/DFGCSEPhase.cpp:
The maps m_worldMap && m_sideStateMap are useless. They come from the previous
iteration that had weaker constraints.
Also move m_heapMap after m_fallbackStackMap since that is the order
in which they are used in the algorithm.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 10 Aug 2016 21:15:18 +0000 (21:15 +0000)]
Remove AbstractInterpreter::executeEdges(unsigned), it is no longer used anywhere
https://bugs.webkit.org/show_bug.cgi?id=160708
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-10
Reviewed by Mark Lam.
* dfg/DFGAbstractInterpreter.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEdges): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 10 Aug 2016 21:00:02 +0000 (21:00 +0000)]
Marking http/tests/fetch/fetch-in-worker-crash.html as a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=160510
Unreviewed test gardening.
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 10 Aug 2016 20:30:14 +0000 (20:30 +0000)]
Move all SQLTransactionBackend member variables to SQLTransaction
https://bugs.webkit.org/show_bug.cgi?id=160745
Reviewed by Tim Horton.
* Modules/webdatabase/ChangeVersionWrapper.cpp:
(WebCore::ChangeVersionWrapper::performPreflight):
(WebCore::ChangeVersionWrapper::performPostflight):
(WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight):
* Modules/webdatabase/ChangeVersionWrapper.h:
(WebCore::ChangeVersionWrapper::sqlError): Deleted.
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::deliverStatementCallback):
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
(WebCore::SQLTransaction::hasCallback): Deleted.
(WebCore::SQLTransaction::hasSuccessCallback): Deleted.
(WebCore::SQLTransaction::hasErrorCallback): Deleted.
* Modules/webdatabase/SQLTransaction.h:
(WebCore::SQLTransaction::isReadOnly):
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::SQLTransactionBackend):
(WebCore::SQLTransactionBackend::~SQLTransactionBackend):
(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::enqueueStatement):
(WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
(WebCore::SQLTransactionBackend::executeSQL):
(WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
(WebCore::SQLTransactionBackend::acquireLock):
(WebCore::SQLTransactionBackend::lockAcquired):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::runStatements):
(WebCore::SQLTransactionBackend::getNextStatement):
(WebCore::SQLTransactionBackend::runCurrentStatement):
(WebCore::SQLTransactionBackend::handleCurrentStatementError):
(WebCore::SQLTransactionBackend::handleTransactionError):
(WebCore::SQLTransactionBackend::postflightAndCommit):
(WebCore::SQLTransactionBackend::cleanupAndTerminate):
(WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
(WebCore::SQLTransactionBackend::requestTransitToState):
(WebCore::SQLTransactionBackend::acquireOriginLock):
(WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded):
(WebCore::SQLTransactionBackend::currentStatement): Deleted.
(WebCore::SQLTransactionBackend::transactionError): Deleted.
(WebCore::SQLTransactionBackend::setShouldRetryCurrentStatement): Deleted.
(WebCore::SQLTransactionBackend::enqueueStatementBackend): Deleted.
* Modules/webdatabase/SQLTransactionBackend.h:
(WebCore::SQLTransactionBackend::database): Deleted.
(WebCore::SQLTransactionBackend::isReadOnly): Deleted.
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::SQLTransactionCoordinator::processPendingTransactions):
(WebCore::SQLTransactionCoordinator::releaseLock):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 10 Aug 2016 20:24:06 +0000 (20:24 +0000)]
Sort the project file.
* WebCore.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 10 Aug 2016 20:23:03 +0000 (20:23 +0000)]
Sort the feature flags in the FEATURE_DEFINES lines
https://bugs.webkit.org/show_bug.cgi?id=160742
Reviewed by Anders Carlsson.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
Tools:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 10 Aug 2016 20:21:40 +0000 (20:21 +0000)]
Add JS array sort test case
https://bugs.webkit.org/show_bug.cgi?id=160680
Incorporate a test case related to a improper JavaScript Array
sorting behavior. The actual bug was fixed more than a year ago,
as a side effect of Bug 144013, but no test case was provided.
* js/array-sort-crash-expected.txt: Added.
* js/array-sort-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bshafiei@apple.com [Wed, 10 Aug 2016 20:21:20 +0000 (20:21 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 10 Aug 2016 19:59:08 +0000 (19:59 +0000)]
Logging and other minor improvements to iOS webkitpy
https://bugs.webkit.org/show_bug.cgi?id=160722
Reviewed by Dan Bates.
Fix --debug-rwt-logging to log all the calls to simctl as well as device state information,
to make it easier to debug launching issues.
Have reset_preferences() reset the device, rather than just nuking the data
directory (which broke some versions of the simulator).
Make the Simulator.app launch in the background with open -g.
Wait for the simulator device to be in a known state in some more places.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.setup_test_run):
(IOSSimulatorPort._quit_ios_simulator):
(IOSSimulatorPort.clean_up_test_run):
(IOSSimulatorPort.setup_environ_for_server):
(IOSSimulatorPort.reset_preferences):
* Scripts/webkitpy/xcode/simulator.py:
(Device.create):
(Device.delete):
(Device):
(Device.reset):
(Simulator.wait_until_device_is_booted):
(Simulator.wait_until_device_is_in_state):
(Simulator):
(Simulator.delete_device):
(Simulator.reset_device):
(Simulator.lookup_or_create_device):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 10 Aug 2016 19:37:38 +0000 (19:37 +0000)]
Marking inspector/model/remote-object-get-properties.html as failing
https://bugs.webkit.org/show_bug.cgi?id=160738
Unreviewed test gardening.
* TestExpectations:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Wed, 10 Aug 2016 19:35:40 +0000 (19:35 +0000)]
Web Inspector: Can't click on the lower half of "S" icon in JavaScript Allocations timeline
https://bugs.webkit.org/show_bug.cgi?id=160743
<rdar://problem/
27790098>
Reviewed by Timothy Hatcher.
"S" icons are covered by .scroll-container, which has `z-index: calc(var(--z-index-resizer) + 1)`.
Set larger z-index on the "S" icons.
* UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css:
(.timeline-overview-graph.heap-allocations > img.snapshot):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 10 Aug 2016 18:41:33 +0000 (18:41 +0000)]
Make SQLTransactionBackend a member of SQLTransaction
https://bugs.webkit.org/show_bug.cgi?id=160741
Reviewed by Tim Horton.
This is another step towards merging SQLTransaction and SQLTransactionBackend.
* Modules/webdatabase/Database.cpp:
(WebCore::Database::performClose):
(WebCore::Database::scheduleTransaction):
(WebCore::Database::scheduleTransactionStep):
(WebCore::Database::runTransaction):
* Modules/webdatabase/Database.h:
* Modules/webdatabase/DatabaseTask.cpp:
(WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
(WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
(WebCore::DatabaseTransactionTask::doPerformTask):
* Modules/webdatabase/DatabaseTask.h:
(WebCore::DatabaseTransactionTask::transaction):
* Modules/webdatabase/DatabaseThread.cpp:
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::SQLTransaction):
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::deliverStatementCallback):
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
(WebCore::SQLTransaction::deliverSuccessCallback):
(WebCore::SQLTransaction::executeSQL):
(WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):
(WebCore::SQLTransaction::setBackend): Deleted.
* Modules/webdatabase/SQLTransaction.h:
(WebCore::SQLTransaction::backend):
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::SQLTransactionBackend):
(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
(WebCore::SQLTransactionBackend::acquireLock):
(WebCore::SQLTransactionBackend::lockAcquired):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::runCurrentStatement):
(WebCore::SQLTransactionBackend::handleCurrentStatementError):
(WebCore::SQLTransactionBackend::handleTransactionError):
(WebCore::SQLTransactionBackend::postflightAndCommit):
(WebCore::SQLTransactionBackend::requestTransitToState):
(WebCore::SQLTransactionBackend::create): Deleted.
* Modules/webdatabase/SQLTransactionBackend.h:
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::getDatabaseIdentifier):
(WebCore::SQLTransactionCoordinator::processPendingTransactions):
(WebCore::SQLTransactionCoordinator::acquireLock):
(WebCore::SQLTransactionCoordinator::releaseLock):
(WebCore::SQLTransactionCoordinator::shutdown):
* Modules/webdatabase/SQLTransactionCoordinator.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 10 Aug 2016 17:37:49 +0000 (17:37 +0000)]
child-transform-with-anchor-point-expected.html renders incorrectly
https://bugs.webkit.org/show_bug.cgi?id=160616
Reviewed by Zalan Bujtas.
Source/WebCore:
If a layer has perspective, we need to ensure that its bounds don't collapse to 0x0 when clipped out,
otherwise the sublayerTransform geometry gets messed up.
Test: compositing/geometry/clipped-out-perspective.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
LayoutTests:
* compositing/geometry/clipped-out-perspective-expected.html: Added.
* compositing/geometry/clipped-out-perspective.html: Added.
* compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: Rebaseline.
* platform/mac-wk1/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Wed, 10 Aug 2016 17:32:15 +0000 (17:32 +0000)]
Remove support for array types in IDLs
https://bugs.webkit.org/show_bug.cgi?id=160729
Reviewed by Anders Carlsson.
Array types have been removed from WebIDL in favor of sequence<> and FrozenArray<>.
- Replace all current uses of Array types with sequences. This causes
no functional change.
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorGObject.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/IDLParser.pm:
Remove array support from the generators.
* Modules/gamepad/Gamepad.idl:
* Modules/gamepad/NavigatorGamepad.idl:
* Modules/gamepad/deprecated/Gamepad.idl:
* Modules/mediacontrols/MediaControlsHost.idl:
* Modules/mediastream/MediaStream.idl:
* Modules/mediastream/MediaTrackConstraints.idl:
* Modules/mediastream/RTCConfiguration.idl:
* Modules/mediastream/RTCIceServer.idl:
* Modules/mediastream/RTCTrackEvent.idl:
* crypto/CryptoKey.idl:
* dom/MessageEvent.idl:
* testing/Internals.idl:
Switch from array to sequence.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Wed, 10 Aug 2016 17:19:31 +0000 (17:19 +0000)]
Unreviewed. Skip a JSC test that's timing out and an inspector test that needs to be rebased after r204321
* TestExpectations:
* js/regress/script-tests/bound-function-construction-performance.js:
(makeBoundFunc):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 10 Aug 2016 17:05:49 +0000 (17:05 +0000)]
Use unsigned for locations in URL
https://bugs.webkit.org/show_bug.cgi?id=160706
Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-10
Reviewed by Sam Weinig.
No change in behavior.
* platform/URL.cpp:
(WebCore::isSchemeFirstChar):
(WebCore::findFirstOf):
(WebCore::checkEncodedString):
(WebCore::URL::host):
(WebCore::URL::protocolIs):
(WebCore::URL::setPort):
(WebCore::URL::setUser):
(WebCore::URL::setPass):
(WebCore::escapeAndAppendNonHierarchicalPart):
(WebCore::copyPathRemovingDots):
(WebCore::URL::serialize):
(WebCore::isDefaultPortForScheme):
(WebCore::hostPortIsEmptyButCredentialsArePresent):
(WebCore::URL::parse):
(WebCore::protocolHostAndPortAreEqual):
(WebCore::hostsAreEqual):
(WebCore::protocolIs):
(WebCore::findHostnamesInMailToURL):
(WebCore::findHostnameInHierarchicalURL):
(WebCore::encodeHostnames):
(WebCore::encodeRelativeString):
* platform/URL.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 10 Aug 2016 16:47:12 +0000 (16:47 +0000)]
Move SQLTransactionBackend construction inside SQLTransaction
https://bugs.webkit.org/show_bug.cgi?id=160726
Reviewed by Tim Horton.
This is the first step towards re-merging SQLTransactionBackend and SQLTransaction and clean up the code.
* Modules/webdatabase/ChangeVersionWrapper.cpp:
* Modules/webdatabase/ChangeVersionWrapper.h:
* Modules/webdatabase/Database.cpp:
(WebCore::Database::performClose):
(WebCore::Database::scheduleTransactionStep):
(WebCore::Database::changeVersion):
(WebCore::Database::transaction):
(WebCore::Database::readTransaction):
(WebCore::Database::runTransaction):
* Modules/webdatabase/Database.h:
* Modules/webdatabase/DatabaseTask.cpp:
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::create):
(WebCore::SQLTransaction::SQLTransaction):
* Modules/webdatabase/SQLTransaction.h:
(WebCore::SQLTransactionWrapper::~SQLTransactionWrapper):
(WebCore::SQLTransaction::backend):
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::lockAcquired):
(WebCore::SQLTransactionBackend::requestTransitToState):
* Modules/webdatabase/SQLTransactionBackend.h:
(WebCore::SQLTransactionWrapper::~SQLTransactionWrapper): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Wed, 10 Aug 2016 15:57:10 +0000 (15:57 +0000)]
[GTK][EFL] ALSA_CARD environment variable is not passed for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=160697
Reviewed by Antonio Gomes.
* Scripts/webkitpy/port/base.py:
(Port.to.setup_environ_for_server): Add ALSA_CARD and sort the Linux
list of environment variables to copy.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 10 Aug 2016 14:49:20 +0000 (14:49 +0000)]
It should be possible to re-initialize a MutationEvent after it's been dispatched
https://bugs.webkit.org/show_bug.cgi?id=160703
Reviewed by Sam Weinig.
Source/WebCore:
It should be possible to re-initialize a MutationEvent after it's been dispatched,
similarly to Event:
- https://www.w3.org/TR/2015/WD-uievents-
20151215/#widl-MutationEvent-initMutationEvent
Test: fast/events/initMutationEvent-after-dispatch.html
* dom/MutationEvent.cpp:
(WebCore::MutationEvent::initMutationEvent):
LayoutTests:
Add layout test coverage.
* fast/events/initMutationEvent-after-dispatch-expected.txt: Added.
* fast/events/initMutationEvent-after-dispatch.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Wed, 10 Aug 2016 08:37:06 +0000 (08:37 +0000)]
[ES6] Add ModuleLoaderPrototype and move methods to it
https://bugs.webkit.org/show_bug.cgi?id=160633
Reviewed by Saam Barati.
Source/JavaScriptCore:
In the future, we need to add the ability to create the new Loader object (by users).
So rather than holding all the methods in the ModuleLoaderObject instance, moving them
to ModuleLoaderPrototype and create the default JSModuleLoader instance is better.
No behavior change.
* CMakeLists.txt:
* DerivedSources.make:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/ModuleLoaderObject.js:
(setStateToMax): Deleted.
(newRegistryEntry): Deleted.
(ensureRegistered): Deleted.
(forceFulfillPromise): Deleted.
(fulfillFetch): Deleted.
(fulfillTranslate): Deleted.
(fulfillInstantiate): Deleted.
(commitInstantiated): Deleted.
(instantiation): Deleted.
(requestFetch): Deleted.
(requestTranslate): Deleted.
(requestInstantiate): Deleted.
(requestResolveDependencies.): Deleted.
(requestResolveDependencies): Deleted.
(requestInstantiateAll): Deleted.
(requestLink): Deleted.
(requestReady): Deleted.
(link): Deleted.
(moduleEvaluation): Deleted.
(provide): Deleted.
(loadAndEvaluateModule): Deleted.
(loadModule): Deleted.
(linkAndEvaluateModule): Deleted.
* builtins/ModuleLoaderPrototype.js: Renamed from Source/JavaScriptCore/builtins/ModuleLoaderObject.js.
(setStateToMax):
(newRegistryEntry):
(ensureRegistered):
(forceFulfillPromise):
(fulfillFetch):
(fulfillTranslate):
(fulfillInstantiate):
(commitInstantiated):
(instantiation):
(requestFetch):
(requestTranslate):
(requestInstantiate):
(requestResolveDependencies.):
(requestResolveDependencies):
(requestInstantiateAll):
(requestLink):
(requestReady):
(link):
(moduleEvaluation):
(provide):
(loadAndEvaluateModule):
(loadModule):
(linkAndEvaluateModule):
* bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
* jsc.cpp:
(GlobalObject::moduleLoaderResolve):
(GlobalObject::moduleLoaderFetch):
* runtime/Completion.cpp:
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::moduleLoader):
(JSC::JSGlobalObject::moduleLoaderStructure):
* runtime/JSModuleLoader.cpp: Added.
(JSC::JSModuleLoader::JSModuleLoader):
(JSC::JSModuleLoader::finishCreation):
(JSC::printableModuleKey):
(JSC::JSModuleLoader::provide):
(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::resolve):
(JSC::JSModuleLoader::fetch):
(JSC::JSModuleLoader::translate):
(JSC::JSModuleLoader::instantiate):
(JSC::JSModuleLoader::evaluate):
* runtime/JSModuleLoader.h: Copied from Source/JavaScriptCore/runtime/ModuleLoaderObject.h.
(JSC::JSModuleLoader::create):
(JSC::JSModuleLoader::createStructure):
* runtime/JSModuleRecord.h:
* runtime/ModuleLoaderObject.cpp: Removed.
(JSC::ModuleLoaderObject::ModuleLoaderObject): Deleted.
(JSC::ModuleLoaderObject::finishCreation): Deleted.
(JSC::printableModuleKey): Deleted.
(JSC::ModuleLoaderObject::provide): Deleted.
(JSC::ModuleLoaderObject::loadAndEvaluateModule): Deleted.
(JSC::ModuleLoaderObject::loadModule): Deleted.
(JSC::ModuleLoaderObject::linkAndEvaluateModule): Deleted.
(JSC::ModuleLoaderObject::resolve): Deleted.
(JSC::ModuleLoaderObject::fetch): Deleted.
(JSC::ModuleLoaderObject::translate): Deleted.
(JSC::ModuleLoaderObject::instantiate): Deleted.
(JSC::ModuleLoaderObject::evaluate): Deleted.
(JSC::moduleLoaderObjectParseModule): Deleted.
(JSC::moduleLoaderObjectRequestedModules): Deleted.
(JSC::moduleLoaderObjectModuleDeclarationInstantiation): Deleted.
(JSC::moduleLoaderObjectResolve): Deleted.
(JSC::moduleLoaderObjectFetch): Deleted.
(JSC::moduleLoaderObjectTranslate): Deleted.
(JSC::moduleLoaderObjectInstantiate): Deleted.
(JSC::moduleLoaderObjectEvaluate): Deleted.
* runtime/ModuleLoaderObject.h:
(JSC::ModuleLoaderObject::create): Deleted.
(JSC::ModuleLoaderObject::createStructure): Deleted.
* runtime/ModuleLoaderPrototype.cpp: Added.
(JSC::ModuleLoaderPrototype::ModuleLoaderPrototype):
(JSC::moduleLoaderPrototypeParseModule):
(JSC::moduleLoaderPrototypeRequestedModules):
(JSC::moduleLoaderPrototypeModuleDeclarationInstantiation):
(JSC::moduleLoaderPrototypeResolve):
(JSC::moduleLoaderPrototypeFetch):
(JSC::moduleLoaderPrototypeTranslate):
(JSC::moduleLoaderPrototypeInstantiate):
(JSC::moduleLoaderPrototypeEvaluate):
* runtime/ModuleLoaderPrototype.h: Renamed from Source/JavaScriptCore/runtime/ModuleLoaderObject.h.
(JSC::ModuleLoaderPrototype::create):
(JSC::ModuleLoaderPrototype::createStructure):
Source/WebCore:
No behavior change.
* ForwardingHeaders/runtime/JSModuleLoader.h: Added.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::moduleLoaderResolve):
(WebCore::JSDOMWindowBase::moduleLoaderFetch):
(WebCore::JSDOMWindowBase::moduleLoaderEvaluate):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSModuleLoader.cpp:
(WebCore::JSModuleLoader::resolve):
(WebCore::JSModuleLoader::fetch):
(WebCore::JSModuleLoader::evaluate):
* bindings/js/JSModuleLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc