rniwa@webkit.org [Fri, 5 Aug 2016 20:19:27 +0000 (20:19 +0000)]
MeasurementCluster's addToSeries is slow
https://bugs.webkit.org/show_bug.cgi?id=160581
Rubber-stamped by Chris Dumez.
The bulk of time was spent in MeasurementAdaptor.prototype.applyTo where we computed the interval.
Since some of data points are filtered out by TimeSeriesChart component before intervals are used,
we can significantly reduce the CPU time by lazily compute them. This patch reduces the runtime of
applyTo from ~60ms to ~30ms on my machine.
* public/v3/models/measurement-adaptor.js:
(MeasurementAdaptor.prototype.applyTo): Lazily compute and cache the interval. Also cache the build
object instead of always creating a new object.
* public/v3/models/measurement-cluster.js:
(MeasurementCluster.prototype.addToSeries): Call applyTo first before checking whether the point is
an outlier or its id to avoid extracting those values twice since they show up in the profiler. Also
use "of" instead "forEach" since "of" seems to be faster here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204187
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 5 Aug 2016 19:38:18 +0000 (19:38 +0000)]
validity assertion fails after removing a child of an <optgroup> element
https://bugs.webkit.org/show_bug.cgi?id=155720
<rdar://problem/
27720746>
Reviewed by Brent Fulgham.
Source/WebCore:
All calls to HTMLSelectElement::setRecalcListItems also need to call HTMLSelectElement::updateValidity.
Test: fast/dom/HTMLSelectElement/select-remove-from-optgroup.html
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::recalcSelectOptions): Call 'updateValidity' after 'setRecalcListItems'.
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::insertedInto): Ditto.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::parseAttribute): Ditto.
LayoutTests:
Add new test case that triggers a debug assertion when the HTMLSelectElement state
is not updated properly.
* fast/dom/HTMLSelectElement/select-remove-from-optgroup-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-remove-from-optgroup.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204186
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Fri, 5 Aug 2016 19:16:55 +0000 (19:16 +0000)]
Unreviewed, rolling out r204174.
The test for this change is failing on WK1
Reverted changeset:
"Popups opened from a sandboxed iframe should themselves be
sandboxed"
https://bugs.webkit.org/show_bug.cgi?id=134850
http://trac.webkit.org/changeset/204174
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Fri, 5 Aug 2016 19:16:34 +0000 (19:16 +0000)]
Fixing tests failing after r204175.
Unreviewed.
* TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204183
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Fri, 5 Aug 2016 19:16:28 +0000 (19:16 +0000)]
Assertion failure when accessing TDZ variable in catch through eval
https://bugs.webkit.org/show_bug.cgi?id=160554
Reviewed by Mark Lam and Keith Miller.
JSTests:
* stress/catch-variables-under-tdz.js: Added.
(test):
Source/JavaScriptCore:
When we were calculating the variables under TDZ from a JSScope,
the algorithm was not taking into account that a catch scope
has variables under TDZ.
* runtime/JSScope.cpp:
(JSC::JSScope::collectVariablesUnderTDZ):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204182
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wilander@apple.com [Fri, 5 Aug 2016 18:57:13 +0000 (18:57 +0000)]
Don't set document.domain to an IP address fragment
https://bugs.webkit.org/show_bug.cgi?id=126045
<rdar://problem/
27331794>
Reviewed by Daniel Bates.
Source/WebCore:
This patch matches the following Blink one:
https://chromium.googlesource.com/chromium/blink/+/
b19a57fdb323d5a80d3a1cb0a6b343558c4237b0
IP address octets should not be treated as subdomains when setting
document.domain. The specs say:
'The domain attribute's setter must run these steps: ...
7. If host is not equal to effectiveDomain, then run these substeps:
1. If host or effectiveDomain is not a domain, then throw a
"SecurityError" DOMException.'
https://html.spec.whatwg.org/multipage/browsers.html#relaxing-the-same-origin-restriction
Last Updated 5 August 2016
'A host is a domain, an IPv4 address, or an IPv6 address.'
https://url.spec.whatwg.org/#concept-domain
Last Updated 28 July 2016
Test: http/tests/security/set-domain-remove-subdomain-for-ip-address.html
* dom/Document.cpp:
(WebCore::Document::setDomain):
Now checks whether the security origin is allowed to remove
subdomains. If not, it throws a security error.
* page/OriginAccessEntry.cpp:
(WebCore::OriginAccessEntry::OriginAccessEntry):
Constructor now expects an IP address setting.
(WebCore::OriginAccessEntry::matchesOrigin):
Now also checks whether the host in an IP address and returns
false if IP addresses aren't configured to be treated as domains.
* page/OriginAccessEntry.h:
Introduced new enum for IP address setting.
Constructor now expects an IP address setting.
(WebCore::OriginAccessEntry::ipAddressSettings):
New getter.
(WebCore::operator==):
Now also requires IP address settings to match.
* page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
Changes to match OriginAccessEntry's new constructor.
(WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
Changes to match OriginAccessEntry's new constructor.
* page/Settings.in:
Added a setting to allow IP address octets to be treated as
subdomains. This way our existing tests setting document.domain
still work.
LayoutTests:
IP address octets should not be treated as subdomains when
setting document.domain.
* http/tests/security/aboutBlank/security-context-alias.html:
Now enables the new setting treatIPAddressesAsDomains.
* http/tests/security/aboutBlank/security-context-grandchildren-alias.html:
Now enables the new setting treatIPAddressesAsDomains.
* http/tests/security/postMessage/origin-unaffected-by-document-domain.html:
Now enables the new setting treatIPAddressesAsDomains.
* http/tests/security/set-domain-remove-subdomain-for-ip-address-expected.txt: Added.
* http/tests/security/set-domain-remove-subdomain-for-ip-address.html: Added.
* http/tests/workers/worker-document-domain-security.html:
Now enables the new setting treatIPAddressesAsDomains.
* http/tests/xmlhttprequest/document-domain-set.html:
Now enables the new setting treatIPAddressesAsDomains.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204181
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Fri, 5 Aug 2016 18:53:49 +0000 (18:53 +0000)]
Delete out of date WASM code.
https://bugs.webkit.org/show_bug.cgi?id=160603
Reviewed by Saam Barati.
Source/JavaScriptCore:
This patch removes a bunch of the wasm files that we are unlikey to use
with the newer wasm spec. If we end up needing any of the deleted code
later we can restore it at that time.
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* jit/JITOperations.cpp:
* jsc.cpp:
(GlobalObject::finishCreation): Deleted.
(functionLoadWebAssembly): Deleted.
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall): Deleted.
* runtime/Executable.cpp:
(JSC::WebAssemblyExecutable::prepareForExecution): Deleted.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Deleted.
(JSC::JSGlobalObject::visitChildren): Deleted.
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::wasmModuleStructure): Deleted.
* wasm/WASMConstants.h: Removed.
* wasm/WASMFunctionB3IRGenerator.h: Removed.
(JSC::WASMFunctionB3IRGenerator::MemoryAddress::MemoryAddress): Deleted.
(JSC::WASMFunctionB3IRGenerator::startFunction): Deleted.
(JSC::WASMFunctionB3IRGenerator::endFunction): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildSetLocal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildSetGlobal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildReturn): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildImmediateI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildImmediateF32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildImmediateF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildGetLocal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildGetGlobal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildConvertType): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildLoad): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildStore): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildUnaryI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildUnaryF32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildUnaryF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildBinaryI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildBinaryF32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildBinaryF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildRelationalI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildRelationalF32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildRelationalF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildMinOrMaxI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildMinOrMaxF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildCallInternal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildCallIndirect): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildCallImport): Deleted.
(JSC::WASMFunctionB3IRGenerator::appendExpressionList): Deleted.
(JSC::WASMFunctionB3IRGenerator::discard): Deleted.
(JSC::WASMFunctionB3IRGenerator::linkTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::jumpToTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::jumpToTargetIf): Deleted.
(JSC::WASMFunctionB3IRGenerator::startLoop): Deleted.
(JSC::WASMFunctionB3IRGenerator::endLoop): Deleted.
(JSC::WASMFunctionB3IRGenerator::startSwitch): Deleted.
(JSC::WASMFunctionB3IRGenerator::endSwitch): Deleted.
(JSC::WASMFunctionB3IRGenerator::startLabel): Deleted.
(JSC::WASMFunctionB3IRGenerator::endLabel): Deleted.
(JSC::WASMFunctionB3IRGenerator::breakTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::continueTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::breakLabelTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::continueLabelTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildSwitch): Deleted.
* wasm/WASMFunctionCompiler.h: Removed.
(JSC::operationConvertJSValueToInt32): Deleted.
(JSC::operationConvertJSValueToDouble): Deleted.
(JSC::operationDiv): Deleted.
(JSC::operationMod): Deleted.
(JSC::operationUnsignedDiv): Deleted.
(JSC::operationUnsignedMod): Deleted.
(JSC::operationConvertUnsignedInt32ToDouble): Deleted.
(JSC::sizeOfMemoryType): Deleted.
(JSC::WASMFunctionCompiler::MemoryAddress::MemoryAddress): Deleted.
(JSC::WASMFunctionCompiler::WASMFunctionCompiler): Deleted.
(JSC::WASMFunctionCompiler::startFunction): Deleted.
(JSC::WASMFunctionCompiler::endFunction): Deleted.
(JSC::WASMFunctionCompiler::buildSetLocal): Deleted.
(JSC::WASMFunctionCompiler::buildSetGlobal): Deleted.
(JSC::WASMFunctionCompiler::buildReturn): Deleted.
(JSC::WASMFunctionCompiler::buildImmediateI32): Deleted.
(JSC::WASMFunctionCompiler::buildImmediateF32): Deleted.
(JSC::WASMFunctionCompiler::buildImmediateF64): Deleted.
(JSC::WASMFunctionCompiler::buildGetLocal): Deleted.
(JSC::WASMFunctionCompiler::buildGetGlobal): Deleted.
(JSC::WASMFunctionCompiler::buildConvertType): Deleted.
(JSC::WASMFunctionCompiler::buildLoad): Deleted.
(JSC::WASMFunctionCompiler::buildStore): Deleted.
(JSC::WASMFunctionCompiler::buildUnaryI32): Deleted.
(JSC::WASMFunctionCompiler::buildUnaryF32): Deleted.
(JSC::WASMFunctionCompiler::buildUnaryF64): Deleted.
(JSC::WASMFunctionCompiler::buildBinaryI32): Deleted.
(JSC::WASMFunctionCompiler::buildBinaryF32): Deleted.
(JSC::WASMFunctionCompiler::buildBinaryF64): Deleted.
(JSC::WASMFunctionCompiler::buildRelationalI32): Deleted.
(JSC::WASMFunctionCompiler::buildRelationalF32): Deleted.
(JSC::WASMFunctionCompiler::buildRelationalF64): Deleted.
(JSC::WASMFunctionCompiler::buildMinOrMaxI32): Deleted.
(JSC::WASMFunctionCompiler::buildMinOrMaxF64): Deleted.
(JSC::WASMFunctionCompiler::buildCallInternal): Deleted.
(JSC::WASMFunctionCompiler::buildCallIndirect): Deleted.
(JSC::WASMFunctionCompiler::buildCallImport): Deleted.
(JSC::WASMFunctionCompiler::appendExpressionList): Deleted.
(JSC::WASMFunctionCompiler::discard): Deleted.
(JSC::WASMFunctionCompiler::linkTarget): Deleted.
(JSC::WASMFunctionCompiler::jumpToTarget): Deleted.
(JSC::WASMFunctionCompiler::jumpToTargetIf): Deleted.
(JSC::WASMFunctionCompiler::startLoop): Deleted.
(JSC::WASMFunctionCompiler::endLoop): Deleted.
(JSC::WASMFunctionCompiler::startSwitch): Deleted.
(JSC::WASMFunctionCompiler::endSwitch): Deleted.
(JSC::WASMFunctionCompiler::startLabel): Deleted.
(JSC::WASMFunctionCompiler::endLabel): Deleted.
(JSC::WASMFunctionCompiler::breakTarget): Deleted.
(JSC::WASMFunctionCompiler::continueTarget): Deleted.
(JSC::WASMFunctionCompiler::breakLabelTarget): Deleted.
(JSC::WASMFunctionCompiler::continueLabelTarget): Deleted.
(JSC::WASMFunctionCompiler::buildSwitch): Deleted.
(JSC::WASMFunctionCompiler::localAddress): Deleted.
(JSC::WASMFunctionCompiler::temporaryAddress): Deleted.
(JSC::WASMFunctionCompiler::appendCall): Deleted.
(JSC::WASMFunctionCompiler::appendCallWithExceptionCheck): Deleted.
(JSC::WASMFunctionCompiler::emitNakedCall): Deleted.
(JSC::WASMFunctionCompiler::appendCallSetResult): Deleted.
(JSC::WASMFunctionCompiler::callOperation): Deleted.
(JSC::WASMFunctionCompiler::boxArgumentsAndAdjustStackPointer): Deleted.
(JSC::WASMFunctionCompiler::callAndUnboxResult): Deleted.
(JSC::WASMFunctionCompiler::convertValueToInt32): Deleted.
(JSC::WASMFunctionCompiler::convertValueToDouble): Deleted.
(JSC::WASMFunctionCompiler::convertDoubleToValue): Deleted.
* wasm/WASMFunctionParser.cpp: Removed.
(JSC::nameOfType): Deleted.
(JSC::WASMFunctionParser::checkSyntax): Deleted.
(JSC::WASMFunctionParser::compile): Deleted.
(JSC::WASMFunctionParser::parseFunction): Deleted.
(JSC::WASMFunctionParser::parseLocalVariables): Deleted.
(JSC::WASMFunctionParser::parseStatement): Deleted.
(JSC::WASMFunctionParser::parseReturnStatement): Deleted.
(JSC::WASMFunctionParser::parseBlockStatement): Deleted.
(JSC::WASMFunctionParser::parseIfStatement): Deleted.
(JSC::WASMFunctionParser::parseIfElseStatement): Deleted.
(JSC::WASMFunctionParser::parseWhileStatement): Deleted.
(JSC::WASMFunctionParser::parseDoStatement): Deleted.
(JSC::WASMFunctionParser::parseLabelStatement): Deleted.
(JSC::WASMFunctionParser::parseBreakStatement): Deleted.
(JSC::WASMFunctionParser::parseBreakLabelStatement): Deleted.
(JSC::WASMFunctionParser::parseContinueStatement): Deleted.
(JSC::WASMFunctionParser::parseContinueLabelStatement): Deleted.
(JSC::WASMFunctionParser::parseSwitchStatement): Deleted.
(JSC::WASMFunctionParser::parseExpression): Deleted.
(JSC::WASMFunctionParser::parseExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseConstantPoolIndexExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseImmediateExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseUnaryExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseBinaryExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseRelationalI32ExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseRelationalF32ExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseRelationalF64ExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseMinOrMaxExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseConstantPoolIndexExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseImmediateExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseUnaryExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseBinaryExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseConstantPoolIndexExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseImmediateExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseUnaryExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseBinaryExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseMinOrMaxExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseExpressionVoid): Deleted.
(JSC::WASMFunctionParser::parseGetLocalExpression): Deleted.
(JSC::WASMFunctionParser::parseGetGlobalExpression): Deleted.
(JSC::WASMFunctionParser::parseSetLocal): Deleted.
(JSC::WASMFunctionParser::parseSetGlobal): Deleted.
(JSC::WASMFunctionParser::parseMemoryAddress): Deleted.
(JSC::WASMFunctionParser::parseLoad): Deleted.
(JSC::WASMFunctionParser::parseStore): Deleted.
(JSC::WASMFunctionParser::parseCallArguments): Deleted.
(JSC::WASMFunctionParser::parseCallInternal): Deleted.
(JSC::WASMFunctionParser::parseCallIndirect): Deleted.
(JSC::WASMFunctionParser::parseCallImport): Deleted.
(JSC::WASMFunctionParser::parseConditional): Deleted.
(JSC::WASMFunctionParser::parseComma): Deleted.
(JSC::WASMFunctionParser::parseConvertType): Deleted.
* wasm/WASMFunctionParser.h: Removed.
(JSC::WASMFunctionParser::WASMFunctionParser): Deleted.
* wasm/WASMFunctionSyntaxChecker.h: Removed.
(JSC::WASMFunctionSyntaxChecker::MemoryAddress::MemoryAddress): Deleted.
(JSC::WASMFunctionSyntaxChecker::startFunction): Deleted.
(JSC::WASMFunctionSyntaxChecker::endFunction): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildSetLocal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildSetGlobal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildReturn): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildImmediateI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildImmediateF32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildImmediateF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildGetLocal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildGetGlobal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildConvertType): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildLoad): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildStore): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildUnaryI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildUnaryF32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildUnaryF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildBinaryI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildBinaryF32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildBinaryF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildRelationalI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildRelationalF32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildRelationalF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildMinOrMaxI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildMinOrMaxF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildCallInternal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildCallImport): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildCallIndirect): Deleted.
(JSC::WASMFunctionSyntaxChecker::appendExpressionList): Deleted.
(JSC::WASMFunctionSyntaxChecker::discard): Deleted.
(JSC::WASMFunctionSyntaxChecker::linkTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::jumpToTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::jumpToTargetIf): Deleted.
(JSC::WASMFunctionSyntaxChecker::startLoop): Deleted.
(JSC::WASMFunctionSyntaxChecker::endLoop): Deleted.
(JSC::WASMFunctionSyntaxChecker::startSwitch): Deleted.
(JSC::WASMFunctionSyntaxChecker::endSwitch): Deleted.
(JSC::WASMFunctionSyntaxChecker::startLabel): Deleted.
(JSC::WASMFunctionSyntaxChecker::endLabel): Deleted.
(JSC::WASMFunctionSyntaxChecker::breakTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::continueTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::breakLabelTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::continueLabelTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildSwitch): Deleted.
(JSC::WASMFunctionSyntaxChecker::stackHeight): Deleted.
(JSC::WASMFunctionSyntaxChecker::updateTempStackHeight): Deleted.
(JSC::WASMFunctionSyntaxChecker::updateTempStackHeightForCall): Deleted.
* wasm/WASMModuleParser.cpp: Removed.
(JSC::WASMModuleParser::WASMModuleParser): Deleted.
(JSC::WASMModuleParser::parse): Deleted.
(JSC::WASMModuleParser::parseModule): Deleted.
(JSC::WASMModuleParser::parseConstantPoolSection): Deleted.
(JSC::WASMModuleParser::parseSignatureSection): Deleted.
(JSC::WASMModuleParser::parseFunctionImportSection): Deleted.
(JSC::WASMModuleParser::parseGlobalSection): Deleted.
(JSC::WASMModuleParser::parseFunctionDeclarationSection): Deleted.
(JSC::WASMModuleParser::parseFunctionPointerTableSection): Deleted.
(JSC::WASMModuleParser::parseFunctionDefinitionSection): Deleted.
(JSC::WASMModuleParser::parseFunctionDefinition): Deleted.
(JSC::WASMModuleParser::parseExportSection): Deleted.
(JSC::WASMModuleParser::getImportedValue): Deleted.
(JSC::parseWebAssembly): Deleted.
* wasm/WASMModuleParser.h: Removed.
* wasm/WASMReader.cpp: Removed.
(JSC::WASMReader::readUInt32): Deleted.
(JSC::WASMReader::readFloat): Deleted.
(JSC::WASMReader::readDouble): Deleted.
(JSC::WASMReader::readCompactInt32): Deleted.
(JSC::WASMReader::readCompactUInt32): Deleted.
(JSC::WASMReader::readString): Deleted.
(JSC::WASMReader::readType): Deleted.
(JSC::WASMReader::readExpressionType): Deleted.
(JSC::WASMReader::readExportFormat): Deleted.
(JSC::WASMReader::readByte): Deleted.
(JSC::WASMReader::readOpStatement): Deleted.
(JSC::WASMReader::readOpExpressionI32): Deleted.
(JSC::WASMReader::readOpExpressionF32): Deleted.
(JSC::WASMReader::readOpExpressionF64): Deleted.
(JSC::WASMReader::readOpExpressionVoid): Deleted.
(JSC::WASMReader::readVariableTypes): Deleted.
(JSC::WASMReader::readOp): Deleted.
(JSC::WASMReader::readSwitchCase): Deleted.
* wasm/WASMReader.h: Removed.
(JSC::WASMReader::WASMReader): Deleted.
(JSC::WASMReader::offset): Deleted.
(JSC::WASMReader::setOffset): Deleted.
Source/WTF:
Add Feature define for WebAssembly on mac.
* wtf/FeatureDefines.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204180
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 5 Aug 2016 18:36:21 +0000 (18:36 +0000)]
Window's named properties should be exposed on a WindowProperties object in its prototype
https://bugs.webkit.org/show_bug.cgi?id=160354
Reviewed by Gavin Barraclough.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
* web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Window's named properties should be exposed on a WindowProperties object
in its prototype:
- http://heycam.github.io/webidl/#named-properties-object
Firefox and Chrome both comply with the specification. However, WebKit
had no "WindowProperties" object in the Window prototype chain and the
named properties are exposed on the Window object itself.
No new tests, rebaselined existing tests.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): Deleted.
(WebCore::JSDOMWindow::put): Deleted.
(WebCore::JSDOMWindow::putByIndex): Deleted.
(WebCore::JSDOMWindow::getEnumerableLength): Deleted.
* bindings/js/JSDOMWindowProperties.cpp: Added.
(WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):
(WebCore::JSDOMWindowProperties::getOwnPropertySlot):
(WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex):
* bindings/js/JSDOMWindowProperties.h: Added.
(WebCore::JSDOMWindowProperties::create):
(WebCore::JSDOMWindowProperties::createStructure):
(WebCore::JSDOMWindowProperties::JSDOMWindowProperties):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::setWindow):
LayoutTests:
* fast/dom/Window/es52-globals-expected.txt:
Update / Rebaseline test now that named properties are no longer reported as "own"
properties on the Window object. I have verified that the test gives the
same result in Firefox and Chrome.
* fast/loader/window-clearing-expected.txt:
Rebaseline test that prints one more line because there is one more
object in Window's prototype chain.
* http/tests/security/window-named-proto-expected.txt:
* http/tests/security/window-named-valueOf-expected.txt:
Rebaseline 2 security tests that give slightly different output. The new
output is identical to the one in Firefox and Chrome. The tests are not
failing since they are not alert'ing content from the other frame.
The reason those tests were logging a security error is because we would
previously prevent named property access if the frame name conflicts with
a property name in the Window prototype, and we now no longer
differentiate this case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204179
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 5 Aug 2016 18:27:49 +0000 (18:27 +0000)]
Create platform/gamepad directory, and make GamepadProvider pure virtual (with a default empty implementation).
https://bugs.webkit.org/show_bug.cgi?id=160599
Reviewed by Alex Christensen.
No new tests (No behavior change).
Except for the GamepadProvider/EmptyGamepadProvider split, this is just moving files around.
* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* WebCore.xcodeproj/project.pbxproj:
* platform/Linux.cmake:
* platform/gamepad.h: Removed.
* platform/gamepad/EmptyGamepadProvider.cpp:
(WebCore::EmptyGamepadProvider::startMonitoringGamepads):
(WebCore::EmptyGamepadProvider::stopMonitoringGamepads):
(WebCore::EmptyGamepadProvider::platformGamepads):
* platform/gamepad/EmptyGamepadProvider.h:
* platform/gamepad/GamepadProvider.cpp: Renamed from Source/WebCore/platform/GamepadProvider.cpp.
(WebCore::GamepadProvider::singleton):
(WebCore::GamepadProvider::setSharedProvider):
* platform/gamepad/GamepadProvider.h: Renamed from Source/WebCore/platform/GamepadProvider.h.
(WebCore::GamepadProvider::~GamepadProvider):
* platform/gamepad/GamepadProviderClient.h: Renamed from Source/WebCore/platform/GamepadProviderClient.h.
(WebCore::GamepadProviderClient::~GamepadProviderClient):
* platform/gamepad/PlatformGamepad.h: Renamed from Source/WebCore/platform/PlatformGamepad.h.
(WebCore::PlatformGamepad::~PlatformGamepad):
(WebCore::PlatformGamepad::id):
(WebCore::PlatformGamepad::index):
(WebCore::PlatformGamepad::lastUpdateTime):
(WebCore::PlatformGamepad::connectTime):
(WebCore::PlatformGamepad::PlatformGamepad):
* platform/gamepad/deprecated/Gamepads.h: Renamed from Source/WebCore/platform/Gamepads.h.
* platform/gamepad/efl/GamepadsEfl.cpp: Renamed from Source/WebCore/platform/efl/GamepadsEfl.cpp.
(WebCore::GamepadDeviceEfl::resetFdHandler):
(WebCore::GamepadDeviceEfl::deviceFile):
(WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
(WebCore::GamepadDeviceEfl::~GamepadDeviceEfl):
(WebCore::GamepadDeviceEfl::readCallback):
(WebCore::GamepadsEfl::onGamePadChange):
(WebCore::GamepadsEfl::GamepadsEfl):
(WebCore::GamepadsEfl::~GamepadsEfl):
(WebCore::GamepadsEfl::registerDevice):
(WebCore::GamepadsEfl::unregisterDevice):
(WebCore::GamepadsEfl::updateGamepadList):
(WebCore::sampleGamepads):
* platform/gamepad/glib/GamepadsGlib.cpp: Renamed from Source/WebCore/platform/glib/GamepadsGlib.cpp.
(WebCore::GamepadDeviceGlib::GamepadDeviceGlib):
(WebCore::GamepadDeviceGlib::~GamepadDeviceGlib):
(WebCore::GamepadDeviceGlib::readCallback):
(WebCore::GamepadsGlib::GamepadsGlib):
(WebCore::GamepadsGlib::~GamepadsGlib):
(WebCore::GamepadsGlib::registerDevice):
(WebCore::GamepadsGlib::unregisterDevice):
(WebCore::GamepadsGlib::updateGamepadList):
(WebCore::GamepadsGlib::onUEventCallback):
(WebCore::GamepadsGlib::isGamepadDevice):
(WebCore::sampleGamepads):
* platform/gamepad/linux/GamepadDeviceLinux.cpp: Renamed from Source/WebCore/platform/linux/GamepadDeviceLinux.cpp.
(WebCore::GamepadDeviceLinux::GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::~GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::updateForEvent):
(WebCore::GamepadDeviceLinux::normalizeAxisValue):
(WebCore::GamepadDeviceLinux::normalizeButtonValue):
* platform/gamepad/linux/GamepadDeviceLinux.h: Renamed from Source/WebCore/platform/linux/GamepadDeviceLinux.h.
(WebCore::GamepadDeviceLinux::connected):
(WebCore::GamepadDeviceLinux::id):
(WebCore::GamepadDeviceLinux::timestamp):
(WebCore::GamepadDeviceLinux::axesCount):
(WebCore::GamepadDeviceLinux::axesData):
(WebCore::GamepadDeviceLinux::buttonsCount):
(WebCore::GamepadDeviceLinux::buttonsData):
* platform/gamepad/mac/HIDGamepad.cpp: Renamed from Source/WebCore/platform/mac/HIDGamepad.cpp.
(WebCore::HIDGamepad::HIDGamepad):
(WebCore::HIDGamepad::getCurrentValueForElement):
(WebCore::HIDGamepad::initElements):
(WebCore::HIDGamepad::initElementsFromArray):
(WebCore::HIDGamepad::maybeAddButton):
(WebCore::HIDGamepad::maybeAddAxis):
(WebCore::HIDGamepad::valueChanged):
* platform/gamepad/mac/HIDGamepad.h: Renamed from Source/WebCore/platform/mac/HIDGamepad.h.
(WebCore::HIDGamepadElement::HIDGamepadElement):
(WebCore::HIDGamepadElement::~HIDGamepadElement):
(WebCore::HIDGamepadElement::isButton):
(WebCore::HIDGamepadElement::isAxis):
(WebCore::HIDGamepadButton::HIDGamepadButton):
(WebCore::HIDGamepadAxis::HIDGamepadAxis):
(WebCore::HIDGamepad::hidDevice):
* platform/gamepad/mac/HIDGamepadProvider.cpp: Renamed from Source/WebCore/platform/mac/HIDGamepadProvider.cpp.
(WebCore::deviceMatchingDictionary):
(WebCore::deviceAddedCallback):
(WebCore::deviceRemovedCallback):
(WebCore::deviceValuesChangedCallback):
(WebCore::HIDGamepadProvider::singleton):
(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::indexForNewlyConnectedDevice):
(WebCore::HIDGamepadProvider::connectionDelayTimerFired):
(WebCore::HIDGamepadProvider::openAndScheduleManager):
(WebCore::HIDGamepadProvider::closeAndUnscheduleManager):
(WebCore::HIDGamepadProvider::startMonitoringGamepads):
(WebCore::HIDGamepadProvider::stopMonitoringGamepads):
(WebCore::HIDGamepadProvider::deviceAdded):
(WebCore::HIDGamepadProvider::deviceRemoved):
(WebCore::HIDGamepadProvider::valuesChanged):
(WebCore::HIDGamepadProvider::inputNotificationTimerFired):
(WebCore::HIDGamepadProvider::removeGamepadForDevice):
* platform/gamepad/mac/HIDGamepadProvider.h: Renamed from Source/WebCore/platform/mac/HIDGamepadProvider.h.
(WebCore::HIDGamepadProvider::platformGamepads):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204178
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 5 Aug 2016 17:43:45 +0000 (17:43 +0000)]
Unreviewed, rolling out r204147.
https://bugs.webkit.org/show_bug.cgi?id=160602
Considering another implementation (Requested by eric_carlson
on #webkit).
Reverted changeset:
"Add long, boolean, double, and String Media Constraint
classes"
https://bugs.webkit.org/show_bug.cgi?id=160524
http://trac.webkit.org/changeset/204147
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204177
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Fri, 5 Aug 2016 17:08:22 +0000 (17:08 +0000)]
Fix 32-bit OverridesHasInstance in the DFG.
https://bugs.webkit.org/show_bug.cgi?id=160600
Reviewed by Mark Lam.
In https://trac.webkit.org/changeset/204140, we fixed an issue where the DFG might
do the wrong thing if it proved that the Symbol.hasInstance value for a constructor
was a constant late in compilation. That fix was ommited from the 32-bit version,
causing the new test to fail.
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204176
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Fri, 5 Aug 2016 16:57:34 +0000 (16:57 +0000)]
Build fix after 204053.
Unreviewed.
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm:
(-[MockContentFilterEnabler initWithCoder:]):
(-[MockContentFilterEnabler dealloc]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204175
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wilander@apple.com [Fri, 5 Aug 2016 16:51:05 +0000 (16:51 +0000)]
Popups opened from a sandboxed iframe should themselves be sandboxed
https://bugs.webkit.org/show_bug.cgi?id=134850
<rdar://problem/
27375388>
Reviewed by Brent Fulgham.
Source/WebCore:
This replicates the behavior in Chrome, Firefox, and according to the reporter
also in Internet Explorer. See the Mozilla bug report:
https://bugzilla.mozilla.org/show_bug.cgi?id=1037381#c1
Test: http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html
* page/Chrome.cpp:
(WebCore::Chrome::createWindow):
Now copies the opener's frame loader effective sandbox flags to the new
frame loader.
LayoutTests:
* http/tests/security/resources/anchor-tag-with-blank-target.html: Added.
* http/tests/security/resources/page-executing-javascript.html: Added.
* http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox-expected.txt: Added.
* http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 5 Aug 2016 16:42:34 +0000 (16:42 +0000)]
* DerivedSources.make: Fix all places that were using tabs instead of spaces outside
the actual make rules, where tabs are required as part of make syntax.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204173
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 5 Aug 2016 16:26:04 +0000 (16:26 +0000)]
[Fetch API] SubresourceLoader::checkRedirectionCrossOriginAccessControl should not always assert in SameOrigin mode
https://bugs.webkit.org/show_bug.cgi?id=160594
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
* web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt:
* web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt:
* web-platform-tests/fetch/api/basic/mode-same-origin.js: Adding redirection tests for same origin mode.
Source/WebCore:
Covered by rebased tests.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
It should not throw is mode is SameOrigin and resource is same origin.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204172
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 5 Aug 2016 16:22:09 +0000 (16:22 +0000)]
[Fetch API] Response.blob should not assert in case the created blob is empty
https://bugs.webkit.org/show_bug.cgi?id=160592
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
* web-platform-tests/fetch/api/request/request-consume-expected.txt:
* web-platform-tests/fetch/api/request/request-consume.html: Adding response with empty blob test.
Source/WebCore:
Covered bu updated test.
* Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::takeAsBlob): Removing assertion as a response may have a body but with no data in it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204171
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
annulen@yandex.ru [Fri, 5 Aug 2016 15:39:10 +0000 (15:39 +0000)]
Print test name in "Last character read from DRT..." error message.
https://bugs.webkit.org/show_bug.cgi?id=160559
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/port/driver.py:
(Driver.run_test):
(Driver._read_first_block):
(Driver._read_optional_image_block):
(Driver._read_block):
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_read_block):
(DriverTest.test_read_binary_block):
(DriverTest.test_read_base64_block):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204168
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 5 Aug 2016 13:43:49 +0000 (13:43 +0000)]
Unreviewed, rolling out r204123.
https://bugs.webkit.org/show_bug.cgi?id=160597
Caused layout test timeouts on Windows. (Requested by perarne
on #webkit).
Reverted changeset:
"[Win] Unable to reliably run tests in parallel"
https://bugs.webkit.org/show_bug.cgi?id=140914
http://trac.webkit.org/changeset/204123
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204167
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 5 Aug 2016 11:25:28 +0000 (11:25 +0000)]
Unreviewed, rolling out r203935.
https://bugs.webkit.org/show_bug.cgi?id=160596
looks like a 1-2% PLUM regression on iPhone 6s (Requested by
kling_ on #webkit).
Reverted changeset:
"Window's named properties should be exposed on a
WindowProperties object in its prototype"
https://bugs.webkit.org/show_bug.cgi?id=160354
http://trac.webkit.org/changeset/203935
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204166
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 5 Aug 2016 09:19:25 +0000 (09:19 +0000)]
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html is failing on iOS-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=160591
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05
* platform/ios-simulator-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204165
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 5 Aug 2016 07:39:01 +0000 (07:39 +0000)]
[Fetch API] Activate CSP checks
https://bugs.webkit.org/show_bug.cgi?id=160445
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05
Reviewed by Daniel Bates.
LayoutTests/imported/w3c:
* web-platform-tests/fetch/api/policies/csp-blocked-expected.txt:
* web-platform-tests/fetch/api/policies/csp-blocked-worker-expected.txt:
Source/WebCore:
Tests: http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html
http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html
* Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start): Adding CSP and URL upgrade checks.
LayoutTests:
* http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-fetch-in-main-frame-window.html: Added.
* http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-xhr-in-main-frame-window.html:
* http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html: Added.
* http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html: Added.
* http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame-expected.txt:
* platform/mac-wk2/TestExpectations: Marking new worker test as failing at loading https resource from loader.
It gets a "The certificate for this server is invalid" error.
* platform/wk2/TestExpectations: Marking new frame test as timing out for WK2 as fetch is not activated in the pop-up window.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204164
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 5 Aug 2016 07:25:15 +0000 (07:25 +0000)]
DocumentThreadableLoader should report an error when getting a null CachedResource
https://bugs.webkit.org/show_bug.cgi?id=160444
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
* web-platform-tests/XMLHttpRequest/event-error-expected.txt:
* web-platform-tests/XMLHttpRequest/getresponseheader-error-state-expected.txt:
* web-platform-tests/XMLHttpRequest/timeout-cors-async-expected.txt:
* web-platform-tests/fetch/api/cors/cors-cookies-expected.txt:
* web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt:
Source/WebCore:
Covered by existing and rebased tests.
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest): Calling didFail with an AccessControl error if unable to have a CachedResource.
The resource error type AccessControl is important as it indicates to some clients that they should not retry loading the same resource (EventSource notably).
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest): Removed handling of ThreadableLoader::create returning null.
This should be handled in didFail callback. This allows aligning behavior of
WorkerThreadableLoaderi::MainThreadBridge and XMLHttpRequest as ThreadableLoader clients.
(WebCore::XMLHttpRequest::didFail): Handle the case of didFail being called synchronously from ThreadableLoader::create.
In that case, use a timer to dispatch network events asynchronously.
LayoutTests:
* fast/frames/frame-unload-crash.html:
* http/tests/contentextensions/async-xhr-onerror-expected.txt:
* http/tests/eventsource/eventsource-reconnect-during-navigate-crash-expected.txt:
* http/tests/navigation/subframe-pagehide-handler-starts-load-expected.txt:
* http/tests/navigation/subframe-pagehide-handler-starts-load2-expected.txt:
* http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204163
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Fri, 5 Aug 2016 06:46:55 +0000 (06:46 +0000)]
Restore CodeBlock jettison code to jettison when a CodeBlock has been alive for a long time
https://bugs.webkit.org/show_bug.cgi?id=151241
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
This patch rolls back in the jettisoning policy from https://bugs.webkit.org/show_bug.cgi?id=149727.
We can now jettison a CodeBlock when it has been alive for a long time
and is only pointed to by its owner executable. I haven't been able to get this
patch to crash on anything it used to crash on, so I suspect we've fixed the bugs that
were causing this before. I've also added some stress options for this feature that
will cause us to either eagerly old-age jettison or to old-age jettison whenever it's legal.
These options helped me find a bug where we would ask an Executable to create a CodeBlock,
and then the Executable would do some other allocations, causing a GC, immediately causing
the CodeBlock to jettison. There is a small chance that this was the bug we were seeing before,
however, it's unlikely given that the previous timing metrics require at least 5 second between
compiling to jettisoning.
This patch also enables the stress options for various modes
of JSC stress tests.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shouldJettisonDueToWeakReference):
(JSC::timeToLive):
(JSC::CodeBlock::shouldJettisonDueToOldAge):
* interpreter/CallFrame.h:
(JSC::ExecState::callee):
(JSC::ExecState::unsafeCallee):
(JSC::ExecState::codeBlock):
(JSC::ExecState::addressOfCodeBlock):
(JSC::ExecState::unsafeCodeBlock):
(JSC::ExecState::scope):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall):
* runtime/Executable.cpp:
(JSC::ScriptExecutable::installCode):
(JSC::setupJIT):
(JSC::ScriptExecutable::prepareForExecutionImpl):
* runtime/Executable.h:
(JSC::ScriptExecutable::prepareForExecution):
* runtime/Options.h:
Tools:
* Scripts/run-jsc-stress-tests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204162
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 5 Aug 2016 02:59:13 +0000 (02:59 +0000)]
Add support for DOMTokenList.replace()
https://bugs.webkit.org/show_bug.cgi?id=160573
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/nodes/Element-classlist-expected.txt:
Source/WebCore:
Add support for DOMTokenList.replace():
https://dom.spec.whatwg.org/#dom-domtokenlist-replace
No new tests, rebaselined existing tests.
* html/DOMTokenList.cpp:
(WebCore::tokenContainsHTMLSpace):
(WebCore::DOMTokenList::validateToken):
(WebCore::DOMTokenList::replace):
* html/DOMTokenList.h:
* html/DOMTokenList.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204161
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Fri, 5 Aug 2016 02:50:19 +0000 (02:50 +0000)]
[ES6] JSModuleNamespaceObject's Symbol.iterator function should have name
https://bugs.webkit.org/show_bug.cgi?id=160549
Reviewed by Saam Barati.
JSTests:
* modules/namespace-object-symbol-iterator-name.js: Added.
* test262.yaml:
Source/JavaScriptCore:
ES6 Module's namespace[Symbol.iterator] function should have the name, "[Symbol.iterator]".
* runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::finishCreation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204160
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Fri, 5 Aug 2016 02:35:28 +0000 (02:35 +0000)]
[iOS] Some videos in iBooks erroneously go fullscreen
https://bugs.webkit.org/show_bug.cgi?id=160582
<rdar://problem/
27669831>
Reviewed by Jon Lee.
No new tests because we can't currently mock the iBooks application bundle ID.
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204159
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Fri, 5 Aug 2016 02:09:14 +0000 (02:09 +0000)]
Add some files for a Content Security Policy blog post
* blog-files/content-security-policy/compass-base.css: Added.
(.compass):
* blog-files/content-security-policy/csp-style-hash.html: Added.
* blog-files/content-security-policy/icons.svg: Added; derived from file
Websites/webkit.org/wp-content/themes/webkit/images/icons.svg. I am explicitly
not referencing file Websites/webkit.org/wp-content/themes/webkit/images/icons.svg
so that csp-style-hash.html is not affected by changes to this file.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204158
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 5 Aug 2016 00:46:05 +0000 (00:46 +0000)]
UI improvements to Flakiness Dashboard.
https://bugs.webkit.org/show_bug.cgi?id=153295
Patch by Dean Johnson <dean_johnson@apple.com> on 2016-08-04
Reviewed by Alexey Proskuryakov.
* TestResultServer/static-dashboards/flakiness_dashboard.css:
(td.options-container): Center text in most fields.
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(createBugHTML): Text/Grammar updates.
(tableHeaders): Ditto.
(htmlForSingleTestRow): Ditto.
(headerForTestTableHtml): Ditto.
* TestResultServer/static-dashboards/ui.js: Removed the "Group: " and "Test type: " headings.
(ui.html.testTypeSwitcher): Deleted. Removes the "Group:" heading.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204156
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Fri, 5 Aug 2016 00:23:12 +0000 (00:23 +0000)]
[GTK] install-dependencies script misses libxslt as build-dependency and some python libs for the run-benchmark script
https://bugs.webkit.org/show_bug.cgi?id=160518
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_twisted): Twisted requires zope.interface.
* gtk/install-dependencies:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204155
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Fri, 5 Aug 2016 00:20:48 +0000 (00:20 +0000)]
[Fontconfig] Segmentation fault in WebCore::FontCache::lastResortFallbackFont
https://bugs.webkit.org/show_bug.cgi?id=141432
Reviewed by Myles C. Maxfield.
Crash more cleanly when we can't find any last resort fallback font.
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::FontCache::lastResortFallbackFont):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204154
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 4 Aug 2016 23:46:07 +0000 (23:46 +0000)]
Web Inspector: UI polish for Edit Breakpoint dialog
https://bugs.webkit.org/show_bug.cgi?id=160566
<rdar://problem/
27706378>
Reviewed by Timothy Hatcher.
* UserInterface/Images/BreakpointActionAdd.svg: Removed.
* UserInterface/Images/BreakpointActionRemove.svg: Removed.
Use Plus13.svg and Minus.svg instead.
* UserInterface/Views/BreakpointActionView.css:
(.breakpoint-action-button-container):
(.breakpoint-action-append-button,):
(.breakpoint-action-append-button):
(.breakpoint-action-remove-button):
Button styles should match Xcode.
(.breakpoint-action-append-button:active,): Deleted.
Brightness on activation no longer needed.
* UserInterface/Views/BreakpointActionView.js:
(WebInspector.BreakpointActionView):
Add a button container so buttons can float together.
* UserInterface/Views/BreakpointPopoverController.css:
(.wide .edit-breakpoint-popover-condition > .CodeMirror):
Increase condition field width by the same amount as the popover.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204152
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 4 Aug 2016 23:24:14 +0000 (23:24 +0000)]
Syncing script's configuration duplicates a lot of boilerplate
https://bugs.webkit.org/show_bug.cgi?id=160574
Rubber-stamped by Chris Dumez.
This patch makes each configuration accept an array of platforms and types so that we can write:
{"type": "speedometer", "builder": "mba", "platform": "Trunk El Capitan MacBookAir"},
{"type": "speedometer", "builder": "mbp", "platform": "Trunk El Capitan MacBookPro"},
{"type": "speedometer", "builder": "mba", "platform": "Trunk Sierra MacBookAir"},
{"type": "speedometer", "builder": "mbp", "platform": "Trunk Sierra MacBookPro"},
{"type": "jetstream", "builder": "mba", "platform": "Trunk El Capitan MacBookAir"},
{"type": "jetstream", "builder": "mbp", "platform": "Trunk El Capitan MacBookPro"},
{"type": "jetstream", "builder": "mba", "platform": "Trunk Sierra MacBookAir"},
{"type": "jetstream", "builder": "mbp", "platform": "Trunk Sierra MacBookPro"},
more concisely as:
{"builder": "mba", "types": ["speedometer", "jetstream"],
"platforms": ["Trunk El Capitan MacBookAir", "Trunk Sierra MacBookAir"]},
{"builder": "mbp", "types": ["speedometer", "jetstream"],
"platforms": ["Trunk El Capitan MacBookPro", "Trunk Sierra MacBookPro"]},
* tools/js/buildbot-syncer.js:
(BuildbotSyncer._loadConfig):
(BuildbotSyncer._expandTypesAndPlatforms): Added. Clones a new configuration entry for each type
and platform.
(BuildbotSyncer._createTestConfiguration): Extracted from _loadConfig.
(BuildbotSyncer._validateAndMergeConfig): Added a new argument that specifies a property that
shouldn't be merged into the configuration. Also added the support for 'types' and 'platforms',
and merged the code for verify an array of strings. Finally, allow the appearance of 'properties'
since this function can now be called on a cloned configuration in which 'arguments' had already
been renamed to 'properties'.
* unit-tests/buildbot-syncer-tests.js: Added a test case to parse a consolidated configuration.
(sampleiOSConfigWithExpansions): Added.
* unit-tests/resources/mock-v3-models.js:
(MockModels.inject): Added a few more mock models for the newly added test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204151
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 4 Aug 2016 22:43:50 +0000 (22:43 +0000)]
Move insertAdjacent*() API from HTMLElement to Element
https://bugs.webkit.org/show_bug.cgi?id=160567
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/domparsing/insert_adjacent_html-expected.txt:
Source/WebCore:
Move insertAdjacent*() API from HTMLElement to Element:
- https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface
- https://dom.spec.whatwg.org/#element
Firefox and Chrome both have insertAdjacentHTML() on Element.
Chrome has insertAdjacentText() / insertAdjacentElement() on Element as
well. Firefox does not have this API at all.
Also align insertAdjacentHTML() with the specification so that we
now throw a NO_MODIFICATION_ALLOWED_ERR if called with "beforebegin" /
"afterend" on a parent-less element. This is as per:
- https://w3c.github.io/DOM-Parsing/#dom-element-insertadjacenthtml
Previously, WebKit would just silently ignore such calls. The new
behavior with consistent with both Firefox and Chrome.
No new tests, rebaselined existing tests.
* dom/Element.cpp:
(WebCore::Element::insertAdjacent):
(WebCore::Element::insertAdjacentElement):
(WebCore::contextElementForInsertion):
(WebCore::Element::insertAdjacentHTML):
(WebCore::Element::insertAdjacentText):
* dom/Element.h:
* dom/Element.idl:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::insertAdjacent): Deleted.
(WebCore::HTMLElement::insertAdjacentElement): Deleted.
(WebCore::contextElementForInsertion): Deleted.
(WebCore::HTMLElement::insertAdjacentHTML): Deleted.
(WebCore::HTMLElement::insertAdjacentText): Deleted.
* html/HTMLElement.h:
* html/HTMLElement.idl:
LayoutTests:
Rebaseline several tests to reflect behavior change.
* fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
* fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
* fast/dynamic/insertAdjacentElement-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204150
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 4 Aug 2016 22:38:18 +0000 (22:38 +0000)]
Another build fix attempt.
* bindings/gobject/WebKitDOMDeprecated.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204149
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 4 Aug 2016 22:37:14 +0000 (22:37 +0000)]
Add some extra test coverage for active touch event handler on subdocuments
https://bugs.webkit.org/show_bug.cgi?id=160276
Reviewed by Alex Christensen.
I wrote some tests while chasing a bug.
Documents are handled differently than other EventTarget. We had no test coverage
for that.
* fast/events/touch/ios/touch-event-listeners-on-detached-document-expected.txt: Added.
* fast/events/touch/ios/touch-event-listeners-on-detached-document.html: Added.
* fast/events/touch/ios/touch-event-listeners-on-subdocument-then-detach-from-frame-expected.txt: Added.
* fast/events/touch/ios/touch-event-listeners-on-subdocument-then-detach-from-frame.html: Added.
* fast/events/touch/ios/touch-event-listeners-on-subdocuments-expected.txt: Added.
* fast/events/touch/ios/touch-event-listeners-on-subdocuments.html: Added.
* fast/events/touch/ios/touch-event-listeners-on-template-document-expected.txt: Added.
* fast/events/touch/ios/touch-event-listeners-on-template-document.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204148
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 4 Aug 2016 22:34:26 +0000 (22:34 +0000)]
Add long, boolean, double, and String Media Constraint classes
https://bugs.webkit.org/show_bug.cgi?id=160524
<rdar://problem/
27685132>
Patch by George Ruan <gruan@apple.com> on 2016-08-04
Reviewed by Eric Carlson.
No new tests. The current patch is untestable, but functionality
will be tested in a future patch.
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/MediaConstraints.cpp: Added.
(WebCore::BaseConstraint::create): Initializes min, max, exact, ideal
value of constraint with dictionary.
(WebCore::BaseConstraint::createEmptyDerivedConstraint): Factory
for all derived constraints.
(WebCore::LongConstraint::create): Creates LongConstraint with name.
(WebCore::LongConstraint::setMin): Sets mandatory min constraint value.
(WebCore::LongConstraint::setMax): Sets mandatory max constraint value.
(WebCore::LongConstraint::setExact): Sets mandatory exact constraint
value.
(WebCore::LongConstraint::setIdeal): Sets optional ideal constraint
value.
(WebCore::LongConstraint::initializeWithDictionary): Parses user input
and sets min, max, exact, ideal values.
(WebCore::DoubleConstraint::create): Ditto.
(WebCore::DoubleConstraint::setMin): Ditto.
(WebCore::DoubleConstraint::setMax): Ditto.
(WebCore::DoubleConstraint::setExact): Ditto.
(WebCore::DoubleConstraint::setIdeal): Ditto.
(WebCore::DoubleConstraint::initializeWithDictionary): Ditto.
(WebCore::BooleanConstraint::create): Ditto.
(WebCore::BooleanConstraint::setExact): Ditto.
(WebCore::BooleanConstraint::setIdeal): Ditto.
(WebCore::BooleanConstraint::initializeWithDictionary): Ditto.
(WebCore::StringConstraint::create): Ditto.
(WebCore::StringConstraint::setExact): Ditto.
(WebCore::StringConstraint::setIdeal): Ditto.
(WebCore::StringConstraint::initializeWithDictionary): Ditto.
* platform/mediastream/MediaConstraints.h: Add abstract classes
BaseConstraint and NumericConstraint, and final classes
DoubleConstraint, LongConstraint, BooleanConstraint, and
StringConstraint.
(WebCore::BaseConstraint::~BaseConstraint):
(WebCore::BaseConstraint::name): Name of constraint associated with.
(WebCore::BaseConstraint::BaseConstraint):
(WebCore::NumericConstraint::setHasMin): Sets min constraint value.
(WebCore::NumericConstraint::setHasMax): Sets max constraint value.
(WebCore::NumericConstraint::setHasExact): Sets exact constraint
value.
(WebCore::NumericConstraint::setHasIdeal): Sets ideal constraint
value.
(WebCore::NumericConstraint::hasMin): Determines whether constraint
has a minimum value.
(WebCore::NumericConstraint::hasMax): Determines whether constraint
has a maximum value.
(WebCore::NumericConstraint::hasExact): Determines whether constraint
has an exact value.
(WebCore::NumericConstraint::NumericConstraint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204147
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 4 Aug 2016 22:05:00 +0000 (22:05 +0000)]
Try to fix the GTK+ build.
* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_document_get_elements_by_tag_name):
(webkit_dom_document_get_elements_by_tag_name_ns):
(webkit_dom_document_get_elements_by_class_name):
(webkit_dom_element_get_elements_by_tag_name):
(webkit_dom_element_get_elements_by_tag_name_ns):
(webkit_dom_element_get_elements_by_class_name):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204145
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 4 Aug 2016 22:02:33 +0000 (22:02 +0000)]
Rebaseline http/tests/security/cross-frame-access-put.html after r204126.
Unreviewed test gardening.
* http/tests/security/cross-frame-access-put-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204144
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 4 Aug 2016 22:02:21 +0000 (22:02 +0000)]
Add support for wrapper types in dictionaries
https://bugs.webkit.org/show_bug.cgi?id=160487
Reviewed by Sam Weinig.
Add support for nullable wrapper types in dictionaries.
A TypeError is thrown if the conversion fails.
No new tests, updated bindings tests.
* bindings/js/JSDOMConvert.h:
(WebCore::convertWrapperType):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
* bindings/scripts/IDLParser.pm:
(parseDictionaryMember):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convert<TestObj::Dictionary>):
* bindings/scripts/test/TestObj.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204143
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 4 Aug 2016 21:45:52 +0000 (21:45 +0000)]
[Mac][cmake] Fix the build after Objective-C bindings generator removal
https://bugs.webkit.org/show_bug.cgi?id=160545
.:
Reviewed by Alex Christensen.
* Source/cmake/WebKitMacros.cmake:
Source/WebCore:
Reviewed by Alex Christensen.
* CMakeLists.txt:
* PlatformMac.cmake:
Source/WebKit:
Reviewed by Alex Christensen.
* PlatformMac.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204142
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 4 Aug 2016 21:34:12 +0000 (21:34 +0000)]
Attempt to fix Windows build after r204134.
Unreviewed build fix.
* dom/DOMAllInOne.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204141
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Thu, 4 Aug 2016 21:11:16 +0000 (21:11 +0000)]
ASSERTION FAILED: !hasInstanceValueNode->isCellConstant() || defaultHasInstanceFunction == hasInstanceValueNode->asCell()
https://bugs.webkit.org/show_bug.cgi?id=160562
JSTests:
Reviewed by Mark Lam.
* stress/instanceof-late-constant-folding.js: Added.
(Constructor):
(value):
(body):
Source/JavaScriptCore:
<rdar://problem/
27704825>
Reviewed by Mark Lam.
This patch fixes an issue where we would emit incorrect code in the DFG when constant folding would
convert a GetByOffset into a constant late in compilation. Additionally, it removes invalid assertions
associated with the assumption that this could not happen.
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204140
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 4 Aug 2016 21:07:21 +0000 (21:07 +0000)]
Optimize bot watcher's dashboard a little
https://bugs.webkit.org/show_bug.cgi?id=160515
rdar://problem/
26096900
Reviewed by Lucas Forschler.
Made re-sorting after loading an iteration more efficient.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype._updateWithData):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.updateIterationPosition):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204139
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Thu, 4 Aug 2016 20:59:49 +0000 (20:59 +0000)]
Remove unused intrinsic member of NativeExecutable
https://bugs.webkit.org/show_bug.cgi?id=160560
Reviewed by Saam Barati.
NativeExecutable has an Intrinsic member. It appears that this member is never
used. Instead we use the Intrinsic member NativeExecutable's super class,
ExecutableBase.
* runtime/Executable.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204137
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 4 Aug 2016 20:51:57 +0000 (20:51 +0000)]
Web Inspector: Popover's arrow is misplaced
https://bugs.webkit.org/show_bug.cgi?id=151236
<rdar://problem/
23527296>
Reviewed by Brian Burg.
* UserInterface/Views/Popover.js:
(WebInspector.Popover.prototype._setAnchorPoint):
Drive-by style fix.
(WebInspector.Popover.prototype._drawFrame):
Position the arrow so that the arrow head doesn't overlap the
rounded corners of its edge.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204136
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 4 Aug 2016 20:33:53 +0000 (20:33 +0000)]
Crash under NavigationState::NavigationClient::processDidCrash()
https://bugs.webkit.org/show_bug.cgi?id=160563
<rdar://problem/
19814215>
Reviewed by Sam Weinig.
When WebPageProxy::close() gets called, make sure we destroy the page's
navigationClient. If we don't then the navigationClient can outlive the
navigationState, causing crashes when navigationClient tries to use its
stale navigationState member reference later on. This happens when the
WebPageProxy outlives its WKWebView because:
1. WebPageProxy owns the navigationClient
2. WKWebView owns the navigationState
3. navigationClient has a reference to the navigationState as member.
WebPageProxy can outlive the WKWebView because it is refCounted. It
can happen for example when the client application uses the
RelatedPage API as this extend the lifetime of the related WebPage's
proxy but the application may not keep the related WKWebView alive.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
Note that it is safe to null out m_navigationClient here instead of
creating a fresh one because there is a null check before every use
of m_navigationClient in WebPageProxy.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204135
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 4 Aug 2016 20:27:48 +0000 (20:27 +0000)]
Remove more Objective-C specific bindings code
https://bugs.webkit.org/show_bug.cgi?id=160564
Reviewed by Sam Weinig.
* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSNodeCustom.cpp:
* bindings/objc/DOMDocument.mm:
* bindings/objc/DOMEntity.mm:
(-[DOMEntity publicId]):
(-[DOMEntity systemId]):
(-[DOMEntity notationName]):
* bindings/objc/DOMEntityReference.mm:
(kit): Deleted.
* bindings/objc/DOMEntityReferenceInternal.h: Removed.
* bindings/objc/DOMNodeIterator.mm:
(-[DOMNodeIterator expandEntityReferences]):
* bindings/objc/DOMTreeWalker.mm:
(-[DOMTreeWalker expandEntityReferences]):
* dom/Document.idl:
* dom/Entity.h: Removed.
(WebCore::Entity::publicId): Deleted.
(WebCore::Entity::systemId): Deleted.
(WebCore::Entity::notationName): Deleted.
(WebCore::Entity::Entity): Deleted.
* dom/Entity.idl: Removed.
* dom/EntityReference.cpp: Removed.
(WebCore::EntityReference::EntityReference): Deleted.
* dom/EntityReference.h: Removed.
* dom/EntityReference.idl: Removed.
* dom/NodeIterator.idl:
* dom/Traversal.h:
(WebCore::NodeIteratorBase::expandEntityReferences): Deleted.
* dom/TreeWalker.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204134
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 4 Aug 2016 20:12:04 +0000 (20:12 +0000)]
Simplify overloads for HTMLSelectElement.add() / HTMLOptionsCollection.add()
https://bugs.webkit.org/show_bug.cgi?id=160527
Reviewed by Ryosuke Niwa.
Simplify overloads for HTMLSelectElement.add() / HTMLOptionsCollection.add().
We now have 2 overloads instead of 3 while achieving the same web-facing
behavior.
* html/HTMLOptionsCollection.h:
* html/HTMLOptionsCollection.idl:
* html/HTMLSelectElement.h:
(WebCore::HTMLSelectElement::add): Deleted.
* html/HTMLSelectElement.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204133
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 4 Aug 2016 19:33:47 +0000 (19:33 +0000)]
Move Objective-C bindings specific code into the bindings
https://bugs.webkit.org/show_bug.cgi?id=160561
Reviewed by Tim Horton.
* bindings/objc/DOMDocument.mm:
(-[DOMDocument createEntityReference:]):
(-[DOMDocument getElementsByTagName:]):
(-[DOMDocument getElementsByTagNameNS:localName:]):
(-[DOMDocument getElementsByClassName:]):
* bindings/objc/DOMElement.mm:
(-[DOMElement getElementsByTagName:]):
(-[DOMElement getElementsByTagNameNS:localName:]):
(-[DOMElement getElementsByClassName:]):
* css/CSSCharsetRule.idl:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getElementsByTagNameForObjC): Deleted.
(WebCore::ContainerNode::getElementsByTagNameNSForObjC): Deleted.
(WebCore::ContainerNode::getElementsByClassNameForObjC): Deleted.
* dom/ContainerNode.h:
* dom/Document.cpp:
(WebCore::Document::createEntityReference): Deleted.
* dom/Document.h:
* dom/Document.idl:
* dom/Element.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204131
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 4 Aug 2016 19:33:21 +0000 (19:33 +0000)]
[JSC] Speed up InPlaceAbstractState::endBasicBlock()
https://bugs.webkit.org/show_bug.cgi?id=160539
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-04
Reviewed by Mark Lam.
This patch does small improvements to our handling
of value propagation to the successors.
One key insight is that using HashMap to map Nodes
to Value in valuesAtTail is too inefficient at the scale
we use it. Instead, I reuse our existing mapping
from every Node to its value, abstracted by forNode().
Since we are not going to use the mapping after endBasicBlock()
I can replace whatever we had there. The next beginBasicBlock()
will setup the new value as needed.
In endBasicBlock(), valuesAtTail is now a vector of all values live
at tail. For each node, I merge the previous live at tail with
the new value, then replace the value in the mapping.
Liveness Analysis guarantees we won't have duplicates there which
make the replacement sound.
Next, when propagating, I take the vector of values lives at head
and use the global node->value mapping to find its new abstract value.
Again, Liveness Analysis guarantees I won't find a value live at head
that was not replaced by the merging at tail of the predecessor.
All our live lists have become vectors instead of HashTable.
The mapping from Node to Value is always done by array indexing.
Same big-O, much smaller constant.
* dfg/DFGAtTailAbstractState.cpp:
(JSC::DFG::AtTailAbstractState::AtTailAbstractState):
(JSC::DFG::AtTailAbstractState::createValueForNode):
(JSC::DFG::AtTailAbstractState::forNode):
* dfg/DFGAtTailAbstractState.h:
I did not look much into this state, I just made it equivalent
to the previous mapping.
* dfg/DFGBasicBlock.h:
* dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::performBlockCFA):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::endBasicBlock):
(JSC::DFG::InPlaceAbstractState::mergeStateAtTail):
AbstractValue is big enough that we really don't want to copy it twice.
(JSC::DFG::InPlaceAbstractState::merge):
(JSC::DFG::setLiveValues): Deleted.
* dfg/DFGInPlaceAbstractState.h:
* dfg/DFGPhiChildren.h:
This is heap allocated by AbstractInterpreter. It should use fastMalloc().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204130
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 4 Aug 2016 19:13:30 +0000 (19:13 +0000)]
Clean up the deprecated Objective-C binding methods
https://bugs.webkit.org/show_bug.cgi?id=160558
Reviewed by Tim Horton.
Put the deprecated methods in their respective category @implementation, and
simply have them call their non-deprecated counterparts.
* bindings/objc/DOMCSSMediaRule.mm:
(-[DOMCSSMediaRule deleteRule:]):
(-[DOMCSSMediaRule insertRule::]):
* bindings/objc/DOMCSSPrimitiveValue.mm:
(-[DOMCSSPrimitiveValue setFloatValue::]):
(-[DOMCSSPrimitiveValue setStringValue::]):
* bindings/objc/DOMCSSStyleDeclaration.mm:
(-[DOMCSSStyleDeclaration setProperty:::]):
* bindings/objc/DOMCSSStyleSheet.mm:
(-[DOMCSSStyleSheet insertRule::]):
* bindings/objc/DOMCharacterData.mm:
(-[DOMCharacterData deleteData:length:]):
(-[DOMCharacterData replaceData:length:data:]):
(-[DOMCharacterData remove]):
(-[DOMCharacterData substringData::]):
(-[DOMCharacterData insertData::]):
(-[DOMCharacterData deleteData::]):
(-[DOMCharacterData replaceData:::]):
* bindings/objc/DOMDocument.mm:
(-[DOMDocument createProcessingInstruction::]):
(-[DOMDocument importNode::]):
(-[DOMDocument createElementNS::]):
(-[DOMDocument createAttributeNS::]):
(-[DOMDocument getElementsByTagNameNS::]):
(-[DOMDocument createNodeIterator::::]):
(-[DOMDocument createTreeWalker::::]):
(-[DOMDocument getOverrideStyle::]):
(-[DOMDocument createExpression::]):
(-[DOMDocument evaluate:::::]):
(-[DOMDocument getComputedStyle::]):
* bindings/objc/DOMElement.mm:
(-[DOMElement setAttribute::]):
(-[DOMElement getAttributeNS::]):
(-[DOMElement setAttributeNS:::]):
(-[DOMElement removeAttributeNS::]):
(-[DOMElement getElementsByTagNameNS::]):
(-[DOMElement getAttributeNodeNS::]):
(-[DOMElement hasAttributeNS::]):
* bindings/objc/DOMEvent.mm:
(-[DOMEvent stopImmediatePropagation]):
(-[DOMEvent initEvent:::]):
* bindings/objc/DOMHTMLSelectElement.mm:
(-[DOMHTMLSelectElement remove:]):
(-[DOMHTMLSelectElement add::]):
* bindings/objc/DOMMouseEvent.mm:
(-[DOMMouseEvent initMouseEvent:::::::::::::::]):
* bindings/objc/DOMMutationEvent.mm:
(-[DOMMutationEvent initMutationEvent::::::::]):
* bindings/objc/DOMNamedNodeMap.mm:
(-[DOMNamedNodeMap getNamedItemNS::]):
(-[DOMNamedNodeMap removeNamedItemNS::]):
* bindings/objc/DOMNode.mm:
(-[DOMNode insertBefore::]):
(-[DOMNode replaceChild::]):
(-[DOMNode isSupported::]):
* bindings/objc/DOMRange.mm:
(-[DOMRange setStart::]):
(-[DOMRange setEnd::]):
(-[DOMRange compareBoundaryPoints::]):
* bindings/objc/DOMUIEvent.mm:
(-[DOMUIEvent initUIEvent:::::]):
* bindings/objc/DOMXPathExpression.mm:
(-[DOMXPathExpression evaluate:::]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204129
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 4 Aug 2016 18:48:16 +0000 (18:48 +0000)]
Temporary redirected m3u8 streaming stopped working.
https://bugs.webkit.org/show_bug.cgi?id=160472
rdar://problem/
27592694
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-08-04
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/media/hls/hls-redirect.html
The change for https://trac.webkit.org/changeset/202466 hides knowledge of the temporary redirected URL from
WebCoreNSURLSession clients. MPEG playlists (e.g. .m3u8) can contain paths relative to the redirected URL.
This change exposes the redirected URL for MPEG playlists.
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeMPEGPlaylistMIMETypes): Added.
(WebCore::initializeMIMETypeRegistry):
(WebCore::MIMETypeRegistry::isMPEGPlaylistMIMEType): Added.
* platform/MIMETypeRegistry.h:
* platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:]): Add MPEG playlist condition.
(-[WebCoreNSURLSessionDataTask resource:receivedRedirect:request:]): Add MPEG playlist condition.
LayoutTests:
This tests that m3u8 files can be loaded when going through a temporary redirect.
* http/tests/media/hls/hls-redirect-expected.txt: Added.
* http/tests/media/hls/hls-redirect.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204128
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 4 Aug 2016 18:07:45 +0000 (18:07 +0000)]
Content Blocker cannot block WebSocket connections
https://bugs.webkit.org/show_bug.cgi?id=160159
Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-04
Reviewed by Brady Eidson.
Source/WebCore:
Tests: http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php
http/tests/websocket/tests/hybi/contentextensions/block-cookies.php
http/tests/websocket/tests/hybi/contentextensions/block-worker.html
http/tests/websocket/tests/hybi/contentextensions/block.html
http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html
http/tests/websocket/tests/hybi/contentextensions/display-none.html
http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html
http/tests/websocket/tests/hybi/contentextensions/upgrade.html
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpgradeURL):
(WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didClose):
(WebCore::WebSocket::didUpgradeURL):
(WebCore::WebSocket::getFramingOverhead):
* Modules/websockets/WebSocket.h:
Added didUpgradeURL to WebSocketChannelClient so the WebSocketChannel can tell the WebSocket
that it has upgraded a ws: url to a wss: url.
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::~WebSocketChannel):
(WebCore::WebSocketChannel::connect):
If content extensions are being used, run the URL through the content extension and apply its actions
before connecting the WebSocket. This is done in WebSocketChannel instead of WebSocket like the CSP checks
because we need access to the Document in order to get access to the main document's URL for if-domain and
unless-domain rules, and to apply any display:none css to the Document.
(WebCore::WebSocketChannel::disconnect):
* Modules/websockets/WebSocketChannelClient.h:
(WebCore::WebSocketChannelClient::~WebSocketChannelClient):
(WebCore::WebSocketChannelClient::WebSocketChannelClient):
(WebCore::WebSocketChannelClient::didConnect):
(WebCore::WebSocketChannelClient::didReceiveMessage):
(WebCore::WebSocketChannelClient::didReceiveBinaryData):
(WebCore::WebSocketChannelClient::didReceiveMessageError):
(WebCore::WebSocketChannelClient::didUpdateBufferedAmount):
(WebCore::WebSocketChannelClient::didStartClosingHandshake):
(WebCore::WebSocketChannelClient::didClose):
Made WebSocketChannelClient purely virtual to avoid accidentally making an implementation that is missing functionality.
(WebCore::WebSocketChannelClient::didUpgradeURL): Added.
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
(WebCore::WebSocketHandshake::WebSocketHandshake):
(WebCore::WebSocketHandshake::clientOrigin):
(WebCore::WebSocketHandshake::clientLocation):
(WebCore::WebSocketHandshake::clientHandshakeMessage):
Only put cookies on the WebSocket's handshake if we are allowed to use cookies.
(WebCore::WebSocketHandshake::clientHandshakeRequest):
A WebSocketHandshake always has a Document* for its ScriptExecutionContext, so I replaced m_context with
m_document and removed a suspicious-looking check for is<Document> that turned out to not be suspicious at all.
(WebCore::WebSocketHandshake::reset):
(WebCore::WebSocketHandshake::clearDocument):
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::clearScriptExecutionContext): Deleted.
* Modules/websockets/WebSocketHandshake.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpgradeURL):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
* contentextensions/ContentExtensionActions.h:
Before this change we would pass a ResourceRequest as a parameter to the content extension engine.
The ResourceRequest would be used to get the URL, and it would be modified by possibly disabling cookies
or making the URL https. Any display:none CSS rules added were put into the Document through the DocumentLoader.
The only information it needed to return was whether the load was blocked.
To make content extensions work with WebSockets, we need to pass a URL as a parameter instead of a ResourceRequest
because there is no ResourceRequest with WebSockets, only a URL. We can still put CSS rules in through the DocumentLoader,
but the rest of the actions need to be returned through the return value, which is then processed by the callers.
BlockedStatus is now a struct containing a set of actions to apply, and applyBlockedStatusToRequest is a helper function
that applies the actions to the ResourceRequests we have at all previously existing call sites of processContentExtensionRulesForLoad.
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::globalDisplayNoneStyleSheet):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::displayNoneCSSRule):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):
* contentextensions/ContentExtensionsBackend.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource):
Here, we also only had a URL. Before, we were making a ResourceRequest from the URL just for the content extension engine,
but now we can just pass the URL.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/PingLoader.cpp:
(WebCore::processContentExtensionRulesForLoad):
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* page/UserContentProvider.cpp:
(WebCore::contentExtensionsEnabled):
(WebCore::UserContentProvider::processContentExtensionRulesForLoad):
(WebCore::UserContentProvider::actionsForResourceLoad):
* page/UserContentProvider.h:
LayoutTests:
* http/tests/contentextensions/make-https-expected.txt:
Rebased to reflect slight change in console logged messages which contain the same information.
* http/tests/websocket/tests/hybi/contentextensions: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies.php: Copied from LayoutTests/http/tests/websocket/tests/hybi/httponly-cookie.pl.
* http/tests/websocket/tests/hybi/contentextensions/block-cookies.php.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-worker-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-worker.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/block-worker.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/block.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/block.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none-worker-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/display-none.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/block-cookies-worker.js: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/block-worker.js: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/display-none-worker.js: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/echo-cookie_wsh.py: Copied from LayoutTests/http/tests/websocket/tests/hybi/echo-cookie_wsh.py.
* http/tests/websocket/tests/hybi/contentextensions/resources/echo_wsh.py: Added.
* http/tests/websocket/tests/hybi/contentextensions/resources/upgrade-worker.js: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade-worker-expected.txt: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html.json: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade.html: Added.
* http/tests/websocket/tests/hybi/contentextensions/upgrade.html.json: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204127
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 4 Aug 2016 18:03:16 +0000 (18:03 +0000)]
[[Prototype]] property of an interface object for a callback interface must be the Object.prototype object
https://bugs.webkit.org/show_bug.cgi?id=160555
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline W3C trst now that one more check is passing.
* web-platform-tests/dom/interfaces-expected.txt:
Source/WebCore:
[[Prototype]] property of an interface object for a callback interface
must be the Object.prototype object:
- http://heycam.github.io/webidl/#interface-object
This impacts NodeFilter, which is a callback interface.
No new tests, rebaselined existing test.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
LayoutTests:
Rebaseline existing test.
* platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204126
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 4 Aug 2016 17:48:38 +0000 (17:48 +0000)]
Web Inspector: Add placeholder graphs to TimelineOverview while editing
https://bugs.webkit.org/show_bug.cgi?id=160485
<rdar://problem/
27670755>
Reviewed by Brian Burg.
Insert placeholder elements in TimelineOverview's graph container
when editing instruments. This allows alternating overview graph styles
to be shown for disabled instruments, and ensures that every tree element
has a corresponding element in the overview during dragging/reordering
of instruments (see https://webkit.org/b/157957).
* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype._startEditingInstruments):
(WebInspector.TimelineOverview.prototype._stopEditingInstruments):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204125
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 4 Aug 2016 17:47:19 +0000 (17:47 +0000)]
Web Inspector: UI polish for Open Quickly and Goto Line dialogs
https://bugs.webkit.org/show_bug.cgi?id=159849
<rdar://problem/
27383068>
Reviewed by Brian Burg.
* UserInterface/Images/Search.svg: Added.
Magnifying glass icon.
* UserInterface/Views/GoToLineDialog.css:
(.go-to-line-dialog):
(.go-to-line-dialog > div):
(.go-to-line-dialog > div::before):
* UserInterface/Views/OpenResourceDialog.css:
(.open-resource-dialog > .field):
(.open-resource-dialog > .field::before):
(.open-resource-dialog.has-results > .tree-outline):
(.open-resource-dialog > .tree-outline .item):
Add search icon to left of the input field in both dialogs,
and adjust styles to better match Xcode 8.
* UserInterface/Views/OpenResourceDialog.js:
(WebInspector.OpenResourceDialog):
Remove "input" event listener, as styles are now toggled in _updateFilter.
(WebInspector.OpenResourceDialog.prototype._updateFilter):
Toggle "has-results" and "non-empty" class names.
(WebInspector.OpenResourceDialog.prototype._handleInputEvent): Deleted.
(WebInspector.OpenResourceDialog.prototype._clear): Deleted.
Moved class toggle to _updateFilter.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204124
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pvollan@apple.com [Thu, 4 Aug 2016 17:02:42 +0000 (17:02 +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@204123
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 4 Aug 2016 16:28:17 +0000 (16:28 +0000)]
Element.insertAdjacent*() should throw a SYNTAX_ERR for invalid "where" parameter
https://bugs.webkit.org/show_bug.cgi?id=160514
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
* web-platform-tests/dom/nodes/Element-insertAdjacentElement-expected.txt:
* web-platform-tests/dom/nodes/Element-insertAdjacentText-expected.txt:
* web-platform-tests/dom/nodes/insert-adjacent-expected.txt:
Source/WebCore:
Element.insertAdjacent*() should throw a SYNTAX_ERR for invalid "where" parameter:
- https://dom.spec.whatwg.org/#insert-adjacent
We were throwing a NOT_SUPPORTED_ERR instead.
No new tests, rebaselined existing tests.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::insertAdjacent):
LayoutTests:
Rebaseline existing test now that a different exception is thrown.
* fast/dynamic/insertAdjacentElement-expected.txt:
* fast/dynamic/insertAdjacentText-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204122
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
caitp@igalia.com [Thu, 4 Aug 2016 15:59:44 +0000 (15:59 +0000)]
[JSC] fix generator-syntax.js JSTest again after yield grammar fix
https://bugs.webkit.org/show_bug.cgi?id=160550
Reviewed by Yusuke Suzuki.
* stress/generator-syntax.js:
(testYieldBindingIdentifier):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204120
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Thu, 4 Aug 2016 14:46:32 +0000 (14:46 +0000)]
[ES7] Update features.json for exponentiation expression
https://bugs.webkit.org/show_bug.cgi?id=160541
Reviewed by Mark Lam.
* features.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204119
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alex@webkit.org [Thu, 4 Aug 2016 09:26:16 +0000 (09:26 +0000)]
WebRTC: OWR: Add support for the muted state in the mediaplayer
https://bugs.webkit.org/show_bug.cgi?id=160502
Modified the load, play and stop methods to handle the new
situation where the mediaSource could be empty, until the remote
side sends the information to create the receiver.
Reviewed by Philippe Normand.
No new tests, we need to upstream the owr endpoint to check this
situation.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::play): Check the muted
state of the tracks if required, we do it using the new
maybeHandleChangeMutedState function.
(WebCore::MediaPlayerPrivateGStreamerOwr::load): Add always the
observer of the track to check when it is unmuted, and we delay
enabling/setting the source until the play or the unmute.
(WebCore::MediaPlayerPrivateGStreamerOwr::internalLoad): Removed,
we now do all in the load method.
(WebCore::MediaPlayerPrivateGStreamerOwr::stop): Remove the
mediasource when disabling. Removed the m_stopped state, it was
there because the internalLoad was called multiple times.
(WebCore::MediaPlayerPrivateGStreamerOwr::trackMutedChanged):
Check the muted state and handle it, we use the new method
maybeHandleChangeMutedState.
(WebCore::MediaPlayerPrivateGStreamerOwr::maybeHandleChangeMutedState):
Check if the track is muted or not, in case it is muted disable
the the renderer and remove its mediasource. If it is not muted
enable the renderer and set the mediasource.
(WebCore::MediaPlayerPrivateGStreamerOwr::createVideoSink): Move
the workaround for the renderer to this method when it is created.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h:
Removed internalLoad method and the m_stopped attribute used to
call internalLoad multiple times.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204118
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 4 Aug 2016 07:56:37 +0000 (07:56 +0000)]
DocumentThreadableLoader should pass the fetch mode to underlying loader code
https://bugs.webkit.org/show_bug.cgi?id=160399
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-04
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Updated expectations.
Added new tests to check specifically for Origin header in case of redirections.
Updated server-side redirect.py python script to generate valid Location URLs.
* web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt:
* web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt:
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt:
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-origin-expected.txt: Added.
* web-platform-tests/fetch/api/redirect/redirect-origin-worker-expected.txt: Added.
* web-platform-tests/fetch/api/redirect/redirect-origin-worker.html: Added.
* web-platform-tests/fetch/api/redirect/redirect-origin.html: Added.
* web-platform-tests/fetch/api/redirect/redirect-origin.js: Added.
(testOriginAfterRedirection):
* web-platform-tests/fetch/api/redirect/redirect-schemes-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-schemes.html: Updated test so that fetches are done in a deterministic order, one after the other is finished.
* web-platform-tests/fetch/api/resources/redirect.py:
(main):
Source/WebCore:
Tests: imported/w3c/web-platform-tests/fetch/api/redirect/redirect-origin-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-origin.html
Covered by existing and rebased tests.
DocumentThredableLoader was previously loading resources in NoCors mode and doing the cors checks on it own.
This was duplicating code and increasing the risk of being not consistent.
DocumentThreadableLoader is now passing the fetch mode given by client to underlying loader code.
This allows removing some CORS checks in DocumentThreadableLoader code for redirections.
Updated SubresourceLoader redirection CORS checks to be on par with DocumentThreadableLoader.
In particular, aligning the code with https://fetch.spec.whatwg.org/#http-redirect-fetch.
The error logging situation is not perfect as some errors are properly logged in the console while some others are not.
For instance blockedError (due to forbidden port for instance) reason is not logged on the console.
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived): Updating redirection checking as SubresourceLoader is already doing most of the checks.
(WebCore::DocumentThreadableLoader::didReceiveResponse): Removing temp hack as tainting is now computed by underlying loader code.
(WebCore::DocumentThreadableLoader::loadRequest): Removing fetch mode change.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal): Updating cancellation error and improve error logging.
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl): Improved the checks and error reporting.
Tried to align as much as possible to https://fetch.spec.whatwg.org/#http-redirect-fetch.
* loader/SubresourceLoader.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFail): Added an error message to the console in case of access control error.
LayoutTests:
* TestExpectations:
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
* http/tests/security/isolatedWorld/bypass-main-world-csp-worker-redirect-expected.txt:
* http/tests/workers/worker-redirect-expected.txt:
* http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
* http/tests/xmlhttprequest/access-control-and-redirects-async.html: Fixed bugs in the test and updated comments.
* http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
* http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
* http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204117
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 4 Aug 2016 06:53:26 +0000 (06:53 +0000)]
LayoutTest imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-post-upload.htm failing
https://bugs.webkit.org/show_bug.cgi?id=159724
Unreviewed..
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-04
* TestExpectations: Removing Crash expectation since it is only occuring on Debug Mac bots.
* platform/mac/TestExpectations: Skipping test in Debug for Mac bots.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204116
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 4 Aug 2016 05:26:58 +0000 (05:26 +0000)]
Object.getOwnPropertyNames() on NamedNodeMap fails to return named properties
https://bugs.webkit.org/show_bug.cgi?id=160517
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
* web-platform-tests/dom/collections/namednodemap-supported-property-names-expected.txt:
* web-platform-tests/dom/nodes/attributes-expected.txt:
Source/WebCore:
Object.getOwnPropertyNames() on NamedNodeMap should return named
properties' names as per:
- https://dom.spec.whatwg.org/#dom-namednodemap-item
No new tests, rebaselined existing tests.
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::supportedPropertyNames):
* dom/NamedNodeMap.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204115
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 4 Aug 2016 05:11:26 +0000 (05:11 +0000)]
Drop DocumentType.internalSubset attribute
https://bugs.webkit.org/show_bug.cgi?id=160530
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
* web-platform-tests/dom/historical-expected.txt:
Source/JavaScriptCore:
Drop DocumentType.internalSubset attribute.
* inspector/protocol/DOM.json:
Source/WebCore:
Drop DocumentType.internalSubset attribute.
It is no longer in the DOM specification:
- https://dom.spec.whatwg.org/#documenttype
- https://w3c.github.io/DOM-Parsing/#xml-serializing-a-documenttype-node
Other browsers have already dropped it. In WebKit, it was always null
anyway.
No new tests, rebaselined existing test.
* bindings/objc/DOMDocumentType.mm:
(-[DOMDocumentType internalSubset]):
* dom/DocumentType.h:
* dom/DocumentType.idl:
* dom/Node.cpp:
(WebCore::Node::isEqualNode): Deleted.
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendDocumentType): Deleted.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode): Deleted.
Source/WebInspectorUI:
Drop DocumentType.internalSubset attribute.
* UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode): Deleted.
* UserInterface/Models/DOMSearchMatchObject.js:
(WebInspector.DOMSearchMatchObject.titleForDOMNode): Deleted.
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204114
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 4 Aug 2016 05:09:18 +0000 (05:09 +0000)]
Drop legacy Document.defaultCharset attribute
https://bugs.webkit.org/show_bug.cgi?id=160536
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
* web-platform-tests/dom/historical-expected.txt:
Source/WebCore:
Drop legacy Document.defaultCharset attribute.
It is no longer in the specification:
- https://dom.spec.whatwg.org/#interface-document
Firefox and Chrome have already dropped it.
No new tests, rebaselined existing test.
* bindings/objc/DOMDocument.mm:
(-[DOMDocument defaultCharset]):
* dom/Document.cpp:
(WebCore::Document::defaultCharsetForBindings):
* dom/Document.h:
* dom/Document.idl:
LayoutTests:
* fast/dom/Document/document-charset-expected.txt:
* fast/dom/Document/document-charset.html:
Drop defaultCharset checks.
* fast/frames/detached-frame-document-defaultCharset-expected.txt: Removed.
* fast/frames/detached-frame-document-defaultCharset.html: Removed.
Drop test that is no longer useful now that we dropped defaultCharset.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204113
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 4 Aug 2016 03:43:51 +0000 (03:43 +0000)]
[JSC] Improve the memory locality of DFG Node's AbstractValues
https://bugs.webkit.org/show_bug.cgi?id=160443
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-03
Reviewed by Mark Lam.
The AbstractInterpreter spends a lot of time on memory operations
for AbstractValues. This patch attempts to improve the situation
by putting the values closer together in memory.
First, AbstractValue is moved out of DFG::Node and it kept in
a vector addressed by node indices.
I initially moved them to InPlaceAbstractState but I quickly discovered
initializing the values in the vector was costly.
I moved the vector to Graph as a cache shared by every instantiation of
InPlaceAbstractState. It is mainly there to avoid constructors and destructors
of AbstractValue. The patch of https://bugs.webkit.org/show_bug.cgi?id=160370
should also help eventually.
I instrumented CFA to find how packed is SparseCollection.
The answer is it can be very sparse, which is bad for CFA.
I added packIndices() to repack the collection before running
liveness since that's where we start using the memory intensively.
This is a measurable improvement but it implies we can no longer
keep indices on a side channel between phases since they may change.
* b3/B3SparseCollection.h:
(JSC::B3::SparseCollection::packIndices):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::packNodeIndices):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::abstractValuesCache):
* dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::InPlaceAbstractState):
* dfg/DFGInPlaceAbstractState.h:
(JSC::DFG::InPlaceAbstractState::forNode):
* dfg/DFGLivenessAnalysisPhase.cpp:
(JSC::DFG::performLivenessAnalysis):
* dfg/DFGNode.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204112
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
caitp@igalia.com [Thu, 4 Aug 2016 02:36:28 +0000 (02:36 +0000)]
Clarify SyntaxErrors around yield and unskip tests
https://bugs.webkit.org/show_bug.cgi?id=158460
Reviewed by Saam Barati.
Fix and unskip tests which erroneously asserted that `yield` is not a
valid BindingIdentifier, and improve error message for YieldExpressions
occuring in Arrow formal parameters.
JSTests:
* stress/generator-syntax.js:
* stress/yield-out-of-generator.js:
Source/JavaScriptCore:
* parser/Parser.cpp:
(JSC::Scope::MaybeParseAsGeneratorForScope::MaybeParseAsGeneratorForScope):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseYieldExpression):
* parser/Parser.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204111
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 4 Aug 2016 01:27:10 +0000 (01:27 +0000)]
Marking media/track/track-in-band-cues-added-once.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=142152
Unreviewed test gardening.
* platform/ios-simulator-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204109
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 4 Aug 2016 00:00:13 +0000 (00:00 +0000)]
Remove some unneeded #ifs now that the Objective-C bindings are frozen
https://bugs.webkit.org/show_bug.cgi?id=160532
Reviewed by Tim Horton.
* DerivedSources.make:
* Modules/mediasession/HTMLMediaElementMediaSession.idl:
* Modules/mediastream/HTMLMediaElementMediaStream.idl:
* WebCore.xcodeproj/project.pbxproj:
* animation/DocumentAnimation.idl:
* dom/ChildNode.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/ParentNode.idl:
* fileapi/Blob.idl:
* fileapi/FileError.idl:
* html/DOMSettableTokenList.h: Removed.
* html/DOMSettableTokenList.idl: Removed.
* html/HTMLCanvasElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptionsCollection.idl:
* html/HTMLVideoElement.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204108
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 3 Aug 2016 23:50:19 +0000 (23:50 +0000)]
[iOS] SF-Heavy is not accessible from web content
https://bugs.webkit.org/show_bug.cgi?id=160522
<rdar://problem/
27685273>
Reviewed by Simon Fraser.
Source/WebCore:
The mappings we were using from CSS font-weight to CoreText font weight were inaccurate.
Instead, these new mappings should be used.
Test: fast/text/system-font-weight.html
* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::systemFontModificationAttributes):
LayoutTests:
* platform/ios-simulator/fast/text/system-font-weight-expected.txt: iOS 9 is not
expected to pass this test, but there is no way to specify that currently using
TestExpectations. Instead, we can create an iOS 9 specific result.
* fast/text/system-font-weight-expected.txt:
* fast/text/system-font-weight.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204107
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aakash_jain@apple.com [Wed, 3 Aug 2016 23:25:02 +0000 (23:25 +0000)]
Document instructions for increasing process and file limits
https://bugs.webkit.org/show_bug.cgi?id=160528
rdar://problem/
24777576
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.default_child_processes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204105
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 3 Aug 2016 22:53:09 +0000 (22:53 +0000)]
Remove the Objective-C bindings generator
https://bugs.webkit.org/show_bug.cgi?id=160526
Reviewed by Sam Weinig.
Source/WebCore:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/PublicDOMInterfaces.h: Removed.
* bindings/scripts/CodeGeneratorObjC.pm: Removed.
* bindings/scripts/test/ObjC/DOMFloat64Array.h: Removed.
* bindings/scripts/test/ObjC/DOMFloat64Array.mm: Removed.
* bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMInterfaceName.h: Removed.
* bindings/scripts/test/ObjC/DOMInterfaceName.mm: Removed.
* bindings/scripts/test/ObjC/DOMInterfaceNameInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h: Removed.
* bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCallback.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCallback.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestCallbackFunction.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCallbackFunction.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestCallbackFunctionInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructor.h: Removed.
* bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructor.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructorInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObjectInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestEventConstructor.h: Removed.
* bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestEventTarget.h: Removed.
* bindings/scripts/test/ObjC/DOMTestEventTarget.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestException.h: Removed.
* bindings/scripts/test/ObjC/DOMTestException.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: Removed.
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestGlobalObject.h: Removed.
* bindings/scripts/test/ObjC/DOMTestGlobalObject.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestGlobalObjectInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestImplements.cpp: Removed.
* bindings/scripts/test/ObjC/DOMTestImplements.h: Removed.
* bindings/scripts/test/ObjC/DOMTestInterface.h: Removed.
* bindings/scripts/test/ObjC/DOMTestInterface.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestIterable.h: Removed.
* bindings/scripts/test/ObjC/DOMTestIterable.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestIterableInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h: Removed.
* bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructorInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: Removed.
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNode.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNode.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestNodeInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNondeterministic.h: Removed.
* bindings/scripts/test/ObjC/DOMTestNondeterministic.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestNondeterministicInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestObj.h: Removed.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestObjInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h: Removed.
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestOverrideBuiltins.h: Removed.
* bindings/scripts/test/ObjC/DOMTestOverrideBuiltins.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestOverrideBuiltinsInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Removed.
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMTestSupplemental.cpp: Removed.
* bindings/scripts/test/ObjC/DOMTestSupplemental.h: Removed.
* bindings/scripts/test/ObjC/DOMTestTypedefs.h: Removed.
* bindings/scripts/test/ObjC/DOMTestTypedefs.mm: Removed.
* bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMattribute.h: Removed.
* bindings/scripts/test/ObjC/DOMattribute.mm: Removed.
* bindings/scripts/test/ObjC/DOMattributeInternal.h: Removed.
* bindings/scripts/test/ObjC/DOMreadonly.h: Removed.
* bindings/scripts/test/ObjC/DOMreadonly.mm: Removed.
* bindings/scripts/test/ObjC/DOMreadonlyInternal.h: Removed.
* bindings/scripts/test/ObjC/ObjCTestSupplemental.cpp: Removed.
* bindings/scripts/test/ObjC/ObjCTestSupplemental.h: Removed.
Tools:
* Scripts/run-bindings-tests:
Update test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204104
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 3 Aug 2016 21:31:03 +0000 (21:31 +0000)]
Remove dead bindings code
https://bugs.webkit.org/show_bug.cgi?id=160521
Reviewed by Tim Horton.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMBlob.mm:
(core): Deleted.
* bindings/objc/DOMBlobInternal.h:
* bindings/objc/DOMCDATASection.mm:
(core): Deleted.
* bindings/objc/DOMCDATASectionInternal.h:
* bindings/objc/DOMCSSCharsetRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSCharsetRuleInternal.h: Removed.
* bindings/objc/DOMCSSFontFaceRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSFontFaceRuleInternal.h: Removed.
* bindings/objc/DOMCSSImportRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSImportRuleInternal.h: Removed.
* bindings/objc/DOMCSSMediaRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSMediaRuleInternal.h: Removed.
* bindings/objc/DOMCSSPageRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSPageRuleInternal.h: Removed.
* bindings/objc/DOMCSSPrimitiveValue.mm:
(core): Deleted.
* bindings/objc/DOMCSSPrimitiveValueInternal.h:
* bindings/objc/DOMCSSRule.mm:
(core): Deleted.
* bindings/objc/DOMCSSRuleInternal.h:
* bindings/objc/DOMCSSRuleList.mm:
(core): Deleted.
* bindings/objc/DOMCSSRuleListInternal.h:
* bindings/objc/DOMCSSStyleRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSStyleRuleInternal.h: Removed.
* bindings/objc/DOMCSSStyleSheet.mm:
(core): Deleted.
* bindings/objc/DOMCSSStyleSheetInternal.h:
* bindings/objc/DOMCSSUnknownRule.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSUnknownRuleInternal.h: Removed.
* bindings/objc/DOMCSSValue.mm:
(core): Deleted.
* bindings/objc/DOMCSSValueInternal.h:
* bindings/objc/DOMCSSValueList.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCSSValueListInternal.h: Removed.
* bindings/objc/DOMCharacterData.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMCharacterDataInternal.h: Removed.
* bindings/objc/DOMComment.mm:
(core): Deleted.
* bindings/objc/DOMCommentInternal.h:
* bindings/objc/DOMCounter.mm:
(core): Deleted.
* bindings/objc/DOMCounterInternal.h:
* bindings/objc/DOMDOMImplementation.mm:
(core): Deleted.
* bindings/objc/DOMDOMImplementationInternal.h:
* bindings/objc/DOMDOMTokenList.mm:
(core): Deleted.
* bindings/objc/DOMDOMTokenListInternal.h:
* bindings/objc/DOMEntity.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMEntityInternal.h: Removed.
* bindings/objc/DOMEntityReference.mm:
(core): Deleted.
* bindings/objc/DOMEntityReferenceInternal.h:
* bindings/objc/DOMFile.mm:
(core): Deleted.
* bindings/objc/DOMFileInternal.h:
* bindings/objc/DOMHTMLAnchorElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLAnchorElementInternal.h: Removed.
* bindings/objc/DOMHTMLAppletElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLAppletElementInternal.h: Removed.
* bindings/objc/DOMHTMLAreaElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLAreaElementInternal.h:
* bindings/objc/DOMHTMLBRElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLBRElementInternal.h: Removed.
* bindings/objc/DOMHTMLBaseElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLBaseElementInternal.h: Removed.
* bindings/objc/DOMHTMLBaseFontElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLBaseFontElementInternal.h: Removed.
* bindings/objc/DOMHTMLBodyElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLBodyElementInternal.h: Removed.
* bindings/objc/DOMHTMLButtonElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLButtonElementInternal.h: Removed.
* bindings/objc/DOMHTMLCanvasElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLCanvasElementInternal.h: Removed.
* bindings/objc/DOMHTMLCollection.mm:
(core): Deleted.
* bindings/objc/DOMHTMLCollectionInternal.h:
* bindings/objc/DOMHTMLDListElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLDListElementInternal.h: Removed.
* bindings/objc/DOMHTMLDirectoryElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLDirectoryElementInternal.h: Removed.
* bindings/objc/DOMHTMLDivElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLDivElementInternal.h: Removed.
* bindings/objc/DOMHTMLEmbedElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLEmbedElementInternal.h: Removed.
* bindings/objc/DOMHTMLFieldSetElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLFieldSetElementInternal.h: Removed.
* bindings/objc/DOMHTMLFontElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLFontElementInternal.h: Removed.
* bindings/objc/DOMHTMLFormElement.mm:
(core): Deleted.
* bindings/objc/DOMHTMLFormElementInternal.h:
* bindings/objc/DOMHTMLFrameElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLFrameElementInternal.h: Removed.
* bindings/objc/DOMHTMLFrameSetElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLFrameSetElementInternal.h: Removed.
* bindings/objc/DOMHTMLHRElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLHRElementInternal.h: Removed.
* bindings/objc/DOMHTMLHeadElement.mm:
(core): Deleted.
* bindings/objc/DOMHTMLHeadElementInternal.h:
* bindings/objc/DOMHTMLHeadingElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLHeadingElementInternal.h: Removed.
* bindings/objc/DOMHTMLHtmlElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLHtmlElementInternal.h: Removed.
* bindings/objc/DOMHTMLIFrameElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLIFrameElementInternal.h: Removed.
* bindings/objc/DOMHTMLImageElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLImageElementInternal.h:
* bindings/objc/DOMHTMLLIElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLLIElementInternal.h: Removed.
* bindings/objc/DOMHTMLLabelElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLLabelElementInternal.h: Removed.
* bindings/objc/DOMHTMLLegendElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLLegendElementInternal.h: Removed.
* bindings/objc/DOMHTMLLinkElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLLinkElementInternal.h:
* bindings/objc/DOMHTMLMapElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMapElementInternal.h: Removed.
* bindings/objc/DOMHTMLMarqueeElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMarqueeElementInternal.h: Removed.
* bindings/objc/DOMHTMLMediaElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMediaElementInternal.h: Removed.
* bindings/objc/DOMHTMLMenuElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMenuElementInternal.h: Removed.
* bindings/objc/DOMHTMLMetaElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLMetaElementInternal.h: Removed.
* bindings/objc/DOMHTMLModElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLModElementInternal.h: Removed.
* bindings/objc/DOMHTMLOListElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLOListElementInternal.h: Removed.
* bindings/objc/DOMHTMLObjectElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLObjectElementInternal.h: Removed.
* bindings/objc/DOMHTMLOptGroupElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLOptGroupElementInternal.h: Removed.
* bindings/objc/DOMHTMLOptionsCollection.mm:
(core): Deleted.
* bindings/objc/DOMHTMLOptionsCollectionInternal.h:
* bindings/objc/DOMHTMLParagraphElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLParagraphElementInternal.h: Removed.
* bindings/objc/DOMHTMLParamElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLParamElementInternal.h: Removed.
* bindings/objc/DOMHTMLPreElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLPreElementInternal.h: Removed.
* bindings/objc/DOMHTMLQuoteElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLQuoteElementInternal.h: Removed.
* bindings/objc/DOMHTMLScriptElement.mm:
(core): Deleted.
* bindings/objc/DOMHTMLScriptElementInternal.h:
* bindings/objc/DOMHTMLSelectElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLSelectElementInternal.h:
* bindings/objc/DOMHTMLStyleElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLStyleElementInternal.h:
* bindings/objc/DOMHTMLTableColElement.mm:
(kit): Deleted.
* bindings/objc/DOMHTMLTableColElementInternal.h:
* bindings/objc/DOMHTMLTableElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLTableElementInternal.h: Removed.
* bindings/objc/DOMHTMLTableRowElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLTableRowElementInternal.h: Removed.
* bindings/objc/DOMHTMLTitleElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLTitleElementInternal.h: Removed.
* bindings/objc/DOMHTMLUListElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLUListElementInternal.h: Removed.
* bindings/objc/DOMHTMLVideoElement.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMHTMLVideoElementInternal.h: Removed.
* bindings/objc/DOMKeyboardEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMKeyboardEventInternal.h: Removed.
* bindings/objc/DOMMediaError.mm:
(core): Deleted.
* bindings/objc/DOMMediaErrorInternal.h:
* bindings/objc/DOMMediaList.mm:
(core): Deleted.
* bindings/objc/DOMMediaListInternal.h:
* bindings/objc/DOMMouseEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMMouseEventInternal.h: Removed.
* bindings/objc/DOMMutationEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMMutationEventInternal.h: Removed.
* bindings/objc/DOMNamedNodeMap.mm:
(core): Deleted.
* bindings/objc/DOMNamedNodeMapInternal.h:
* bindings/objc/DOMNodeIterator.mm:
(core): Deleted.
* bindings/objc/DOMNodeIteratorInternal.h:
* bindings/objc/DOMNodeList.mm:
(core): Deleted.
* bindings/objc/DOMNodeListInternal.h:
* bindings/objc/DOMOverflowEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMOverflowEventInternal.h: Removed.
* bindings/objc/DOMProgressEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMProgressEventInternal.h: Removed.
* bindings/objc/DOMRGBColor.mm:
(core): Deleted.
* bindings/objc/DOMRGBColorInternal.h:
* bindings/objc/DOMRect.mm:
(core): Deleted.
* bindings/objc/DOMRectInternal.h:
* bindings/objc/DOMStyleSheet.mm:
(core): Deleted.
* bindings/objc/DOMStyleSheetInternal.h:
* bindings/objc/DOMStyleSheetList.mm:
(core): Deleted.
* bindings/objc/DOMStyleSheetListInternal.h:
* bindings/objc/DOMText.mm:
(core): Deleted.
* bindings/objc/DOMTextEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMTextEventInternal.h: Removed.
* bindings/objc/DOMTextInternal.h:
* bindings/objc/DOMTimeRanges.mm:
(core): Deleted.
* bindings/objc/DOMTimeRangesInternal.h:
* bindings/objc/DOMTreeWalker.mm:
(core): Deleted.
* bindings/objc/DOMTreeWalkerInternal.h:
* bindings/objc/DOMUIEvent.mm:
(core): Deleted.
(kit): Deleted.
* bindings/objc/DOMUIEventInternal.h: Removed.
* bindings/objc/DOMWheelEvent.mm:
(kit): Deleted.
* bindings/objc/DOMWheelEventInternal.h:
* bindings/objc/DOMXPathExpression.mm:
(core): Deleted.
* bindings/objc/DOMXPathExpressionInternal.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204103
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 3 Aug 2016 20:57:43 +0000 (20:57 +0000)]
[Mac] Work around AVPlayer setMuted bug
https://bugs.webkit.org/show_bug.cgi?id=160519
<rdar://problem/
27310475>
Reviewed by Dean Jackson.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Only override
supportsMuting on iOS.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204100
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Wed, 3 Aug 2016 20:49:15 +0000 (20:49 +0000)]
Web Inspector: Cmd-L shortcut for Jump to Line conflicts with selecting URL of inspected page
https://bugs.webkit.org/show_bug.cgi?id=158028
<rdar://problem/
26516663>
Reviewed by Timothy Hatcher.
Remove Command-L shortcut for opening the Line Number dialog, since
we already support Control-G.
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204099
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Wed, 3 Aug 2016 20:06:22 +0000 (20:06 +0000)]
[SOUP] Deduplicate WebProcessPool::setIgnoreTLSErrors
https://bugs.webkit.org/show_bug.cgi?id=160489
Reviewed by Alex Christensen.
WebProcessPool::setIgnoreTLSErrors has identical implementation in WebProcessPoolEfl.cpp
and WebProcessPoolGtk.cpp. We have WebProcessPoolSoup.cpp and this function is specific to
the soup network backend, so move it there.
* UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::setIgnoreTLSErrors): Deleted.
* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::setIgnoreTLSErrors): Deleted.
* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::setIgnoreTLSErrors):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204097
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Wed, 3 Aug 2016 19:40:33 +0000 (19:40 +0000)]
Unreviewed test gardening.
* platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Renamed from LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt.
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204096
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 3 Aug 2016 18:50:57 +0000 (18:50 +0000)]
REGRESSION(r203368): broke some test262 tests
https://bugs.webkit.org/show_bug.cgi?id=160479
Reviewed by Mark Lam.
JSTests:
Added a stress test for this case, since we don't always run test262.
* stress/freeze-setter.js: Added.
(let.o.set foo):
Source/JavaScriptCore:
The optimization in r203368 overlooked a subtle detail: freezing should not set ReadOnly on
Accessor properties.
* runtime/Structure.cpp:
(JSC::Structure::nonPropertyTransition):
* runtime/StructureTransitionTable.h:
(JSC::setsDontDeleteOnAllProperties):
(JSC::setsReadOnlyOnNonAccessorProperties):
(JSC::setsReadOnlyOnAllProperties): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204093
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Wed, 3 Aug 2016 18:44:04 +0000 (18:44 +0000)]
Revise a TestWebKitAPI comment to mention the actual underlying problem
* TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
Note that this is because of https://bugs.webkit.org/show_bug.cgi?id=160516
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204092
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Wed, 3 Aug 2016 18:43:15 +0000 (18:43 +0000)]
[bmalloc] Merging of XLargeRanges can leak the upper range
https://bugs.webkit.org/show_bug.cgi?id=160403
Reviewed by Michael Saboff.
* bmalloc/Heap.cpp:
(bmalloc::Heap::scavengeLargeObjects): Don't use removePhysical().
Recorded physical size is a performance optimization. It is not the
truth. So it might be zero even if a range contains physical pages.
Instead, iterate each range in the map unconditionally.
The map can shrink when we release the lock, so we must clamp our
iterator each time through the loop.
The map can grow when we release the lock, but we don't care because
growth restarts the scavenger from the beginning.
* bmalloc/XLargeMap.cpp:
(bmalloc::XLargeMap::removePhysical): Deleted. Not used anymore.
* bmalloc/XLargeMap.h:
(bmalloc::XLargeMap::ranges): Added direct access for the sake of
scavengeLargeObjects. (This violates our naming conventions -- I'll do
a rename in a follow-up patch.)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204091
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 3 Aug 2016 18:35:21 +0000 (18:35 +0000)]
Fix logging in W3C tests
https://bugs.webkit.org/show_bug.cgi?id=160513
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline W3C tests.
* web-platform-tests/XMLHttpRequest/open-url-about-blank-window-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-javascript-window-2-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-javascript-window-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-multi-window-4-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-multi-window-5-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-multi-window-expected.txt:
* web-platform-tests/XMLHttpRequest/send-content-type-string-expected.txt:
* web-platform-tests/dom/collections/domstringmap-supported-property-names-expected.txt:
* web-platform-tests/dom/collections/namednodemap-supported-property-names-expected.txt:
* web-platform-tests/dom/nodes/Comment-constructor-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_bmp-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_css-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_gif-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_html-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_javascripturi-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_jpg-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_01-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_02-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_png-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_txt-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_xml-expected.txt:
* web-platform-tests/dom/nodes/Document-createElement-namespace-expected.txt:
* web-platform-tests/dom/nodes/Element-childElement-null-expected.txt:
* web-platform-tests/dom/nodes/Element-childElement-null-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-nochild-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-childElementCount-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-children-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-entity-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-namespace-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-namespace-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-firstElementChild-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-insertAdjacentElement-expected.txt:
* web-platform-tests/dom/nodes/Element-insertAdjacentText-expected.txt:
* web-platform-tests/dom/nodes/Element-lastElementChild-expected.txt:
* web-platform-tests/dom/nodes/Element-lastElementChild-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-nextElementSibling-expected.txt:
* web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-previousElementSibling-expected.txt:
* web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Element-siblingElement-null-expected.txt:
* web-platform-tests/dom/nodes/Element-siblingElement-null-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Node-appendChild-expected.txt:
* web-platform-tests/dom/nodes/Node-contains-xml-expected.txt:
* web-platform-tests/dom/nodes/Node-isEqualNode-xhtml-expected.txt:
* web-platform-tests/dom/nodes/Node-removeChild-expected.txt:
* web-platform-tests/dom/nodes/Text-constructor-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-19-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-20-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-21-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-22-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-23-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-24-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-25-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-26-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-27-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-28-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-29-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-30-expected.txt:
* web-platform-tests/dom/nodes/getElementsByClassName-31-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-basic-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-currentNode-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-traversal-reject-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-traversal-skip-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most-expected.txt:
* web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree-expected.txt:
* web-platform-tests/domparsing/innerhtml-05-expected.txt:
* web-platform-tests/fetch/nosniff/image-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.images-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-01-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-02-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/049-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/050-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/051-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-write/document.write-02-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/001-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/006-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/007-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/009-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt:
* web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt:
* web-platform-tests/html/dom/reflection-embedded-expected.txt:
* web-platform-tests/html/dom/reflection-forms-expected.txt:
* web-platform-tests/html/dom/reflection-grouping-expected.txt:
* web-platform-tests/html/dom/reflection-metadata-expected.txt:
* web-platform-tests/html/dom/reflection-misc-expected.txt:
* web-platform-tests/html/dom/reflection-obsolete-expected.txt:
* web-platform-tests/html/dom/reflection-sections-expected.txt:
* web-platform-tests/html/dom/reflection-tabular-expected.txt:
* web-platform-tests/html/dom/reflection-text-expected.txt:
* web-platform-tests/html/semantics/disabled-elements/disabledElement-expected.txt:
* web-platform-tests/html/semantics/document-metadata/the-base-element/base_multiple-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/activeCues-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/addCue-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/id-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/pauseOnExit-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/track-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getCueById-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/length-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/video_008-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_check-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-dimension-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/error-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/update-media-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-handler-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-video-element/video-tabindex-expected.txt:
* web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-customError-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-typeMismatch-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
* web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
* web-platform-tests/html/semantics/forms/the-button-element/button-validation-expected.txt:
* web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions-expected.txt:
* web-platform-tests/html/semantics/forms/the-fieldset-element/disabled-001-expected.txt:
* web-platform-tests/html/semantics/forms/the-fieldset-element/disabled-002-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-elements-matches-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-01-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-02-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-elements-sameobject-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-nameditem-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/button-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/checkbox-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/reset-expected.txt:
* web-platform-tests/html/semantics/forms/the-option-element/option-text-backslash-expected.txt:
* web-platform-tests/html/semantics/forms/the-output-element/output-expected.txt:
* web-platform-tests/html/semantics/forms/the-progress-element/progress-expected.txt:
* web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-expected.txt:
* web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-namedItem-expected.txt:
* web-platform-tests/html/semantics/forms/the-select-element/select-named-getter-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_003-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_004-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_005-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_006-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_007-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_008-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/async_010-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/checked-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/default-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/dir-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/dir01-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/enabled-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/focus-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/required-optional-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-table-element/tBodies-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-tr-element/cells-expected.txt:
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-getter-01-expected.txt:
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-setter-01-expected.txt:
LayoutTests:
Fix logging in W3C tests. Some W3C tests have no visible output or
output in the wrong order because we fail to use the test's "log"
<div> and always append the log lines to the body.
* resources/testharnessreport.js:
(self.testRunner.add_completion_callback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204090
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 3 Aug 2016 18:17:38 +0000 (18:17 +0000)]
Cleanup HTMLMediaElement track lists.
https://bugs.webkit.org/show_bug.cgi?id=160470
Reviewed by Brent Fulgham.
* html/track/AudioTrack.cpp:
(WebCore::AudioTrack::willRemove): Remove unnecessary ASSERT and NULL check.
* html/track/TextTrackList.cpp:
(TextTrackList::~TextTrackList): Call clearElement so media element and client pointers are
cleared.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204089
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Wed, 3 Aug 2016 18:11:50 +0000 (18:11 +0000)]
[Mac] media/pip-video-going-into-fullscreen.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=160469
Reviewed by Eric Carlson.
Source/WebCore:
When going from picture-in-picture directly to fullscreen, fix the issue where the
presentation mode unexpectedly changes back to inline after changing to fullscreen.
On Mac, standard fullscreen is not handled by WebVideoFullscreenManager.
When going from picture-in-picture directly to fullscreen, we call
WebVideoFullscreenInterfaceMac::exitFullscreenWithoutAnimationToMode().
We should update m_mode to VideoFullscreenModeStandard there to keep it in sync
with the fullscreen mode in HTMLMediaElement. Otherwise, we'll inadvertently
update the mode to inline when we clear the VideoFullscreenModePictureInPicture mode
in -[WebVideoFullscreenInterfaceMacObjC pipDidClose:].
Since standard fullscreen on Mac doesn't make use of the video fullscreen layer,
we need to make sure we return the video layer back to inline when the presentation
mode changes to "fullscreen". We only do this on Mac because iOS does use
the video fullscreen layer for standard fullscreen.
* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::setPreparedToReturnVideoLayerToInline):
Renamed from MediaControlsHost::setPreparedForInline to make it clear this is about
whether the video layer should be inline.
(WebCore::MediaControlsHost::setPreparedForInline): Deleted.
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediacontrols/MediaControlsHost.idl:
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.shouldReturnVideoLayerToInline):
On Mac, the video layer is inline when the presentation mode is "inline" or "fullscreen".
(Controller.prototype.handlePresentationModeChange):
Call shouldReturnVideoLayerToInline() to determine whether the video layer should be inline.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.shouldReturnVideoLayerToInline):
Override this method since on iOS, the video layer is only inline when the presentation
mode is "inline".
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
(WebCore::HTMLMediaElement::setPreparedToReturnVideoLayerToInline):
(WebCore::HTMLMediaElement::setPreparedForInline): Deleted.
* html/HTMLMediaElement.h:
* platform/mac/WebVideoFullscreenInterfaceMac.mm:
(WebCore::WebVideoFullscreenInterfaceMac::enterFullscreen):
Remove the assertion that the mode must be "picture-in-picture". I've run into this
assertion in layout tests. Since the EnterFullscreen message is sent in a dispatch_async
block in WebVideoFullscreenManager::didSetupFullscreen(), there's a chance that the
fullscreen mode tracked in WebVideoFullscreenInterfaceMac has already changed to
something else when WebVideoFullscreenInterfaceMac::enterFullscreen() is called.
(WebCore::WebVideoFullscreenInterfaceMac::exitFullscreenWithoutAnimationToMode):
If exiting to standard fullscreen, update m_mode to VideoFullscreenModeStandard.
LayoutTests:
Re-enable media/pip-video-going-into-fullscreen.html on Sierra.
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204088
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Wed, 3 Aug 2016 18:05:50 +0000 (18:05 +0000)]
Benchmark test content-animation timeouts always
https://bugs.webkit.org/show_bug.cgi?id=160057
Reviewed by Simon Fraser.
* Scripts/webkitpy/benchmark_runner/data/plans/Skipped: Added.
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(start):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204087
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 3 Aug 2016 17:15:12 +0000 (17:15 +0000)]
http/tests/fetch/fetch-in-worker-crash.html is sometimes crashing
https://bugs.webkit.org/show_bug.cgi?id=160498
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-03
Reviewed by Chris Dumez.
Source/WebCore:
Covered by http/tests/fetch/fetch-in-worker-crash.html.
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): Taking a reference of the client wrapper to ensure it can be cleaned-up successfully.
LayoutTests:
* http/tests/fetch/fetch-in-worker.js:
(onmessage): Reducing flakiness risk by making fetch http load being delayed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204085
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Wed, 3 Aug 2016 17:12:55 +0000 (17:12 +0000)]
Lacking support on a arm-traditional disassembler.
https://bugs.webkit.org/show_bug.cgi?id=123717
Reviewed by Mark Lam.
.:
* Source/cmake/FindLLVM.cmake: Added back the r196749 state.
* Source/cmake/OptionsCommon.cmake: Added back the r196749 state.
Source/JavaScriptCore:
* CMakeLists.txt:
* disassembler/ARMLLVMDisassembler.cpp: Added, based on pre r196729 LLVMDisassembler, but it is ARM traditional only now.
(JSC::tryToDisassemble):
Source/WTF:
* wtf/Platform.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204084
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 3 Aug 2016 16:53:15 +0000 (16:53 +0000)]
Freeze the last of the Objective-C bindings
https://bugs.webkit.org/show_bug.cgi?id=160482
Reviewed by Darin Adler.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMAttr.h: Added.
* bindings/objc/DOMAttr.mm: Added.
* bindings/objc/DOMAttrInternal.h: Added.
* bindings/objc/DOMCDATASection.h: Added.
* bindings/objc/DOMCDATASection.mm: Added.
* bindings/objc/DOMCDATASectionInternal.h: Added.
* bindings/objc/DOMCharacterData.h
* bindings/objc/DOMCharacterData.mm: Added.
* bindings/objc/DOMCharacterDataInternal.h: Added.
* bindings/objc/DOMComment.h: Added.
* bindings/objc/DOMComment.mm: Added.
* bindings/objc/DOMCommentInternal.h: Added.
* bindings/objc/DOMDOMImplementation.h: Added.
* bindings/objc/DOMDOMImplementation.mm: Added.
* bindings/objc/DOMDOMImplementationInternal.h: Added.
* bindings/objc/DOMDocument.h: Added.
* bindings/objc/DOMDocument.mm: Added.
* bindings/objc/DOMDocumentFragment.h: Added.
* bindings/objc/DOMDocumentFragment.mm: Added.
* bindings/objc/DOMDocumentFragmentInternal.h: Added.
* bindings/objc/DOMDocumentFragmentPrivate.h: Added.
* bindings/objc/DOMDocumentInternal.h: Added.
* bindings/objc/DOMDocumentPrivate.h: Added.
* bindings/objc/DOMDocumentType.h: Added.
* bindings/objc/DOMDocumentType.mm: Added.
* bindings/objc/DOMDocumentTypeInternal.h: Added.
* bindings/objc/DOMElement.h: Added.
* bindings/objc/DOMElement.mm: Added.
* bindings/objc/DOMElementInternal.h: Added.
* bindings/objc/DOMEntity.h: Added.
* bindings/objc/DOMEntity.mm: Added.
* bindings/objc/DOMEntityInternal.h: Added.
* bindings/objc/DOMEntityReference.h: Added.
* bindings/objc/DOMEntityReference.mm: Added.
* bindings/objc/DOMEntityReferenceInternal.h: Added.
* bindings/objc/DOMNamedNodeMap.h: Added.
* bindings/objc/DOMNamedNodeMap.mm: Added.
* bindings/objc/DOMNamedNodeMapInternal.h: Added.
* bindings/objc/DOMNode.h: Added.
* bindings/objc/DOMNode.mm: Added.
* bindings/objc/DOMNodeInternal.h: Added.
* bindings/objc/DOMNodeList.h: Added.
* bindings/objc/DOMNodeList.mm: Added.
* bindings/objc/DOMNodeListInternal.h: Added.
* bindings/objc/DOMNodePrivate.h: Added.
* bindings/objc/DOMProcessingInstruction.h: Added.
* bindings/objc/DOMProcessingInstruction.mm: Added.
* bindings/objc/DOMProcessingInstructionInternal.h: Added.
* bindings/objc/DOMText.h: Added.
* bindings/objc/DOMText.mm: Added.
* bindings/objc/DOMTextEvent.mm:
* bindings/objc/DOMTextEventInternal.h:
* bindings/objc/DOMTextInternal.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204083
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Wed, 3 Aug 2016 16:33:40 +0000 (16:33 +0000)]
[Mac][iOS] Adopt MediaRemote "seek to playback position"
https://bugs.webkit.org/show_bug.cgi?id=160405
<rdar://problem/
27547583>
Reviewed by Dean Jackson.
* platform/ios/RemoteCommandListenerIOS.mm:
(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS): Fix a typo.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204082
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 3 Aug 2016 16:12:17 +0000 (16:12 +0000)]
Unreviewed, move LayoutTest out of platform/ios-simulator/ios.
* fast/events/touch/ios/Touch-attributes-prototype-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/touch/Touch-attributes-prototype-expected.txt.
* fast/events/touch/ios/Touch-attributes-prototype.html: Renamed from LayoutTests/platform/ios-simulator/ios/touch/Touch-attributes-prototype.html.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204081
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mcatanzaro@igalia.com [Wed, 3 Aug 2016 14:35:38 +0000 (14:35 +0000)]
[GTK] Document how to initialize WebKitFaviconDatabase
https://bugs.webkit.org/show_bug.cgi?id=160391
Reviewed by Carlos Garcia Campos.
* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204080
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 3 Aug 2016 10:41:11 +0000 (10:41 +0000)]
Refresh wpt tests up to d686014
https://bugs.webkit.org/show_bug.cgi?id=160446
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-03
Reviewed by Alex Christensen.
* resources/ImportExpectations:
* resources/TestRepositories:
* resources/web-platform-tests-modules.json:
* web-platform-tests/XMLHttpRequest/FormData-append.html:
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.any.js: Added.
(test):
(string_appeared_here.test):
(string_appeared_here.async_test):
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.html: Removed.
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js: Removed.
* web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.js: Removed.
* web-platform-tests/XMLHttpRequest/headers-normalize-response-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/headers-normalize-response.htm: Added.
* web-platform-tests/XMLHttpRequest/open-url-multi-window.htm:
* web-platform-tests/XMLHttpRequest/resources/last-modified.py:
(main):
* web-platform-tests/XMLHttpRequest/resources/parse-headers.py: Added.
(main):
* web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm:
* web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-empty-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-empty.htm:
* web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async.htm:
* web-platform-tests/XMLHttpRequest/send-entity-body-get-head-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-get-head.htm:
* web-platform-tests/XMLHttpRequest/send-entity-body-none-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-none.htm:
* web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm:
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/dom/events/AddEventListenerOptions-once-expected.txt: Added.
* web-platform-tests/dom/events/AddEventListenerOptions-once.html: Added.
* web-platform-tests/dom/events/w3c-import.log:
* web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt: Added.
* web-platform-tests/dom/lists/DOMTokenList-iteration.html: Added.
* web-platform-tests/dom/lists/w3c-import.log:
* web-platform-tests/dom/nodes/Node-childNodes-expected.txt:
* web-platform-tests/dom/nodes/Node-childNodes.html:
* web-platform-tests/domparsing/insert_adjacent_html-expected.txt:
* web-platform-tests/fetch/api/basic/request-headers-expected.txt:
* web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
* web-platform-tests/fetch/api/basic/request-headers.js:
* web-platform-tests/fetch/api/basic/request-referrer-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-referrer.html: Added.
* web-platform-tests/fetch/api/basic/request-referrer.js: Added.
(testReferrer):
* web-platform-tests/fetch/api/basic/w3c-import.log:
* web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-no-referrer-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-no-referrer-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-no-referrer.html.headers:
* web-platform-tests/fetch/api/policies/referrer-no-referrer.js.headers:
* web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-expected.txt.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-expected.txt.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-worker.html: Added.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.html: Added.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.html.headers: Added.
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.js: Added.
(promise_test):
* web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.js.headers: Added.
* web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin.html.headers:
* web-platform-tests/fetch/api/policies/referrer-origin.js.headers:
* web-platform-tests/fetch/api/policies/referrer-unsafe-url-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-unsafe-url-worker-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-unsafe-url.html.headers:
* web-platform-tests/fetch/api/policies/referrer-unsafe-url.js.headers:
* web-platform-tests/fetch/api/policies/w3c-import.log:
* web-platform-tests/fetch/api/request/request-cache-expected.txt:
* web-platform-tests/fetch/api/request/resources/get-host-info.sub.js: Removed.
* web-platform-tests/fetch/nosniff/resources/image.py:
(main):
* web-platform-tests/fetch/nosniff/stylesheet-expected.txt:
* web-platform-tests/fetch/nosniff/stylesheet.html:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html:
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li.html:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-open-expected.txt: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-open.html: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
* web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-03-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-03.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods-expected.txt:
* web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html:
* web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row-expected.txt: Added.
* web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row.html: Added.
* web-platform-tests/html/semantics/tabular-data/the-table-element/w3c-import.log:
* web-platform-tests/lint.whitelist:
* web-platform-tests/service-workers/tools/blink-import.py:
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Wed, 3 Aug 2016 07:50:40 +0000 (07:50 +0000)]
Implement nested rest destructuring w.r.t the ES7 spec
https://bugs.webkit.org/show_bug.cgi?id=160423
Reviewed by Filip Pizlo.
JSTests:
* stress/destructuring-rest-element.js: Added.
(assert):
(test):
(arr):
(eq):
(gen):
(fakeGen.return.Symbol.iterator):
(fakeGen):
* stress/rest-elements.js:
(testSyntaxError.String.raw):
* stress/rest-parameter-is-destructuring.js: Added.
(assert):
(test):
(foo):
(bar):
* test262.yaml:
Source/JavaScriptCore:
The spec has updated the BindingRestElement grammar production to be:
BindingRestElement:
BindingIdentifier
BindingingPattern.
It used to only allow BindingIdentifier in the grammar production.
I've updated our engine to account for this. The semantics are exactly
what you'd expect. For example:
`let [a, ...[b, ...c]] = expr();`
means that we create an array for the first rest element `...[b, ...c]`
and then perform the binding of `[b, ...c]` to that array. And so on,
applied recursively through the pattern.
* bytecompiler/NodesCodegen.cpp:
(JSC::RestParameterNode::collectBoundIdentifiers):
(JSC::RestParameterNode::toString):
(JSC::RestParameterNode::bindValue):
(JSC::RestParameterNode::emit):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createBindingLocation):
(JSC::ASTBuilder::createRestParameter):
(JSC::ASTBuilder::createAssignmentElement):
* parser/NodeConstructors.h:
(JSC::AssignmentElementNode::AssignmentElementNode):
(JSC::RestParameterNode::RestParameterNode):
(JSC::DestructuringAssignmentNode::DestructuringAssignmentNode):
* parser/Nodes.h:
(JSC::RestParameterNode::name): Deleted.
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseFormalParameters):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::operatorStackPop):
LayoutTests:
* js/parser-syntax-check-expected.txt:
* js/script-tests/parser-syntax-check.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204078
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 3 Aug 2016 07:38:32 +0000 (07:38 +0000)]
[JSC] Fix Windows build after r204065
* dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::observeTransitions):
AbstractValue is bigger on Windows for an unknown reason.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204077
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 3 Aug 2016 07:06:28 +0000 (07:06 +0000)]
Activate directory index generation for Apache test server
https://bugs.webkit.org/show_bug.cgi?id=160451
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-03
Reviewed by Alexey Proskuryakov.
* http/conf/apache2.4-httpd.conf:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204076
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fred.wang@free.fr [Wed, 3 Aug 2016 07:00:38 +0000 (07:00 +0000)]
Move determination of operator direction into DOM class and reduce relayout
https://bugs.webkit.org/show_bug.cgi?id=160339
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.
We move the determination of operator direction into MathMLOperatorElement. We also simplify
a bit RenderMathMLFencedOperator so that the update of operator properties are done
immediately in updateOperatorContent and the resolution of to LayoutUnit is implemented
in leadingSpace, trailingSpace, minSize and maxSize. After that, setOperatorProperties is no
longer necessary and we can remove many calls that used to update operator properties and
force relayout.
No new tests, already covered by existing tests.
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::childrenChanged): No need to call updateOperatorProperties.
* mathml/MathMLOperatorElement.cpp: Change names from "text" to "char".
(WebCore::MathMLOperatorElement::parseOperatorChar): Parse character and isVertical in this function.
(WebCore::MathMLOperatorElement::operatorChar):
(WebCore::MathMLOperatorElement::childrenChanged):
(WebCore::MathMLOperatorElement::computeDictionaryProperty): Call operatorChar().character.
(WebCore::MathMLOperatorElement::parseOperatorText): Deleted.
(WebCore::MathMLOperatorElement::operatorText): Deleted.
* mathml/MathMLOperatorElement.h: Use a new structure to hold both the character and direction
and change names from "text" to "char".
* rendering/mathml/RenderMathMLFencedOperator.cpp:
(WebCore::RenderMathMLFencedOperator::updateOperatorContent): Update both the character and
direction using MathMLOperatorElement::parseOperatorChar. Then set the boolean properties
and leading/trailing space using the operator dictionary. minsize and maxsize are constant
so we do not need to set them any more.
(WebCore::RenderMathMLFencedOperator::leadingSpace): Resolve the spacing read from the
dictionary to LayoutUnit. Note that it can never be negative.
(WebCore::RenderMathMLFencedOperator::trailingSpace): Ditto.
(WebCore::RenderMathMLFencedOperator::RenderMathMLFencedOperator): Deleted.
(WebCore::RenderMathMLFencedOperator::setOperatorProperties): Deleted.
* rendering/mathml/RenderMathMLFencedOperator.h: We use the new OperatorChar structure for
accessors and members. We make minSize and maxSize just return the default values and delete
the corresponding members. Finally, leading and trailing space are now stored as unsigned
short in MathUnit.
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::textContent): Use the new OperatorChar structure.
(WebCore::RenderMathMLOperator::isVertical): Helper function forwarding to MathMLOperatorElement.
(WebCore::RenderMathMLOperator::stretchTo): Use isVertical() and remove setOperatorProperties().
(WebCore::RenderMathMLOperator::resetStretchSize): Ditto.
(WebCore::RenderMathMLOperator::updateMathOperator): Rename rebuildTokenContent as this is
now really only used to update MathOperator and hence replace the condition on
useMathOperator() with an ASSERT.
(WebCore::RenderMathMLOperator::updateTokenContent): Call updateMathOperator instead of
rebuildTokenContent.
(WebCore::RenderMathMLOperator::verticalStretchedOperatorShift): We use isVertical().
(WebCore::RenderMathMLOperator::paint): Ditto.
(WebCore::RenderMathMLOperator::setOperatorProperties): Deleted. This is no longer needed.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Deleted.
(WebCore::RenderMathMLOperator::rebuildTokenContent): Deleted. Renamed updateMathOperator.
(WebCore::RenderMathMLOperator::styleDidChange): No need to call updateOperatorProperties.
(WebCore::RenderMathMLOperator::updateOperatorProperties): Ditto..
* rendering/mathml/RenderMathMLOperator.h: Update some declaration and remove m_isVertical.
(WebCore::RenderMathMLOperator::isVertical): Deleted.
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::updateOperatorProperties): Deleted. This is no longer needed.
* rendering/mathml/RenderMathMLRow.h: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204075
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 3 Aug 2016 06:35:08 +0000 (06:35 +0000)]
Update breaking rules to match ICU 57
https://bugs.webkit.org/show_bug.cgi?id=160488
<rdar://problem/
25856238>
Reviewed by Darin Adler.
Source/WTF:
This patch fixes a typo in the uax14AssignmentsAfter rules which
was causing flag emoji to have line breaking opportunities in their
middles. It also fixes significant language issues for languages
such as Hebrew, and adds correct breaking opportunities around
hyphens.
* wtf/text/TextBreakIterator.cpp:
(WTF::cursorMovementIterator):
(WTF::uax14AssignmentsAfter):
(WTF::uax14Forward):
(WTF::uax14Reverse):
LayoutTests:
* fast/text/flag-emoji-line-break-expected.html: Added.
* fast/text/flag-emoji-line-break.html: Added.
* platform/mac/TestExpectations: Mark the test as failing on Yosemite.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204074
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 3 Aug 2016 05:33:48 +0000 (05:33 +0000)]
[JSC] Fix 32bits jsc after r204065
Default constructed JSValue() are not equal to zero in 32bits.
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::AbstractValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204066
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Wed, 3 Aug 2016 03:45:07 +0000 (03:45 +0000)]
[JSC] Simplify the initialization of AbstractValue in the AbstractInterpreter
https://bugs.webkit.org/show_bug.cgi?id=160370
Reviewed by Saam Barati.
Source/JavaScriptCore:
We use a ton of AbstractValue to run the Abstract Interpreter.
When we set up the initial values, the compiler sets
a zero on a first word, a one on a second word, and a zero
again on a third word.
Since no vector or double-store can deal with 3 words, unrolling
is done by repeating those instructions.
The reason for the one was TinyPtrSet. It needed a flag for
empty value to identify the set as thin. I flipped the flag to "fat"
to make sure TinyPtrSet is initialized to zero.
With that done, I just had to clean some places to make
the initialization shorter.
It makes the binary easier to follow but this does not help with
the bigger problem: the time spent per block on Abstract Interpreter.
* bytecode/Operands.h:
The traits were useless, no client code defines it.
(JSC::Operands::Operands):
(JSC::Operands::ensureLocals):
Because of the size of the function, llvm is not inlining it.
We were literally loading 3 registers from memory and storing
them in the vector.
Now that AbstractValue has a VectorTraits, we should just rely
on the memset of Vector when possible.
(JSC::Operands::getLocal):
(JSC::Operands::setArgumentFirstTime):
(JSC::Operands::setLocalFirstTime):
(JSC::Operands::clear):
(JSC::OperandValueTraits::defaultValue): Deleted.
(JSC::OperandValueTraits::isEmptyForDump): Deleted.
* bytecode/OperandsInlines.h:
(JSC::Operands<T>::dumpInContext):
(JSC::Operands<T>::dump):
(JSC::Traits>::dumpInContext): Deleted.
(JSC::Traits>::dump): Deleted.
* dfg/DFGAbstractValue.cpp:
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::AbstractValue):
Source/WTF:
* wtf/TinyPtrSet.h:
(WTF::TinyPtrSet::isThin):
(WTF::TinyPtrSet::set):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204065
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 3 Aug 2016 02:56:22 +0000 (02:56 +0000)]
Drop custom bindings code for HTMLSelectElement.remove()
https://bugs.webkit.org/show_bug.cgi?id=160477
Reviewed by Darin Adler.
Drop custom bindings code for HTMLSelectElement.remove() and use
overloading instead.
* bindings/js/JSHTMLSelectElementCustom.cpp:
(WebCore::JSHTMLSelectElement::remove): Deleted.
* html/HTMLSelectElement.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@204064
268f45cc-cd09-0410-ab3c-
d52691b4dbfc