WebKit-https.git
4 years agoRange.isPointInRange check root node before verifying offset
rniwa@webkit.org [Fri, 4 Sep 2015 16:25:02 +0000 (16:25 +0000)]
Range.isPointInRange check root node before verifying offset
https://bugs.webkit.org/show_bug.cgi?id=148776

isPointInRange should never throw WrongDocumentError
https://bugs.webkit.org/show_bug.cgi?id=148779

Reviewed by Darin Adler.

Source/WebCore:

Fixed two bugs since they were inter-dependent on each other.

We use the same trick we used for comparePoint in r189327 to avoid O(n) operation in common cases
and return false when either calls to compareBoundaryPoints yields a WrongDocumentError.

No new tests since this is covered by an existing W3C test.

* dom/Range.cpp:
(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):

LayoutTests:

Rebaselined the test now that all test cases pass.

* http/tests/w3c/dom/ranges/Range-isPointInRange-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189347 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agocss3/flexbox/csswg/css-flexbox-height-animation-stretch.html is flaky
ap@apple.com [Fri, 4 Sep 2015 16:21:27 +0000 (16:21 +0000)]
css3/flexbox/csswg/css-flexbox-height-animation-stretch.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=143294

Reviewed by Dean Jackson.

* TestExpectations: This test is just inherently flaky.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189346 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoFollow-up patch for r189343.
clopez@igalia.com [Fri, 4 Sep 2015 11:48:08 +0000 (11:48 +0000)]
Follow-up patch for r189343.
https://bugs.webkit.org/show_bug.cgi?id=148795

Rubber-stamped by Csaba Osztrogonác.

* Source/cmake/WebKitCommon.cmake: Relax the Ruby version requirement
to 1.9, since this seems to be enough to fix the build failure.
And 2.0 may cause problems for developers using some distributions like Ubuntu.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189345 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[CMake] Trigger the memory-reduction tricks on armhf too
commit-queue@webkit.org [Fri, 4 Sep 2015 11:44:21 +0000 (11:44 +0000)]
[CMake] Trigger the memory-reduction tricks on armhf too
https://bugs.webkit.org/show_bug.cgi?id=146640

Patch by Emanuele Aina <emanuele.aina@collabora.com> on 2015-09-04
Reviewed by Csaba Osztrogonác.

* Source/cmake/OptionsCommon.cmake:
Activate --no-keep-memory even on armhf to reduce the amount of memory
needed during linking, to avoid out-of-memory failures as much as
possible.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189344 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION(r189293): JavaScriptCore/offlineasm/x86.rb -- Build failure with ruby...
clopez@igalia.com [Fri, 4 Sep 2015 11:26:12 +0000 (11:26 +0000)]
REGRESSION(r189293): JavaScriptCore/offlineasm/x86.rb -- Build failure with ruby < 2.0
https://bugs.webkit.org/show_bug.cgi?id=148795

Rubber-stamped by Carlos Garcia Campos.

* Source/cmake/WebKitCommon.cmake: Require now at least Ruby 2.0

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189343 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[ARM] Fix the ARM Traditional build after r189288
ossy@webkit.org [Fri, 4 Sep 2015 11:16:03 +0000 (11:16 +0000)]
[ARM] Fix the ARM Traditional build after r189288
https://bugs.webkit.org/show_bug.cgi?id=148792

Reviewed by Zoltan Herczeg.

* assembler/MacroAssemblerARM.h: Make repatchCall public similar to changes in r189288.
(JSC::MacroAssemblerARM::repatchCall):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189342 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[ES6] Implement ES6 arrow function syntax. Prototype of arrow function should be...
commit-queue@webkit.org [Fri, 4 Sep 2015 06:58:40 +0000 (06:58 +0000)]
[ES6] Implement ES6 arrow function syntax. Prototype of arrow function should be undefined
https://bugs.webkit.org/show_bug.cgi?id=147742

Source/JavaScriptCore:

Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-09-03
Reviewed by Saam Barati.

Added correct support of prototype property for arrow function. Arrow function
doesn’t have own prototype property, so (() => {}).hasOwnProperty('prototype') === false.
Changes prevent from creation of 'prototype' property automatically during initialization
of arrow function and allow to assign & delete it later in js code.

* runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::deleteProperty):
* tests/stress/arrowfunction-prototype.js: Added.

LayoutTests:

Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-09-04
Reviewed by Saam Barati.

Added tests of prototype property for arrow function. Checks that arrow function does not have
prototype property after creating of it and check if it is possible to add/remove it later.

* js/arrowfunction-prototype-expected.txt: Added.
* js/arrowfunction-prototype.html: Added.
* js/script-tests/arrowfunction-prototype.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189341 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, rolling out r189338.
cdumez@apple.com [Fri, 4 Sep 2015 04:54:09 +0000 (04:54 +0000)]
Unreviewed, rolling out r189338.
https://bugs.webkit.org/show_bug.cgi?id=148785

Caused tons of crashes (Requested by cdumez on #webkit).

Reverted changeset:

"Web Inspector: InspectorController should support multiple
frontend channels"
https://bugs.webkit.org/show_bug.cgi?id=148538
http://trac.webkit.org/changeset/189338

Patch by Commit Queue <commit-queue@webkit.org> on 2015-09-03

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189340 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[ES6] Instantiate Module Environment bindings and execute module
utatane.tea@gmail.com [Fri, 4 Sep 2015 04:29:04 +0000 (04:29 +0000)]
[ES6] Instantiate Module Environment bindings and execute module
https://bugs.webkit.org/show_bug.cgi?id=148053

Reviewed by Saam Barati.

This patch implements Module Environment binding instantiation.
And since the layout of the module environment is tightly coupled with the variable
look up in LLInt / Baseline / DFG, we implement the execution part at the same time.

For the instantiation, we implement the several operations (like resolveExport)
specified in the spec. The original algorithm contains the recursive call, but it is not
good for C++ code. We flatten the algorithm by using the manual frames to avoid recursions.
By leveraging the information retrieved by the above operations, we instantiate and
initialize the slots of the module environment.

The module namespace object is not implemented yet in this patch. It will be implemented
and instantiated in the module environment in the subsequent patch[1].

To look up the imported module bindings in the JS code, we introduce the "ModuleVar" resolve
type for resolve_scope, get_from_scope and put_to_scope. This "ModuleVar" will be filled
when linking the CodeBlock. This type is used when treating the imported bindings.

1. For resolve_scope, when linking, we resolve the actual module environment where
    looked up variable resides and store it directly to the instruction. And resolve_scope
    simply retrieve the stored pointer from the instruction.

2. For get_from_scope, since "ModuleVar" behavior for get_from_scope is completely same
    to the "ClosureVar", we just store "ClosureVar" for get_from_scope to eliminate
    unnecessary branch in LLInt layer.

3. For put_to_scope, we always emit the function call that immediately raises the error.
    Because all the imported bindings are immutable and module code is always strict code.
    In DFG, we just emit the ForceOSRExit. We don't make put_to_scope with "ModuleVar"
    "CannotCompile" because it disables DFG compiling for the function even if this
    problematic instruction is never executed.

Exported module variables inside the original module environment are just treated as the
usual heap variables. So the types for closure variables are just used. ("ClosureVar" etc.)

[1]: https://bugs.webkit.org/show_bug.cgi?id=148705

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedModuleProgramCodeBlock::visitChildren): Deleted.
* bytecode/UnlinkedCodeBlock.h:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* interpreter/Interpreter.h:
* jit/JITOperations.cpp:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* parser/ModuleAnalyzer.cpp:
(JSC::ModuleAnalyzer::exportVariable):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
* runtime/Error.cpp:
(JSC::throwSyntaxError):
* runtime/Error.h:
* runtime/Executable.cpp:
(JSC::ModuleProgramExecutable::create):
(JSC::ModuleProgramExecutable::visitChildren):
(JSC::ModuleProgramExecutable::clearCode):
* runtime/Executable.h:
* runtime/GetPutInfo.h:
(JSC::resolveTypeName):
(JSC::makeType):
(JSC::needsVarInjectionChecks):
(JSC::ResolveOp::ResolveOp):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::moduleEnvironmentStructure):
* runtime/JSLexicalEnvironment.h:
* runtime/JSModuleEnvironment.cpp: Added.
(JSC::JSModuleEnvironment::create):
(JSC::JSModuleEnvironment::finishCreation):
(JSC::JSModuleEnvironment::visitChildren):
(JSC::JSModuleEnvironment::getOwnPropertySlot):
(JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames):
(JSC::JSModuleEnvironment::put):
(JSC::JSModuleEnvironment::deleteProperty):
* runtime/JSModuleEnvironment.h: Copied from Source/JavaScriptCore/runtime/JSLexicalEnvironment.h.
(JSC::JSModuleEnvironment::create):
(JSC::JSModuleEnvironment::createStructure):
(JSC::JSModuleEnvironment::offsetOfModuleRecord):
(JSC::JSModuleEnvironment::allocationSize):
(JSC::JSModuleEnvironment::moduleRecord):
(JSC::JSModuleEnvironment::moduleRecordSlot):
(JSC::JSModuleEnvironment::JSModuleEnvironment):
* runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::visitChildren):
(JSC::JSModuleRecord::appendRequestedModule):
(JSC::JSModuleRecord::addStarExportEntry):
(JSC::JSModuleRecord::addImportEntry):
(JSC::JSModuleRecord::addExportEntry):
(JSC::ResolveQuery::ResolveQuery):
(JSC::ResolveQuery::isEmptyValue):
(JSC::ResolveQuery::isDeletedValue):
(JSC::ResolveQueryHash::hash):
(JSC::ResolveQueryHash::equal):
(JSC::resolveExportLoop):
(JSC::JSModuleRecord::link):
(JSC::JSModuleRecord::instantiateDeclarations):
(JSC::JSModuleRecord::execute):
(JSC::JSModuleRecord::dump):
* runtime/JSModuleRecord.h:
(JSC::JSModuleRecord::exportEntries):
(JSC::JSModuleRecord::importEntries):
(JSC::JSModuleRecord::starExportEntries):
(JSC::JSModuleRecord::moduleEnvironment):
(JSC::JSModuleRecord::appendRequestedModule): Deleted.
(JSC::JSModuleRecord::addImportEntry): Deleted.
(JSC::JSModuleRecord::addExportEntry): Deleted.
(JSC::JSModuleRecord::addStarExportEntry): Deleted.
* runtime/JSScope.cpp:
(JSC::abstractAccess):
(JSC::JSScope::collectVariablesUnderTDZ):
(JSC::JSScope::isModuleScope):
* runtime/JSScope.h:
* runtime/ModuleLoaderObject.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189339 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: InspectorController should support multiple frontend channels
bburg@apple.com [Fri, 4 Sep 2015 03:58:43 +0000 (03:58 +0000)]
Web Inspector: InspectorController should support multiple frontend channels
https://bugs.webkit.org/show_bug.cgi?id=148538

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Instead of a singleton, it should be possible to have multiple channels open
at the same time and to individually close channels as frontends come and go.

The FrontendRouter class keeps a list of open FrontendChannels and sends messages
to the appropriate frontends based on whether the message is a response or event.
Each InspectorController owns a single FrontendRouter and BackendDispatcher instance.
Inspector backend code that sends messages to the frontend should switch over to
using the router rather than directly using a FrontendChannel.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/InspectorBackendDispatcher.cpp: Move constructors/destructors out of the header
to avoid including InspectorFrontendRouter everywhere. Use the router instead of a
specific frontend channel. Remove guards that are no longer necessary since the router
is guaranteed to outlive the backend dispatcher.

(Inspector::SupplementalBackendDispatcher::SupplementalBackendDispatcher):
(Inspector::SupplementalBackendDispatcher::~SupplementalBackendDispatcher):
(Inspector::BackendDispatcher::BackendDispatcher):
(Inspector::BackendDispatcher::create):
(Inspector::BackendDispatcher::isActive):
(Inspector::BackendDispatcher::registerDispatcherForDomain):
(Inspector::BackendDispatcher::sendResponse):
(Inspector::BackendDispatcher::sendPendingErrors):
* inspector/InspectorBackendDispatcher.h:
(Inspector::SupplementalBackendDispatcher::SupplementalBackendDispatcher): Deleted.
(Inspector::SupplementalBackendDispatcher::~SupplementalBackendDispatcher): Deleted.
(Inspector::BackendDispatcher::clearFrontend): Deleted, no longer necessary.
(Inspector::BackendDispatcher::isActive): Moved to implementation file.
(Inspector::BackendDispatcher::BackendDispatcher): Moved to implementation file.
* inspector/InspectorFrontendRouter.cpp: Added.
(Inspector::FrontendRouter::create):
(Inspector::FrontendRouter::connectFrontend):
(Inspector::FrontendRouter::disconnectFrontend):
(Inspector::FrontendRouter::disconnectAllFrontends):
(Inspector::FrontendRouter::leakChannel):
(Inspector::FrontendRouter::hasLocalFrontend):
(Inspector::FrontendRouter::hasRemoteFrontend):
(Inspector::FrontendRouter::sendEvent):
(Inspector::FrontendRouter::sendResponse):
* inspector/InspectorFrontendRouter.h: Added.
* inspector/JSGlobalObjectInspectorController.cpp: Remove guards that are no longer necessary.
The frontend router and backend dispatcher now have the same lifetime as the controller.
Explicitly connect/disconnect the frontend channel.

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectAllFrontends):
(Inspector::JSGlobalObjectInspectorController::dispatchMessageFromFrontend):
(Inspector::JSGlobalObjectInspectorController::appendExtraAgent):
(Inspector::JSGlobalObjectInspectorController::pause): Deleted.
* inspector/JSGlobalObjectInspectorController.h:
* inspector/agents/InspectorAgent.cpp:
* inspector/agents/InspectorConsoleAgent.cpp:
* inspector/agents/InspectorDebuggerAgent.cpp:
* inspector/agents/InspectorRuntimeAgent.cpp:
* inspector/augmentable/AugmentableInspectorController.h:
(Inspector::AugmentableInspectorController::connected):
* inspector/remote/RemoteInspectorDebuggable.h:
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorDebuggableConnection::close):
* inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py:
(CppAlternateBackendDispatcherHeaderGenerator.generate_output):
* inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
(ObjCFrontendDispatcherImplementationGenerator._generate_event): Use the router.
* runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::disconnect):
* runtime/JSGlobalObjectDebuggable.h:

Source/WebCore:

No new tests, no behavior change from this patch. Teardown scenarios are
covered by existing protocol and inspector tests running under DRT and WKTR.

* ForwardingHeaders/inspector/InspectorFrontendRouter.h: Added.
* WebCore.vcxproj/WebCore.vcxproj:
* inspector/InspectorClient.h: Stop using forwarded types.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::hasLocalFrontend):
(WebCore::InspectorController::hasRemoteFrontend):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::disconnectAllFrontends): Added. Disconnects all
frontends and signals DisconnectReason::InspectedTargetDestroyed.

(WebCore::InspectorController::show):
(WebCore::InspectorController::close):
(WebCore::InspectorController::dispatchMessageFromFrontend):
* inspector/InspectorController.h: Add default value for isAutomaticInspection.
* inspector/InspectorDatabaseAgent.cpp:
* inspector/InspectorIndexedDBAgent.cpp:
* inspector/InspectorResourceAgent.cpp:
* inspector/WorkerInspectorController.cpp: Use a router with a singleton channel
that forwards messages over to the main page.

(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::connectFrontend):
(WebCore::WorkerInspectorController::disconnectFrontend):
(WebCore::WorkerInspectorController::dispatchMessageFromFrontend):
* inspector/WorkerInspectorController.h:
* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::disconnect):
* page/PageDebuggable.h:
* testing/Internals.cpp: Clear the frontend client before disconnecting frontend channel.
(WebCore::Internals::openDummyInspectorFrontend):
(WebCore::Internals::closeDummyInspectorFrontend):

Source/WebKit/mac:

Remove the notifyInspectorController flag from closeWindow. Since InspectorClients
must now manually disconnect their FrontendChannel(s), we should always
perform the teardown that was guarded by this flag.

* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::bringFrontendToFront): Add a missing assertion.
(WebInspectorFrontendClient::closeWindow):
(WebInspectorFrontendClient::disconnectFromBackend):
(-[WebInspectorWindowController windowShouldClose:]):
(-[WebInspectorWindowController destroyInspectorView]): Always clear the frontend client.
(-[WebInspectorWindowController destroyInspectorView:]): Renamed to above.

Source/WebKit/win:

Remove the notifyInspectorController flag from closeWindow. Since InspectorClients
must now manually disconnect their FrontendChannel(s), we should always
perform the teardown that was guarded by this flag.

* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorClient::closeInspectorFrontend):
(WebInspectorFrontendClient::~WebInspectorFrontendClient):
(WebInspectorFrontendClient::closeWindow):
(WebInspectorFrontendClient::destroyInspectorView):
* WebCoreSupport/WebInspectorClient.h:

Source/WebKit2:

Explicitly disconnect the frontend channel when closing the frontend.

Rename createInspectorPage/closeFrontend to the symmetric and unambiguous
{open,close}FrontendConnection in the WebInspector class.

* WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::openInspectorFrontend):
(WebKit::WebInspectorClient::closeInspectorFrontend):
* WebProcess/WebCoreSupport/WebInspectorClient.h: Stop using a forwarded type.
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::openFrontendConnection):
(WebKit::WebInspector::closeFrontendConnection):
(WebKit::WebInspector::remoteFrontendConnected):
(WebKit::WebInspector::remoteFrontendDisconnected):
(WebKit::WebInspector::createInspectorPage): Deleted.
(WebKit::WebInspector::closeFrontend): Deleted.
* WebProcess/WebPage/WebInspector.h:

Tools:

InspectorClients must explicitly disconnect their frontend channel(s) from the
inspected page's InspectorController.

To make this possible, DumpRenderTree should not destroy non-primary views until
it has tried to close any abandoned Web Inspector instances. Performing teardown
in the reverse order prevents disconnection of the frontend channel because that
prematurely destroys the inspector frontend client.

* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189338 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Closing the Safari window when the Web Inspector is one of the other...
timothy@apple.com [Fri, 4 Sep 2015 03:43:06 +0000 (03:43 +0000)]
Web Inspector: Closing the Safari window when the Web Inspector is one of the other windows in split screen mode can cause the entire screen to go black
https://bugs.webkit.org/show_bug.cgi?id=148777

Reviewed by Brian Burg.

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformDidClose):
(WebKit::WebInspectorProxy::platformHide):
(WebKit::WebInspectorProxy::platformAttach):
Call close instead of orderOut: to make fullscreen and tile modes with Web Inspector work as expected.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189337 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[ES6] Recognize calls in tail position
basile_clement@apple.com [Fri, 4 Sep 2015 03:05:46 +0000 (03:05 +0000)]
[ES6] Recognize calls in tail position
https://bugs.webkit.org/show_bug.cgi?id=148665

Reviewed by Saam Barati.

This patch adds the capability for the bytecode generator to recognize
and dispatch tail calls, as per ES6 spec:
http://www.ecma-international.org/ecma-262/6.0/#sec-isintailposition

This does not change the generated bytecode, but merely provides the
hook for generating tail calls in subsequent patches toward
https://bugs.webkit.org/show_bug.cgi?id=146477

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitCallInTailPosition):
(JSC::BytecodeGenerator::emitCallVarargsInTailPosition):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitNode):
(JSC::BytecodeGenerator::emitNodeInTailPosition):
* bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::LogicalOpNode::emitBytecode):
(JSC::ConditionalNode::emitBytecode):
(JSC::CommaNode::emitBytecode):
(JSC::SourceElements::emitBytecode):
(JSC::IfElseNode::emitBytecode):
(JSC::DoWhileNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::WithNode::emitBytecode):
(JSC::TryNode::emitBytecode):
* bytecompiler/SetForScope.h: Added.
(JSC::SetForScope::SetForScope):
(JSC::SetForScope::~SetForScope):
* runtime/Options.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189336 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd more strict mode tests
basile_clement@apple.com [Fri, 4 Sep 2015 02:43:41 +0000 (02:43 +0000)]
Add more strict mode tests
https://bugs.webkit.org/show_bug.cgi?id=147850

Reviewed by Michael Saboff.

We should have more tests in strict mode to have better test coverage.
This adds a copy of the v8-v6 tests from SunSpider as JSC stress tests,
with "use strict"; added at the top of the files.

A few modifications were necessary to make the files valid in strict
mode, namely adding a couple of "var" statements and removing some
generated code in earley-boyer that was using strings with octal
escapes.

* tests/stress/v8-crypto-strict.js: Added.
* tests/stress/v8-deltablue-strict.js: Added.
* tests/stress/v8-earley-boyer-strict.js: Added.
* tests/stress/v8-raytrace-strict.js: Added.
* tests/stress/v8-regexp-strict.js: Added.
* tests/stress/v8-richards-strict.js: Added.
* tests/stress/v8-splay-strict.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189335 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUpdate WebKit nightly icon to be more like Safari
timothy@apple.com [Fri, 4 Sep 2015 02:41:16 +0000 (02:41 +0000)]
Update WebKit nightly icon to be more like Safari
https://bugs.webkit.org/show_bug.cgi?id=148768

Reviewed by Joseph Pecoraro.

* WebKitLauncher/webkit.icns:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189334 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoJavaScriptCore should have some ES6 conformance tests
ggaren@apple.com [Fri, 4 Sep 2015 02:39:20 +0000 (02:39 +0000)]
JavaScriptCore should have some ES6 conformance tests
https://bugs.webkit.org/show_bug.cgi?id=148771

Reviewed by Chris Dumez.

Source/JavaScriptCore:

I created 590 independent, reduced test cases that collectively tell us
whether we pass or fail the conformance matrix @ http://kangax.github.io/compat-table/es6/.

* tests/es6: Added.
* tests/es6.yaml: Added.
* tests/es6/Array.prototype_methods_Array.prototype.copyWithin.js: Added.
(test):
* tests/es6/Array.prototype_methods_Array.prototype.entries.js: Added.
(test):
* tests/es6/Array.prototype_methods_Array.prototype.fill.js: Added.
(test):
* tests/es6/Array.prototype_methods_Array.prototype.find.js: Added.
(test):
* tests/es6/Array.prototype_methods_Array.prototype.findIndex.js: Added.
(test):
* tests/es6/Array.prototype_methods_Array.prototype.keys.js: Added.
(test):
* tests/es6/Array.prototype_methods_Array.prototype.values.js: Added.
(test):
* tests/es6/Array.prototype_methods_Array.prototype[Symbol.iterator].js: Added.
(test):
* tests/es6/Array.prototype_methods_Array.prototype[Symbol.unscopables].js: Added.
(test):
* tests/es6/Array.prototype_methods_Array_iterator_prototype_chain.js: Added.
(test):
* tests/es6/Array_is_subclassable_Array.from.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_Array.isArray_support.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_Array.of.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_Array.prototype.concat.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_Array.prototype.filter.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_Array.prototype.map.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_Array.prototype.slice.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_Array.prototype.splice.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_correct_prototype_chain.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_length_property_accessing.js: Added.
(test.C):
(test):
* tests/es6/Array_is_subclassable_length_property_setting.js: Added.
(test.C):
(test):
* tests/es6/Array_static_methods_Array.from_array-like_objects.js: Added.
(test):
* tests/es6/Array_static_methods_Array.from_generator_instances.js: Added.
(test.iterable):
(test):
* tests/es6/Array_static_methods_Array.from_generic_iterables.js: Added.
(test):
* tests/es6/Array_static_methods_Array.from_instances_of_generic_iterables.js: Added.
(test):
* tests/es6/Array_static_methods_Array.from_iterator_closing.js: Added.
(test.):
(test):
* tests/es6/Array_static_methods_Array.from_map_function_array-like_objects.js: Added.
(test):
* tests/es6/Array_static_methods_Array.from_map_function_generator_instances.js: Added.
(test.iterable):
(test):
* tests/es6/Array_static_methods_Array.from_map_function_generic_iterables.js: Added.
(test):
* tests/es6/Array_static_methods_Array.from_map_function_instances_of_iterables.js: Added.
(test):
* tests/es6/Array_static_methods_Array.of.js: Added.
(test):
* tests/es6/Array_static_methods_Array[Symbol.species].js: Added.
(test):
* tests/es6/Function_is_subclassable_Function.prototype.apply.js: Added.
(test.C):
(test):
* tests/es6/Function_is_subclassable_Function.prototype.bind.js: Added.
(test.C):
(test):
* tests/es6/Function_is_subclassable_Function.prototype.call.js: Added.
(test.C):
(test):
* tests/es6/Function_is_subclassable_can_be_called.js: Added.
(test.C):
(test):
* tests/es6/Function_is_subclassable_can_be_used_with_new.js: Added.
(test.C):
(test):
* tests/es6/Function_is_subclassable_correct_prototype_chain.js: Added.
(test.C):
(test):
* tests/es6/HTML-style_comments.js: Added.
(test):
* tests/es6/Map_-0_key_converts_to_+0.js: Added.
(test.set var):
* tests/es6/Map_Map.prototype.clear.js: Added.
(test):
* tests/es6/Map_Map.prototype.delete.js: Added.
(test):
* tests/es6/Map_Map.prototype.entries.js: Added.
(test):
* tests/es6/Map_Map.prototype.forEach.js: Added.
(test):
* tests/es6/Map_Map.prototype.keys.js: Added.
(test):
* tests/es6/Map_Map.prototype.set_returns_this.js: Added.
* tests/es6/Map_Map.prototype.size.js: Added.
* tests/es6/Map_Map.prototype.values.js: Added.
(test):
* tests/es6/Map_Map.prototype[Symbol.iterator].js: Added.
(test):
* tests/es6/Map_Map[Symbol.species].js: Added.
(test):
* tests/es6/Map_Map_iterator_prototype_chain.js: Added.
(test):
* tests/es6/Map_basic_functionality.js: Added.
* tests/es6/Map_constructor_accepts_null.js: Added.
(test):
* tests/es6/Map_constructor_arguments.js: Added.
* tests/es6/Map_constructor_invokes_set.js: Added.
* tests/es6/Map_constructor_requires_new.js: Added.
(test):
* tests/es6/Map_iterator_closing.js: Added.
(test.):
(test):
* tests/es6/Math_methods_Math.acosh.js: Added.
(test):
* tests/es6/Math_methods_Math.asinh.js: Added.
(test):
* tests/es6/Math_methods_Math.atanh.js: Added.
(test):
* tests/es6/Math_methods_Math.cbrt.js: Added.
(test):
* tests/es6/Math_methods_Math.clz32.js: Added.
(test):
* tests/es6/Math_methods_Math.cosh.js: Added.
(test):
* tests/es6/Math_methods_Math.expm1.js: Added.
(test):
* tests/es6/Math_methods_Math.fround.js: Added.
(test):
* tests/es6/Math_methods_Math.hypot.js: Added.
(test):
* tests/es6/Math_methods_Math.imul.js: Added.
(test):
* tests/es6/Math_methods_Math.log10.js: Added.
(test):
* tests/es6/Math_methods_Math.log1p.js: Added.
(test):
* tests/es6/Math_methods_Math.log2.js: Added.
(test):
* tests/es6/Math_methods_Math.sign.js: Added.
(test):
* tests/es6/Math_methods_Math.sinh.js: Added.
(test):
* tests/es6/Math_methods_Math.tanh.js: Added.
(test):
* tests/es6/Math_methods_Math.trunc.js: Added.
(test):
* tests/es6/Number_properties_Number.EPSILON.js: Added.
(test):
* tests/es6/Number_properties_Number.MAX_SAFE_INTEGER.js: Added.
(test):
* tests/es6/Number_properties_Number.MIN_SAFE_INTEGER.js: Added.
(test):
* tests/es6/Number_properties_Number.isFinite.js: Added.
(test):
* tests/es6/Number_properties_Number.isInteger.js: Added.
(test):
* tests/es6/Number_properties_Number.isNaN.js: Added.
(test):
* tests/es6/Number_properties_Number.isSafeInteger.js: Added.
(test):
* tests/es6/Object.prototype.__proto___absent_from_Object.createnull.js: Added.
(test):
* tests/es6/Object.prototype.__proto___correct_property_descriptor.js: Added.
(test.A):
(test):
* tests/es6/Object.prototype.__proto___get_prototype.js: Added.
(test.A):
(test):
* tests/es6/Object.prototype.__proto___present_in_Object.getOwnPropertyNames.js: Added.
(test):
* tests/es6/Object.prototype.__proto___present_in_hasOwnProperty.js: Added.
(test):
* tests/es6/Object.prototype.__proto___set_prototype.js: Added.
(test):
* tests/es6/Object_static_methods_Object.assign.js: Added.
(test):
* tests/es6/Object_static_methods_Object.getOwnPropertySymbols.js: Added.
(test):
* tests/es6/Object_static_methods_Object.is.js: Added.
(test):
* tests/es6/Object_static_methods_Object.setPrototypeOf.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.freeze.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.getOwnPropertyDescriptor.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.getOwnPropertyNames.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.getPrototypeOf.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.isExtensible.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.isFrozen.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.isSealed.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.keys.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.preventExtensions.js: Added.
(test):
* tests/es6/Object_static_methods_accept_primitives_Object.seal.js: Added.
(test):
* tests/es6/Promise_Promise.all.js: Added.
(test):
* tests/es6/Promise_Promise.all_generic_iterables.js: Added.
(test):
* tests/es6/Promise_Promise.race.js: Added.
(test):
* tests/es6/Promise_Promise.race_generic_iterables.js: Added.
(test):
* tests/es6/Promise_Promise[Symbol.species].js: Added.
(test):
* tests/es6/Promise_basic_functionality.js: Added.
(test.thenFn):
(test.catchFn):
(test.shouldNotRun):
(test):
* tests/es6/Promise_constructor_requires_new.js: Added.
(test):
* tests/es6/Promise_is_subclassable_Promise.all.js: Added.
(test.P):
(test):
* tests/es6/Promise_is_subclassable_Promise.race.js: Added.
(test.P):
(test):
* tests/es6/Promise_is_subclassable_basic_functionality.js: Added.
(test.P):
(test):
(test.catchFn):
(test.shouldNotRun):
* tests/es6/Promise_is_subclassable_correct_prototype_chain.js: Added.
(test.C):
(test):
* tests/es6/Proxy_Array.isArray_support.js: Added.
(test):
* tests/es6/Proxy_JSON.stringify_support.js: Added.
(test):
* tests/es6/Proxy_Proxy.revocable.js: Added.
(test.):
(test.get var):
(test):
* tests/es6/Proxy_apply_handler.js: Added.
(test.proxied):
(test.host.):
(test):
* tests/es6/Proxy_construct_handler.js: Added.
(test.proxied):
(test.):
(test):
* tests/es6/Proxy_constructor_requires_new.js: Added.
(test):
* tests/es6/Proxy_defineProperty_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_deleteProperty_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_enumerate_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_getOwnPropertyDescriptor_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_getPrototypeOf_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_get_handler.js: Added.
(test.):
* tests/es6/Proxy_get_handler_instances_of_proxies.js: Added.
(test.):
* tests/es6/Proxy_has_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_has_handler_instances_of_proxies.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_defineProperty_calls_SetIntegrityLevel.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_defineProperty_calls_[[Set]].js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_deleteProperty_calls_Array.prototype.copyWithin.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_deleteProperty_calls_Array.prototype.pop.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_deleteProperty_calls_Array.prototype.reverse.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_deleteProperty_calls_Array.prototype.shift.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_deleteProperty_calls_Array.prototype.splice.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_deleteProperty_calls_Array.prototype.unshift.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_getOwnPropertyDescriptor_calls_Function.prototype.bind.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_getOwnPropertyDescriptor_calls_Object.assign.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_getOwnPropertyDescriptor_calls_Object.prototype.hasOwnProperty.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_getOwnPropertyDescriptor_calls_[[Set]].js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_get_calls_Array.from.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_Array.prototype.concat.js: Added.
(test.):
(test.get var):
* tests/es6/Proxy_internal_get_calls_Array.prototype.pop.js: Added.
(test.):
(test.get var):
* tests/es6/Proxy_internal_get_calls_Array.prototype.reverse.js: Added.
(test.):
(test.get var):
* tests/es6/Proxy_internal_get_calls_Array.prototype.shift.js: Added.
(test.):
(test.get var):
* tests/es6/Proxy_internal_get_calls_Array.prototype.splice.js: Added.
(test.):
(test.get var):
* tests/es6/Proxy_internal_get_calls_Array.prototype.toString.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_Array.prototype_iteration_methods.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_ClassDefinitionEvaluation.js: Added.
(test.):
(test.get var):
(test):
* tests/es6/Proxy_internal_get_calls_CreateDynamicFunction.js: Added.
(test.):
(test.get var):
* tests/es6/Proxy_internal_get_calls_CreateListFromArrayLike.js: Added.
(test.get var):
(test.):
(test.get Function):
* tests/es6/Proxy_internal_get_calls_Date.prototype.toJSON.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_Error.prototype.toString.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_Function.prototype.bind.js: Added.
(test.):
(test.get var):
* tests/es6/Proxy_internal_get_calls_HasBinding.js: Added.
(test.get var):
(test.):
(test.get p):
* tests/es6/Proxy_internal_get_calls_IteratorComplete_IteratorValue.js: Added.
(test.get var):
(test.iterable.Symbol.iterator.return.next.):
(test.iterable.Symbol.iterator.return.next):
(test.iterable.Symbol.iterator):
* tests/es6/Proxy_internal_get_calls_JSON.stringify.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_Object.assign.js: Added.
(test.get var):
(test.):
(test.get Object):
* tests/es6/Proxy_internal_get_calls_Object.defineProperties.js: Added.
(test.get var):
(test.):
(test.get Object):
* tests/es6/Proxy_internal_get_calls_Promise_resolve_functions.js: Added.
(test.get var):
(test.):
(test.get new):
* tests/es6/Proxy_internal_get_calls_RegExp.prototype.flags.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_RegExp.prototype.test.js: Added.
(test.get var.p.new.Proxy):
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.match].js: Added.
(test.get var.p.new.Proxy):
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.replace].js: Added.
(test.get var.p.new.Proxy):
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.search].js: Added.
(test.get var.p.new.Proxy):
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.split].js: Added.
(test.p.new.Proxy):
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_RegExp_constructor.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_String.prototype.match.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_String.prototype.replace.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_String.prototype.search.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_String.prototype.split.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_String.raw.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_ToPrimitive.js: Added.
(test.get var):
(test.):
* tests/es6/Proxy_internal_get_calls_ToPropertyDescriptor.js: Added.
(test.get var):
(test.):
(test.set get try):
* tests/es6/Proxy_internal_get_calls_instanceof_operator.js: Added.
(test.):
(test.get var):
* tests/es6/Proxy_internal_ownKeys_calls_SerializeJSONObject.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_ownKeys_calls_SetIntegrityLevel.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_ownKeys_calls_TestIntegrityLevel.js: Added.
(test.):
(test):
* tests/es6/Proxy_internal_set_calls_Array.from.js: Added.
(test.set var):
(test.):
(test.set Array):
* tests/es6/Proxy_internal_set_calls_Array.of.js: Added.
(test.set var):
(test.):
(test.set Array):
* tests/es6/Proxy_internal_set_calls_Array.prototype.copyWithin.js: Added.
(test.):
(test.set var):
* tests/es6/Proxy_internal_set_calls_Array.prototype.fill.js: Added.
(test.):
(test.set var):
* tests/es6/Proxy_internal_set_calls_Array.prototype.pop.js: Added.
(test.):
(test.set var):
* tests/es6/Proxy_internal_set_calls_Array.prototype.push.js: Added.
(test.):
(test.set var):
* tests/es6/Proxy_internal_set_calls_Array.prototype.reverse.js: Added.
(test.):
(test.set var):
* tests/es6/Proxy_internal_set_calls_Array.prototype.shift.js: Added.
(test.):
(test.set var):
* tests/es6/Proxy_internal_set_calls_Array.prototype.splice.js: Added.
(test.):
(test.set var):
* tests/es6/Proxy_internal_set_calls_Array.prototype.unshift.js: Added.
(test.):
(test.set var):
* tests/es6/Proxy_internal_set_calls_Object.assign.js: Added.
(test.set var):
(test.):
(test.set Object):
* tests/es6/Proxy_isExtensible_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_ownKeys_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_preventExtensions_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_setPrototypeOf_handler.js: Added.
(test.):
(test):
* tests/es6/Proxy_set_handler.js: Added.
(test.):
* tests/es6/Proxy_set_handler_instances_of_proxies.js: Added.
(test.):
* tests/es6/Reflect_Reflect.apply.js: Added.
(test):
* tests/es6/Reflect_Reflect.construct.js: Added.
(test):
* tests/es6/Reflect_Reflect.construct_creates_instance_from_newTarget_argument.js: Added.
(test.F):
(test):
* tests/es6/Reflect_Reflect.construct_sets_new.target_meta_property.js: Added.
(test):
* tests/es6/Reflect_Reflect.defineProperty.js: Added.
(test):
* tests/es6/Reflect_Reflect.deleteProperty.js: Added.
(test):
* tests/es6/Reflect_Reflect.enumerate.js: Added.
(test):
* tests/es6/Reflect_Reflect.get.js: Added.
* tests/es6/Reflect_Reflect.getOwnPropertyDescriptor.js: Added.
(test):
* tests/es6/Reflect_Reflect.getPrototypeOf.js: Added.
(test):
* tests/es6/Reflect_Reflect.has.js: Added.
(test):
* tests/es6/Reflect_Reflect.isExtensible.js: Added.
(test):
* tests/es6/Reflect_Reflect.ownKeys_string_keys.js: Added.
(test):
* tests/es6/Reflect_Reflect.ownKeys_symbol_keys.js: Added.
(test):
* tests/es6/Reflect_Reflect.preventExtensions.js: Added.
(test):
* tests/es6/Reflect_Reflect.set.js: Added.
* tests/es6/Reflect_Reflect.setPrototypeOf.js: Added.
(test):
* tests/es6/RegExp.prototype.compile.js: Added.
(test):
* tests/es6/RegExp.prototype_properties_RegExp.prototype.flags.js: Added.
(test):
* tests/es6/RegExp.prototype_properties_RegExp.prototype[Symbol.match].js: Added.
(test):
* tests/es6/RegExp.prototype_properties_RegExp.prototype[Symbol.replace].js: Added.
(test):
* tests/es6/RegExp.prototype_properties_RegExp.prototype[Symbol.search].js: Added.
(test):
* tests/es6/RegExp.prototype_properties_RegExp.prototype[Symbol.split].js: Added.
(test):
* tests/es6/RegExp.prototype_properties_RegExp[Symbol.species].js: Added.
(test):
* tests/es6/RegExp_is_subclassable_RegExp.prototype.exec.js: Added.
(test.R):
(test):
* tests/es6/RegExp_is_subclassable_RegExp.prototype.test.js: Added.
(test.R):
(test):
* tests/es6/RegExp_is_subclassable_basic_functionality.js: Added.
(test.R):
(test):
* tests/es6/RegExp_is_subclassable_correct_prototype_chain.js: Added.
(test.R):
(test):
* tests/es6/RegExp_syntax_extensions_hyphens_in_character_sets.js: Added.
(test):
* tests/es6/RegExp_syntax_extensions_incomplete_patterns_and_quantifiers.js: Added.
* tests/es6/RegExp_syntax_extensions_invalid_Unicode_escapes.js: Added.
(test):
* tests/es6/RegExp_syntax_extensions_invalid_backreferences_become_octal_escapes.js: Added.
(test):
* tests/es6/RegExp_syntax_extensions_invalid_character_escapes.js: Added.
(test):
* tests/es6/RegExp_syntax_extensions_invalid_control-character_escapes.js: Added.
(test):
* tests/es6/RegExp_syntax_extensions_invalid_hexadecimal_escapes.js: Added.
(test):
* tests/es6/RegExp_syntax_extensions_octal_escape_sequences.js: Added.
(test):
* tests/es6/RegExp_y_and_u_flags_u_flag.js: Added.
(test):
* tests/es6/RegExp_y_and_u_flags_u_flag_Unicode_code_point_escapes.js: Added.
(test):
* tests/es6/RegExp_y_and_u_flags_y_flag.js: Added.
(test):
* tests/es6/RegExp_y_and_u_flags_y_flag_lastIndex.js: Added.
(test):
* tests/es6/Set_-0_key_converts_to_+0.js: Added.
(test.set forEach):
* tests/es6/Set_Set.prototype.add_returns_this.js: Added.
* tests/es6/Set_Set.prototype.clear.js: Added.
(test):
* tests/es6/Set_Set.prototype.delete.js: Added.
(test):
* tests/es6/Set_Set.prototype.entries.js: Added.
(test):
* tests/es6/Set_Set.prototype.forEach.js: Added.
(test):
* tests/es6/Set_Set.prototype.keys.js: Added.
(test):
* tests/es6/Set_Set.prototype.size.js: Added.
* tests/es6/Set_Set.prototype.values.js: Added.
(test):
* tests/es6/Set_Set.prototype[Symbol.iterator].js: Added.
(test):
* tests/es6/Set_Set[Symbol.species].js: Added.
(test):
* tests/es6/Set_Set_iterator_prototype_chain.js: Added.
(test):
* tests/es6/Set_basic_functionality.js: Added.
* tests/es6/Set_constructor_accepts_null.js: Added.
(test):
* tests/es6/Set_constructor_arguments.js: Added.
* tests/es6/Set_constructor_invokes_add.js: Added.
(test.Set.prototype.add):
(test):
* tests/es6/Set_constructor_requires_new.js: Added.
(test):
* tests/es6/Set_iterator_closing.js: Added.
(test.):
(test.Set.prototype.add):
(test):
* tests/es6/String.prototype_HTML_methods_existence.js: Added.
(test):
* tests/es6/String.prototype_HTML_methods_quotes_in_arguments_are_escaped.js: Added.
(test):
* tests/es6/String.prototype_HTML_methods_tags_names_are_lowercase.js: Added.
(test):
* tests/es6/String.prototype_methods_String.prototype.codePointAt.js: Added.
(test):
* tests/es6/String.prototype_methods_String.prototype.endsWith.js: Added.
(test):
* tests/es6/String.prototype_methods_String.prototype.includes.js: Added.
(test):
* tests/es6/String.prototype_methods_String.prototype.normalize.js: Added.
(test):
* tests/es6/String.prototype_methods_String.prototype.repeat.js: Added.
(test):
* tests/es6/String.prototype_methods_String.prototype.startsWith.js: Added.
(test):
* tests/es6/String.prototype_methods_String.prototype[Symbol.iterator].js: Added.
(test):
* tests/es6/String.prototype_methods_String_iterator_prototype_chain.js: Added.
(test):
* tests/es6/String_static_methods_String.fromCodePoint.js: Added.
(test):
* tests/es6/String_static_methods_String.raw.js: Added.
(test):
* tests/es6/Symbol_JSON.stringify_ignores_symbols.js: Added.
(test):
* tests/es6/Symbol_Object.defineProperty_support.js: Added.
(test):
* tests/es6/Symbol_Objectsymbol.js: Added.
(test):
* tests/es6/Symbol_basic_functionality.js: Added.
(test):
* tests/es6/Symbol_can_convert_with_String.js: Added.
(test):
* tests/es6/Symbol_cannot_coerce_to_string_or_number.js: Added.
(test):
* tests/es6/Symbol_global_symbol_registry.js: Added.
(test):
* tests/es6/Symbol_new_Symbol_throws.js: Added.
(test):
* tests/es6/Symbol_symbol_keys_are_hidden_to_pre-ES6_code.js: Added.
(test):
* tests/es6/Symbol_typeof_support.js: Added.
(test):
* tests/es6/Unicode_code_point_escapes_in_identifiers.js: Added.
(test):
* tests/es6/Unicode_code_point_escapes_in_strings.js: Added.
(test):
* tests/es6/WeakMap_WeakMap.prototype.delete.js: Added.
(test):
* tests/es6/WeakMap_WeakMap.prototype.set_returns_this.js: Added.
* tests/es6/WeakMap_basic_functionality.js: Added.
* tests/es6/WeakMap_constructor_accepts_null.js: Added.
(test):
* tests/es6/WeakMap_constructor_arguments.js: Added.
* tests/es6/WeakMap_constructor_invokes_set.js: Added.
* tests/es6/WeakMap_constructor_requires_new.js: Added.
(test):
* tests/es6/WeakMap_frozen_objects_as_keys.js: Added.
* tests/es6/WeakMap_iterator_closing.js: Added.
(test.):
(test):
* tests/es6/WeakMap_no_WeakMap.prototype.clear_method.js: Added.
* tests/es6/WeakSet_WeakSet.prototype.add_returns_this.js: Added.
(test):
* tests/es6/WeakSet_WeakSet.prototype.delete.js: Added.
(test):
* tests/es6/WeakSet_basic_functionality.js: Added.
(test):
* tests/es6/WeakSet_constructor_accepts_null.js: Added.
(test):
* tests/es6/WeakSet_constructor_arguments.js: Added.
(test):
* tests/es6/WeakSet_constructor_invokes_add.js: Added.
(test.WeakSet.prototype.add):
(test):
* tests/es6/WeakSet_constructor_requires_new.js: Added.
(test):
* tests/es6/WeakSet_iterator_closing.js: Added.
(test.):
(test):
* tests/es6/WeakSet_no_WeakSet.prototype.clear_method.js: Added.
(test):
* tests/es6/__proto___in_object_literals_basic_support.js: Added.
(test):
* tests/es6/__proto___in_object_literals_multiple___proto___is_an_error.js: Added.
(test):
* tests/es6/__proto___in_object_literals_not_a_computed_property.js: Added.
(test):
* tests/es6/__proto___in_object_literals_not_a_shorthand_method.js: Added.
(test):
* tests/es6/__proto___in_object_literals_not_a_shorthand_property.js: Added.
(test):
* tests/es6/arrow_functions_0_parameters.js: Added.
(test):
* tests/es6/arrow_functions_1_parameter_no_brackets.js: Added.
(test):
* tests/es6/arrow_functions_cant_be_bound_can_be_curried.js: Added.
(test.d.y):
(test):
* tests/es6/arrow_functions_correct_precedence.js: Added.
(test):
* tests/es6/arrow_functions_lexical_arguments_binding.js: Added.
(test.f):
(test):
* tests/es6/arrow_functions_lexical_new.target_binding.js: Added.
(test.C):
(test):
* tests/es6/arrow_functions_lexical_super_binding.js: Added.
(test.B.prototype.qux):
(test.B):
(test.C.prototype.baz):
(test.C):
(test):
* tests/es6/arrow_functions_lexical_this_binding.js: Added.
(test.d.y):
(test):
* tests/es6/arrow_functions_multiple_parameters.js: Added.
(test):
* tests/es6/arrow_functions_no_line_break_between_params_and_code_=_code.js: Added.
(test):
* tests/es6/arrow_functions_no_prototype_property.js: Added.
(test):
* tests/es6/arrow_functions_this_unchanged_by_call_or_apply.js: Added.
(test.d.y):
(test):
* tests/es6/block-level_function_declaration.js: Added.
(test.f):
(test):
* tests/es6/class_accessor_properties.js: Added.
(test.C.prototype.get foo):
(test.C.prototype.set bar):
(test.C):
(test):
* tests/es6/class_anonymous_class.js: Added.
* tests/es6/class_class_expression.js: Added.
(test.return.typeof.C):
(test):
* tests/es6/class_class_name_is_lexically_scoped.js: Added.
(test.C.prototype.method):
(test.C):
(test):
* tests/es6/class_class_statement.js: Added.
(test.C):
(test):
* tests/es6/class_computed_accessor_properties.js: Added.
(test.C.prototype.get garply):
(test.C.prototype.set grault):
(test.C):
(test):
* tests/es6/class_computed_names_temporal_dead_zone.js: Added.
(test.try.B.prototype.C):
(test.try.B):
(test):
* tests/es6/class_computed_prototype_methods.js: Added.
(test.C.prototype.foo):
(test.C):
(test):
* tests/es6/class_computed_static_accessor_properties.js: Added.
(test.C.prototype.get garply):
(test.C.prototype.set grault):
(test.C):
(test):
* tests/es6/class_computed_static_methods.js: Added.
(test.C.foo):
(test.C):
(test):
* tests/es6/class_constructor.js: Added.
(test.C):
(test):
* tests/es6/class_constructor_requires_new.js: Added.
(test.C):
(test):
* tests/es6/class_extends.js: Added.
(test.B):
(test.C):
(test):
* tests/es6/class_extends_expressions.js: Added.
(test.C):
(test):
* tests/es6/class_extends_null.js: Added.
(test.C):
(test):
* tests/es6/class_implicit_strict_mode.js: Added.
(test.C.method):
(test.C):
(test):
* tests/es6/class_is_block-scoped.js: Added.
(test.C):
(test):
* tests/es6/class_methods_arent_enumerable.js: Added.
(test.C.prototype.foo):
(test.C.bar):
(test.C):
(test):
* tests/es6/class_new.target.js: Added.
(test.new.f):
(test.A):
(test.B):
(test):
* tests/es6/class_prototype_methods.js: Added.
(test.C.prototype.method):
(test.C):
(test):
* tests/es6/class_static_accessor_properties.js: Added.
(test.C.prototype.get foo):
(test.C.prototype.set bar):
(test.C):
(test):
* tests/es6/class_static_methods.js: Added.
(test.C.method):
(test.C):
(test):
* tests/es6/class_string-keyed_methods.js: Added.
(test.C.prototype.string_appeared_here):
(test.C):
(test):
* tests/es6/const_basic_support.js: Added.
(test):
* tests/es6/const_basic_support_strict_mode.js: Added.
(test):
* tests/es6/const_is_block-scoped.js: Added.
(test):
* tests/es6/const_is_block-scoped_strict_mode.js: Added.
(test):
* tests/es6/const_redefining_a_const_is_an_error.js: Added.
(test):
* tests/es6/const_redefining_a_const_strict_mode.js: Added.
(test):
* tests/es6/const_temporal_dead_zone.js: Added.
(test.passed):
(test):
* tests/es6/const_temporal_dead_zone_strict_mode.js: Added.
(test.passed):
(test):
* tests/es6/default_function_parameters_arguments_object_interaction.js: Added.
(test):
* tests/es6/default_function_parameters_basic_functionality.js: Added.
(test):
* tests/es6/default_function_parameters_defaults_can_refer_to_previous_params.js: Added.
(test):
* tests/es6/default_function_parameters_explicit_undefined_defers_to_the_default.js: Added.
(test):
* tests/es6/default_function_parameters_new_Function_support.js: Added.
(test):
* tests/es6/default_function_parameters_separate_scope.js: Added.
(test.return):
(test):
* tests/es6/default_function_parameters_temporal_dead_zone.js: Added.
(test):
* tests/es6/destructuring_chained_iterable_destructuring.js: Added.
(test):
* tests/es6/destructuring_chained_object_destructuring.js: Added.
(test):
* tests/es6/destructuring_computed_properties.js: Added.
(test):
* tests/es6/destructuring_defaults.js: Added.
(test):
* tests/es6/destructuring_defaults_in_parameters.js: Added.
(test):
* tests/es6/destructuring_defaults_in_parameters_new_Function_support.js: Added.
(test):
* tests/es6/destructuring_defaults_in_parameters_separate_scope.js: Added.
(test.return):
(test):
* tests/es6/destructuring_defaults_let_temporal_dead_zone.js: Added.
(test):
* tests/es6/destructuring_empty_patterns.js: Added.
(test):
* tests/es6/destructuring_empty_patterns_in_parameters.js: Added.
(test):
* tests/es6/destructuring_in_for-in_loop_heads.js: Added.
(test):
* tests/es6/destructuring_in_for-of_loop_heads.js: Added.
(test):
* tests/es6/destructuring_in_parameters.js: Added.
(test):
* tests/es6/destructuring_in_parameters_arguments_interaction.js: Added.
(test):
* tests/es6/destructuring_in_parameters_function_length_property.js: Added.
(test):
* tests/es6/destructuring_in_parameters_new_Function_support.js: Added.
(test):
* tests/es6/destructuring_iterable_destructuring_expression.js: Added.
(test):
* tests/es6/destructuring_iterator_closing.js: Added.
(test.):
(test):
* tests/es6/destructuring_multiples_in_a_single_var_statement.js: Added.
(test):
* tests/es6/destructuring_nested.js: Added.
(test):
* tests/es6/destructuring_nested_rest.js: Added.
(test):
* tests/es6/destructuring_object_destructuring_expression.js: Added.
(test):
* tests/es6/destructuring_object_destructuring_with_primitives.js: Added.
(test):
* tests/es6/destructuring_parenthesised_left-hand-side_is_a_syntax_error.js: Added.
(test):
* tests/es6/destructuring_rest.js: Added.
(test):
* tests/es6/destructuring_throws_on_null_and_undefined.js: Added.
(test):
* tests/es6/destructuring_trailing_commas_in_iterable_patterns.js: Added.
(test):
* tests/es6/destructuring_trailing_commas_in_object_patterns.js: Added.
(test):
* tests/es6/destructuring_with_arrays.js: Added.
(test):
* tests/es6/destructuring_with_astral_plane_strings.js: Added.
(test):
* tests/es6/destructuring_with_generator_instances.js: Added.
(test.c):
(test.e):
(test):
* tests/es6/destructuring_with_generic_iterables.js: Added.
(test):
* tests/es6/destructuring_with_instances_of_generic_iterables.js: Added.
(test):
* tests/es6/destructuring_with_objects.js: Added.
(test):
* tests/es6/destructuring_with_sparse_arrays.js: Added.
(test):
* tests/es6/destructuring_with_strings.js: Added.
(test):
* tests/es6/for..of_loops_iterator_closing_break.js: Added.
(test.):
(test):
* tests/es6/for..of_loops_iterator_closing_throw.js: Added.
(test.):
(test):
* tests/es6/for..of_loops_with_arrays.js: Added.
(test):
* tests/es6/for..of_loops_with_astral_plane_strings.js: Added.
(test):
* tests/es6/for..of_loops_with_generator_instances.js: Added.
(test.iterable):
(test):
* tests/es6/for..of_loops_with_generic_iterables.js: Added.
(test):
* tests/es6/for..of_loops_with_instances_of_generic_iterables.js: Added.
(test):
* tests/es6/for..of_loops_with_sparse_arrays.js: Added.
(test):
* tests/es6/for..of_loops_with_strings.js: Added.
(test):
* tests/es6/function_name_property_accessor_properties.js: Added.
(test.o.get foo):
(test.o.set foo):
* tests/es6/function_name_property_bound_functions.js: Added.
(test.foo):
(test):
* tests/es6/function_name_property_class_expressions.js: Added.
(test.return.foo):
(test.name.string_appeared_here.typeof.bar.name):
(test.name.string_appeared_here.typeof.bar):
(test):
* tests/es6/function_name_property_class_prototype_methods.js: Added.
(test.C.prototype.foo):
(test.C):
(test):
* tests/es6/function_name_property_class_statements.js: Added.
(test.foo):
(test.bar.name):
(test.bar):
(test):
* tests/es6/function_name_property_class_static_methods.js: Added.
(test.C.foo):
(test.C):
(test):
* tests/es6/function_name_property_function_expressions.js: Added.
(test):
* tests/es6/function_name_property_function_statements.js: Added.
(test.foo):
(test):
* tests/es6/function_name_property_isnt_writable_is_configurable.js: Added.
(test):
* tests/es6/function_name_property_new_Function.js: Added.
(test):
* tests/es6/function_name_property_object_methods_class.js: Added.
(test.o):
* tests/es6/function_name_property_object_methods_function.js: Added.
(test.o.foo):
(test.o.bar):
(test.o.qux):
(test):
* tests/es6/function_name_property_shorthand_methods.js: Added.
(test):
* tests/es6/function_name_property_shorthand_methods_no_lexical_binding.js: Added.
(test):
* tests/es6/function_name_property_symbol-keyed_methods.js: Added.
(test.o.sym1):
(test.o.sym2):
(test):
* tests/es6/function_name_property_variables_class.js: Added.
(test.bar):
(test.qux):
* tests/es6/function_name_property_variables_function.js: Added.
(test.foo):
(test.bar):
(test):
* tests/es6/generators_%GeneratorPrototype%.constructor.js: Added.
(test.g):
(test):
* tests/es6/generators_%GeneratorPrototype%.js: Added.
(test.generatorFn):
(test):
* tests/es6/generators_%GeneratorPrototype%.return.js: Added.
(test.generator):
(test):
* tests/es6/generators_%GeneratorPrototype%.throw.js: Added.
(test.generator):
(test):
* tests/es6/generators_basic_functionality.js: Added.
(test.generator):
(test):
* tests/es6/generators_cant_use_this_with_new.js: Added.
(test.generator):
(test):
* tests/es6/generators_computed_shorthand_generators.js: Added.
(test):
* tests/es6/generators_computed_shorthand_generators_classes.js: Added.
(test.C.prototype.garply):
(test.C):
(test):
* tests/es6/generators_correct_this_binding.js: Added.
(test.generator):
(test):
* tests/es6/generators_generator_function_expressions.js: Added.
(test.generator):
(test):
* tests/es6/generators_sending.js: Added.
(test.generator):
(test):
* tests/es6/generators_shorthand_generator_methods.js: Added.
(test):
* tests/es6/generators_shorthand_generator_methods_classes.js: Added.
(test.C.prototype.generator):
(test.C):
(test):
* tests/es6/generators_string-keyed_shorthand_generator_methods.js: Added.
(test):
* tests/es6/generators_yield_*_arrays.js: Added.
(test.iterator):
(test):
* tests/es6/generators_yield_*_astral_plane_strings.js: Added.
(test.iterator):
(test):
* tests/es6/generators_yield_*_generator_instances.js: Added.
(test.iterator):
(test):
* tests/es6/generators_yield_*_generic_iterables.js: Added.
(test.iterator):
(test):
* tests/es6/generators_yield_*_instances_of_iterables.js: Added.
(test.iterator):
(test):
* tests/es6/generators_yield_*_iterator_closing.js: Added.
(test.):
(test.gen):
(test):
* tests/es6/generators_yield_*_iterator_closing_via_throw.js: Added.
(test.):
(test.gen):
(test):
* tests/es6/generators_yield_*_on_non-iterables_is_a_runtime_error.js: Added.
(test.iterator):
(test):
* tests/es6/generators_yield_*_sparse_arrays.js: Added.
(test.iterator):
(test):
* tests/es6/generators_yield_*_strings.js: Added.
(test.iterator):
(test):
* tests/es6/generators_yield_operator_precedence.js: Added.
(test.generator):
(test):
* tests/es6/let_basic_support.js: Added.
(test):
* tests/es6/let_basic_support_strict_mode.js: Added.
(test):
* tests/es6/let_for-loop_iteration_scope.js: Added.
(test):
* tests/es6/let_for-loop_iteration_scope_strict_mode.js: Added.
(test):
* tests/es6/let_for-loop_statement_scope.js: Added.
(test):
* tests/es6/let_for-loop_statement_scope_strict_mode.js: Added.
(test):
* tests/es6/let_is_block-scoped.js: Added.
(test):
* tests/es6/let_is_block-scoped_strict_mode.js: Added.
(test):
* tests/es6/let_temporal_dead_zone.js: Added.
(test.passed):
(test):
* tests/es6/let_temporal_dead_zone_strict_mode.js: Added.
(test.passed):
(test):
* tests/es6/miscellaneous_Invalid_Date.js: Added.
(test):
* tests/es6/miscellaneous_RegExp_constructor_can_alter_flags.js: Added.
(test):
* tests/es6/miscellaneous_String.prototype_case_methods_Unicode_support.js: Added.
(test):
* tests/es6/miscellaneous_accessors_arent_constructors.js: Added.
(test.get catch):
(test):
* tests/es6/miscellaneous_built-in_prototypes_are_not_instances.js: Added.
(test):
* tests/es6/miscellaneous_duplicate_property_names_in_strict_mode.js: Added.
(test):
* tests/es6/miscellaneous_function_length_is_configurable.js: Added.
(test.fn):
(test):
* tests/es6/miscellaneous_no_assignments_allowed_in_for-in_head.js: Added.
(test):
* tests/es6/miscellaneous_no_escaped_reserved_words_as_identifiers.js: Added.
(test):
* tests/es6/miscellaneous_no_semicolon_needed_after_do-while.js: Added.
(test):
* tests/es6/miscellaneous_subclassables_Boolean_is_subclassable.js: Added.
(test.C):
(test):
* tests/es6/miscellaneous_subclassables_Map_is_subclassable.js: Added.
(test):
* tests/es6/miscellaneous_subclassables_Number_is_subclassable.js: Added.
(test.C):
(test):
* tests/es6/miscellaneous_subclassables_Set_is_subclassable.js: Added.
(test):
* tests/es6/miscellaneous_subclassables_String_is_subclassable.js: Added.
(test.C):
(test):
* tests/es6/new.target_assignment_is_an_early_error.js: Added.
(test.new.f):
(test):
* tests/es6/new.target_in_constructors.js: Added.
(test.new.f):
(test):
* tests/es6/non-strict_function_semantics_function_statements_in_if-statement_clauses.js: Added.
(test.foo):
(test.else.bar):
(test.baz):
(test.qux):
(test.else.qux):
(test):
* tests/es6/non-strict_function_semantics_hoisted_block-level_function_declaration.js: Added.
(test.f):
(test.g):
(test.h):
(test):
* tests/es6/non-strict_function_semantics_labeled_function_statements.js: Added.
(test.label):
(test):
* tests/es6/object_literal_extensions_computed_accessors.js: Added.
(test.obj.get x):
(test.obj.set x):
(test):
* tests/es6/object_literal_extensions_computed_properties.js: Added.
(test):
* tests/es6/object_literal_extensions_computed_shorthand_methods.js: Added.
(test):
* tests/es6/object_literal_extensions_shorthand_methods.js: Added.
(test):
* tests/es6/object_literal_extensions_shorthand_properties.js: Added.
(test):
* tests/es6/object_literal_extensions_string-keyed_shorthand_methods.js: Added.
(test):
* tests/es6/octal_and_binary_literals_binary_literals.js: Added.
(test):
* tests/es6/octal_and_binary_literals_binary_supported_by_Number.js: Added.
(test):
* tests/es6/octal_and_binary_literals_octal_literals.js: Added.
(test):
* tests/es6/octal_and_binary_literals_octal_supported_by_Number.js: Added.
(test):
* tests/es6/own_property_order_JSON.parse.js: Added.
(test):
* tests/es6/own_property_order_JSON.stringify.js: Added.
(test):
* tests/es6/own_property_order_Object.assign.js: Added.
* tests/es6/own_property_order_Object.getOwnPropertyNames.js: Added.
(test):
* tests/es6/own_property_order_Object.keys.js: Added.
(test):
* tests/es6/own_property_order_Reflect.ownKeys_string_key_order.js: Added.
(test):
* tests/es6/own_property_order_Reflect.ownKeys_symbol_key_order.js: Added.
(test):
* tests/es6/own_property_order_for..in.js: Added.
(test):
* tests/es6/proper_tail_calls_tail_call_optimisation_direct_recursion.js: Added.
(test):
* tests/es6/proper_tail_calls_tail_call_optimisation_mutual_recursion.js: Added.
(test.f):
(test.g):
(test):
* tests/es6/prototype_of_bound_functions_arrow_functions.js: Added.
(test.correctProtoBound):
(test):
* tests/es6/prototype_of_bound_functions_basic_functions.js: Added.
(test.correctProtoBound.f):
(test.correctProtoBound):
(test):
* tests/es6/prototype_of_bound_functions_classes.js: Added.
(test.correctProtoBound.C):
(test.correctProtoBound):
(test):
* tests/es6/prototype_of_bound_functions_generator_functions.js: Added.
(test.correctProtoBound.f):
(test.correctProtoBound):
(test):
* tests/es6/prototype_of_bound_functions_subclasses.js: Added.
(test.correctProtoBound.C):
(test.correctProtoBound):
(test):
* tests/es6/rest_parameters_arguments_object_interaction.js: Added.
(test):
* tests/es6/rest_parameters_basic_functionality.js: Added.
(test):
* tests/es6/rest_parameters_cant_be_used_in_setters.js: Added.
(test):
* tests/es6/rest_parameters_function_length_property.js: Added.
(test):
* tests/es6/rest_parameters_new_Function_support.js: Added.
(test):
* tests/es6/spread_..._operator_spreading_non-iterables_is_a_runtime_error.js: Added.
(test):
* tests/es6/spread_..._operator_with_arrays_in_array_literals.js: Added.
(test):
* tests/es6/spread_..._operator_with_arrays_in_function_calls.js: Added.
(test):
* tests/es6/spread_..._operator_with_astral_plane_strings_in_array_literals.js: Added.
(test):
* tests/es6/spread_..._operator_with_astral_plane_strings_in_function_calls.js: Added.
(test):
* tests/es6/spread_..._operator_with_generator_instances_in_arrays.js: Added.
(test.iterable):
(test):
* tests/es6/spread_..._operator_with_generator_instances_in_calls.js: Added.
(test.iterable):
(test):
* tests/es6/spread_..._operator_with_generic_iterables_in_arrays.js: Added.
(test):
* tests/es6/spread_..._operator_with_generic_iterables_in_calls.js: Added.
(test):
* tests/es6/spread_..._operator_with_instances_of_iterables_in_arrays.js: Added.
(test):
* tests/es6/spread_..._operator_with_instances_of_iterables_in_calls.js: Added.
(test):
* tests/es6/spread_..._operator_with_sparse_arrays_in_array_literals.js: Added.
(test):
* tests/es6/spread_..._operator_with_sparse_arrays_in_function_calls.js: Added.
(test):
* tests/es6/spread_..._operator_with_strings_in_array_literals.js: Added.
(test):
* tests/es6/spread_..._operator_with_strings_in_function_calls.js: Added.
(test):
* tests/es6/super_constructor_calls_use_correct_new.target_binding.js: Added.
(test.B):
(test):
* tests/es6/super_expression_in_constructors.js: Added.
(test.B):
(test.C):
(test):
* tests/es6/super_in_methods_method_calls.js: Added.
(test.B.prototype.qux):
(test.B):
(test.C.prototype.qux):
(test.C):
(test):
* tests/es6/super_in_methods_property_access.js: Added.
(test.B):
(test.C.prototype.quux):
(test.C):
(test):
* tests/es6/super_is_statically_bound.js: Added.
(test.B.prototype.qux):
(test.B):
(test.C.prototype.qux):
(test.C):
(test):
* tests/es6/super_method_calls_use_correct_this_binding.js: Added.
(test.B.prototype.qux):
(test.B):
(test.C.prototype.qux):
(test.C):
(test):
* tests/es6/super_statement_in_constructors.js: Added.
(test.B):
(test):
* tests/es6/template_strings_basic_functionality.js: Added.
(test):
* tests/es6/template_strings_line_break_normalisation.js: Added.
(test):
* tests/es6/template_strings_passed_array_is_frozen.js: Added.
(test):
* tests/es6/template_strings_tagged_template_strings.js: Added.
(test.fn):
(test):
* tests/es6/template_strings_toString_conversion.js: Added.
(test.a.toString):
(test.a.valueOf):
(test):
* tests/es6/typed_arrays_%TypedArray%.from.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.of.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.copyWithin.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.entries.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.every.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.fill.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.filter.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.find.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.findIndex.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.forEach.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.indexOf.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.join.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.keys.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.lastIndexOf.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.map.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.reduce.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.reduceRight.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.reverse.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.slice.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.some.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.sort.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.subarray.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype.values.js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%.prototype[Symbol.iterator].js: Added.
(test):
* tests/es6/typed_arrays_%TypedArray%[Symbol.species].js: Added.
(test):
* tests/es6/typed_arrays_ArrayBuffer[Symbol.species].js: Added.
(test):
* tests/es6/typed_arrays_DataView_Float32.js: Added.
(test):
* tests/es6/typed_arrays_DataView_Float64.js: Added.
(test):
* tests/es6/typed_arrays_DataView_Int16.js: Added.
(test):
* tests/es6/typed_arrays_DataView_Int32.js: Added.
(test):
* tests/es6/typed_arrays_DataView_Int8.js: Added.
(test):
* tests/es6/typed_arrays_DataView_Uint16.js: Added.
(test):
* tests/es6/typed_arrays_DataView_Uint32.js: Added.
(test):
* tests/es6/typed_arrays_DataView_Uint8.js: Added.
(test):
* tests/es6/typed_arrays_Float32Array.js: Added.
(test):
* tests/es6/typed_arrays_Float64Array.js: Added.
(test):
* tests/es6/typed_arrays_Int16Array.js: Added.
(test):
* tests/es6/typed_arrays_Int32Array.js: Added.
(test):
* tests/es6/typed_arrays_Int8Array.js: Added.
(test):
* tests/es6/typed_arrays_Uint16Array.js: Added.
(test):
* tests/es6/typed_arrays_Uint32Array.js: Added.
(test):
* tests/es6/typed_arrays_Uint8Array.js: Added.
(test):
* tests/es6/typed_arrays_Uint8ClampedArray.js: Added.
(test):
* tests/es6/typed_arrays_constructors_require_new.js: Added.
(test):
* tests/es6/typed_arrays_correct_prototype_chains.js: Added.
(test):
* tests/es6/well-known_symbols_Symbol.hasInstance.js: Added.
(test.C):
(test.):
(test):
* tests/es6/well-known_symbols_Symbol.isConcatSpreadable.js: Added.
(test):
* tests/es6/well-known_symbols_Symbol.iterator_arguments_object.js: Added.
(test):
* tests/es6/well-known_symbols_Symbol.iterator_existence.js: Added.
(test):
* tests/es6/well-known_symbols_Symbol.match.js: Added.
(test.O.Symbol.match):
(test):
* tests/es6/well-known_symbols_Symbol.replace.js: Added.
(test.O.Symbol.replace):
(test):
* tests/es6/well-known_symbols_Symbol.search.js: Added.
(test.O.Symbol.search):
(test):
* tests/es6/well-known_symbols_Symbol.species_Array.prototype.concat.js: Added.
(test.obj.Symbol.species):
(test):
* tests/es6/well-known_symbols_Symbol.species_Array.prototype.filter.js: Added.
(test.obj.Symbol.species):
(test):
* tests/es6/well-known_symbols_Symbol.species_Array.prototype.map.js: Added.
(test.obj.Symbol.species):
(test):
* tests/es6/well-known_symbols_Symbol.species_Array.prototype.slice.js: Added.
(test.obj.Symbol.species):
(test):
* tests/es6/well-known_symbols_Symbol.species_Array.prototype.splice.js: Added.
(test.obj.Symbol.species):
(test):
* tests/es6/well-known_symbols_Symbol.species_RegExp.prototype[Symbol.split].js: Added.
(test.obj.Symbol.species):
(test):
* tests/es6/well-known_symbols_Symbol.species_existence.js: Added.
(test):
* tests/es6/well-known_symbols_Symbol.split.js: Added.
(test.O.Symbol.split):
(test):
* tests/es6/well-known_symbols_Symbol.toPrimitive.js: Added.
(test.a.Symbol.toPrimitive):
(test.b.Symbol.toPrimitive):
(test.c.Symbol.toPrimitive):
(test):
* tests/es6/well-known_symbols_Symbol.toStringTag.js: Added.
(test):
* tests/es6/well-known_symbols_Symbol.toStringTag_misc._built-ins.js: Added.
(test):
* tests/es6/well-known_symbols_Symbol.unscopables.js: Added.
(test):

Tools:

* Scripts/run-javascriptcore-tests:
(runJSCStressTests): Added es6 as a test suite.

* Scripts/run-jsc-stress-tests: Added es6 as a test suite.

Some of these tests currently fail, so I also added a way to expect
failure for now. We'll migrate failing tests to expected passes as we
fix them.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189333 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, rebaseline http/tests/w3c/html/dom/dynamic-markup-insertion/opening-the...
cdumez@apple.com [Fri, 4 Sep 2015 02:21:47 +0000 (02:21 +0000)]
Unreviewed, rebaseline http/tests/w3c/html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html

This is a new test.

* http/tests/w3c/html/dom/dynamic-markup-insertion/opening-the-input-stream/007-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189332 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Texmap] highp precision should be used conditionally for fragment shaders on OpenGL ES
commit-queue@webkit.org [Fri, 4 Sep 2015 02:08:24 +0000 (02:08 +0000)]
[Texmap] highp precision should be used conditionally for fragment shaders on OpenGL ES
https://bugs.webkit.org/show_bug.cgi?id=143993

Patch by Jinyoung Hur <hur.ims@navercorp.com> on 2015-09-03
Reviewed by Martin Robinson.

There are some GPUs that do not support the GL_OES_fragment_precision_high extension. (e.g., Mali-T624)
Therefore, highp precision should be used in shader fragments conditionally using a proper preprocessor,
GL_FRAGMENT_PRECISION_HIGH.
Without this patch, nothing will be displayed on the screen if the running platform doesn't support the
GL_OES_fragment_precision_high extension.

No new tests, covered by existing tests.

* platform/graphics/texmap/TextureMapperShaderProgram.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189331 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWatchpointsOnStructureStubInfo doesn't need to be reference counted
fpizlo@apple.com [Fri, 4 Sep 2015 01:20:55 +0000 (01:20 +0000)]
WatchpointsOnStructureStubInfo doesn't need to be reference counted
https://bugs.webkit.org/show_bug.cgi?id=148766

Reviewed by Saam Barati.

It doesn't need to be reference counted because the only RefPtr to it is in
StructureStubInfo. Therefore, it can be a unique_ptr.

* bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::WatchpointsOnStructureStubInfo::addWatchpoint):
(JSC::WatchpointsOnStructureStubInfo::ensureReferenceAndAddWatchpoint):
* bytecode/StructureStubClearingWatchpoint.h:
(JSC::WatchpointsOnStructureStubInfo::WatchpointsOnStructureStubInfo):
(JSC::WatchpointsOnStructureStubInfo::codeBlock):
* bytecode/StructureStubInfo.h:
(JSC::getStructureStubInfoCodeOrigin):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189328 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRange.comparePoint shouldn't throw an exception if the range and the node are in...
rniwa@webkit.org [Fri, 4 Sep 2015 00:48:26 +0000 (00:48 +0000)]
Range.comparePoint shouldn't throw an exception if the range and the node are in the same detached tree
https://bugs.webkit.org/show_bug.cgi?id=148733

Reviewed by Chris Dumez.

Source/WebCore:

Don't throw WRONG_DOCUMENT_ERR when refNode is not in the document. The new behavior matches DOM4 as well
as the behavior of Firefox. See https://dom.spec.whatwg.org/#dom-range-comparepoint

WRONG_DOCUMENT_ERR is still thrown by compareBoundaryPoints later in the function when the root nodes of
refNode and boundary points are different.

There is one subtlety here that we need to throw WRONG_DOCUMENT_ERR instead of INDEX_SIZE_ERR when refNode
and the boundary points don't share the same root node even if (refNode, offset) pair is invalid since
DOM4 spec checks the former condition first. We implement this behavior by first validating the offset
and then explicitly checking for the root node difference if the former check failed to avoid the latter
O(n) check in common cases.

Test: fast/dom/Range/range-comparePoint-detached-nodes.html

* dom/Range.cpp:
(WebCore::Range::comparePoint):

LayoutTests:

Added a regression test and rebaselined a W3C test with more test cases passing.

* fast/dom/Range/range-comparePoint-detached-nodes-expected.txt: Added.
* fast/dom/Range/range-comparePoint-detached-nodes.html: Added.
* http/tests/w3c/dom/ranges/Range-set-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189327 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdded and updated assets for Introducing the Rendering Frames Timeline blog post.
mattbaker@apple.com [Fri, 4 Sep 2015 00:44:37 +0000 (00:44 +0000)]
Added and updated assets for Introducing the Rendering Frames Timeline blog post.

* blog-files/rendering-frames-timeline/inspector-rendering-frames-demo.mov: Added.
* blog-files/rendering-frames-timeline/inspector-rendering-frames-filtering.png:
* blog-files/rendering-frames-timeline/inspector-rendering-frames.png:
* blog-files/rendering-frames-timeline/inspector-task-filters.png:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189326 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoJavaScript functions should restore the stack pointer after a call
basile_clement@apple.com [Fri, 4 Sep 2015 00:25:19 +0000 (00:25 +0000)]
JavaScript functions should restore the stack pointer after a call
https://bugs.webkit.org/show_bug.cgi?id=148659

Reviewed by Michael Saboff.

This patch makes it so that the various places where we are making a
JS-to-JS call restore the stack pointer afterwards. This allows us to
no longer rely on the stack pointer still being valid after a call, and
is a prerequisite for getting rid of the arity fixup return thunk.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLInlineCacheSize.cpp:
(JSC::FTL::sizeOfCall):
* ftl/FTLJSCall.cpp:
(JSC::FTL::JSCall::emit):
* ftl/FTLJSCall.h:
* ftl/FTLStackMaps.h:
(JSC::FTL::StackMaps::stackSizeForLocals):
* jit/Repatch.cpp:
(JSC::generateByIdStub):
* tests/stress/tail-call-in-inline-cache.js: Added.
(tail):
(obj.get x):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189325 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd assets for Introducing the Rendering Frames Timeline blog post.
mattbaker@apple.com [Fri, 4 Sep 2015 00:09:00 +0000 (00:09 +0000)]
Add assets for Introducing the Rendering Frames Timeline blog post.

* blog-files/rendering-frames-timeline/inspector-15ms-filter-after-2x.png: Added.
* blog-files/rendering-frames-timeline/inspector-15ms-filter-after.png: Added.
* blog-files/rendering-frames-timeline/inspector-15ms-filter-before-2x.png: Added.
* blog-files/rendering-frames-timeline/inspector-15ms-filter-before.png: Added.
* blog-files/rendering-frames-timeline/inspector-frames-graph-2x.png: Added.
* blog-files/rendering-frames-timeline/inspector-frames-graph.png: Added.
* blog-files/rendering-frames-timeline/inspector-rendering-frames-2x.png: Added.
* blog-files/rendering-frames-timeline/inspector-rendering-frames-filtering-2x.png: Added.
* blog-files/rendering-frames-timeline/inspector-rendering-frames-filtering.png: Added.
* blog-files/rendering-frames-timeline/inspector-rendering-frames.png: Added.
* blog-files/rendering-frames-timeline/inspector-task-filters-2x.png: Added.
* blog-files/rendering-frames-timeline/inspector-task-filters.png: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189324 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoStructureStubInfo should be able to reset itself without going through CodeBlock
fpizlo@apple.com [Fri, 4 Sep 2015 00:02:29 +0000 (00:02 +0000)]
StructureStubInfo should be able to reset itself without going through CodeBlock
https://bugs.webkit.org/show_bug.cgi?id=148743

Reviewed by Geoffrey Garen.

We had some resetStub...() methods in CodeBlock that didn't really do anything that
StructureStubInfo couldn't do by itself. It makes sense for the functionality to reset a
stub to be in the stub class, not in CodeBlock.

It's still true that:

- In order to mess with a StructureStubInfo, you either have to be in GC or you have to
  be holding the owning CodeBlock's lock.

- StructureStubInfo doesn't remember which CodeBlock owns it (to save space), and all
  of the callers of StructureStubInfo methods know which CodeBlock own it. So, many stub
  methods take CodeBlock* as an argument.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::addCallLinkInfo):
(JSC::CodeBlock::getCallLinkInfoForBytecodeIndex):
(JSC::CodeBlock::resetStub): Deleted.
(JSC::CodeBlock::resetStubInternal): Deleted.
(JSC::CodeBlock::resetStubDuringGCInternal): Deleted.
* bytecode/CodeBlock.h:
* bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::StructureStubClearingWatchpoint::fireInternal):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitWeakReferences):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::initInList):
(JSC::StructureStubInfo::seenOnce):
(JSC::StructureStubInfo::reset): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189323 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[iOS] Playback does not pause when deselecting route and locking screen.
jer.noble@apple.com [Thu, 3 Sep 2015 23:53:33 +0000 (23:53 +0000)]
[iOS] Playback does not pause when deselecting route and locking screen.
https://bugs.webkit.org/show_bug.cgi?id=148724

Reviewed by Eric Carlson.

When deselecting a route, the route change notification can be delayed for some amount
of time. If the screen is locked before the notification is fired, the PlatformMediaSessionManager
can refuse to pause the video when entering the background due to a wireless playback route
still being active.

When the media element transitions from having an active route to not having one (or vice versa),
re-run the interruption check. In order to correctly determine, when that occurs, whether
we are in an 'application background' state, cache that value to an ivar when handling
application{Will,Did}Enter{Background,Foreground}.

Because we only want to run this step during an actual transition between playing to a route ->
playing locally, cache the value of isPlayingToWirelessPlayback to another ivar, and only
inform the PlatformMediaSessionManager when that value actually changes.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
* platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::isPlayingToWirelessPlaybackTargetChanged): Set or clear m_isPlayingToWirelessPlaybackTarget.
* platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSession::isPlayingToWirelessPlaybackTarget): Simple getter.
* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::applicationWillEnterBackground): Set m_isApplicationInBackground.
(WebCore::PlatformMediaSessionManager::applicationDidEnterBackground): Ditto.
(WebCore::PlatformMediaSessionManager::applicationWillEnterForeground): Clear m_isApplicationInBackground.
(WebCore::PlatformMediaSessionManager::sessionIsPlayingToWirelessPlaybackTargetChanged): Run interruption
    if application is in background.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189322 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd a test for swipe-start hysteresis
timothy_horton@apple.com [Thu, 3 Sep 2015 23:49:09 +0000 (23:49 +0000)]
Add a test for swipe-start hysteresis
https://bugs.webkit.org/show_bug.cgi?id=148756

Reviewed by Anders Carlsson.

* swipe/basic-cached-back-swipe.html:
* swipe/pushState-cached-back-swipe.html:
* swipe/resources/swipe-test.js:
(testComplete):
* swipe/swipe-start-hysteresis-failures.html: Added.
* swipe/swipe-start-hysteresis-failures-expected.txt: Added.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::cacheTestRunnerCallback):
(WTR::TestRunner::clearTestRunnerCallbacks):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
Make sure that we log if a client tries to install a callback twice
(since we use .add, the second call would not work).

Also, add clearTestRunnerCallbacks so tests can swap out installed
callbacks.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189321 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMove SecurityOriginData from WK2 to WebCore.
beidson@apple.com [Thu, 3 Sep 2015 23:34:53 +0000 (23:34 +0000)]
Move SecurityOriginData from WK2 to WebCore.
https://bugs.webkit.org/show_bug.cgi?id=148739

Reviewed by Tim Horton.

This will be needed for upcoming IndexedDB work.

Source/WebCore:

No new tests (No behavior change.)

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* page/SecurityOriginData.cpp: Renamed from Source/WebKit2/Shared/SecurityOriginData.cpp.
(WebCore::SecurityOriginData::fromSecurityOrigin):
(WebCore::SecurityOriginData::fromFrame):
(WebCore::SecurityOriginData::securityOrigin):
(WebCore::SecurityOriginData::isolatedCopy):
(WebCore::operator==):
* page/SecurityOriginData.h: Renamed from Source/WebKit2/Shared/SecurityOriginData.h.
(WebCore::SecurityOriginData::encode):
(WebCore::SecurityOriginData::decode):

Source/WebKit2:

* CMakeLists.txt:
* DatabaseProcess/DatabaseProcess.h:
* DatabaseProcess/DatabaseProcess.messages.in:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h:
* NetworkProcess/NetworkProcess.cpp:
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
* Shared/WebCrossThreadCopier.cpp:
* Shared/WebCrossThreadCopier.h:
* Shared/WebsiteData/WebsiteData.cpp:
* UIProcess/API/APINavigationClient.h:
* UIProcess/API/APIUIClient.h:
* UIProcess/API/C/WKPage.cpp:
* UIProcess/API/Cocoa/WKUserContentController.mm:
* UIProcess/API/gtk/WebKitUIClient.cpp:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
* UIProcess/Storage/StorageManager.cpp:
* UIProcess/Storage/StorageManager.h:
* UIProcess/Storage/StorageManager.messages.in:
* UIProcess/UserContent/WebScriptMessageHandler.h:
* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
* UIProcess/UserContent/WebUserContentControllerProxy.h:
* UIProcess/UserContent/WebUserContentControllerProxy.messages.in:
* UIProcess/WebCookieManagerProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
* WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
* WebProcess/MediaCache/WebMediaKeyStorageManager.h:
* WebProcess/Storage/StorageAreaMap.cpp:
* WebProcess/UserContent/WebUserContentController.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebProcess.cpp:
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189313 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoDumpRenderTree should automatically compute HTTP URLs for HTTP tests
andersca@apple.com [Thu, 3 Sep 2015 23:30:08 +0000 (23:30 +0000)]
DumpRenderTree should automatically compute HTTP URLs for HTTP tests
https://bugs.webkit.org/show_bug.cgi?id=148746
rdar://problem/22568073

Reviewed by Tim Horton.

* DumpRenderTree/mac/DumpRenderTree.mm:
(computeTestURL):
Compute the test URL from the passed in path or URL. Special-case paths that contain /LayoutTests/http/tests.

(runTest):
Call computeTestURL.

(testPathFromURL):
Get rid of this; computeTestURL does this for us now.

* Scripts/webkitpy/port/driver.py:
(Driver._command_from_driver_input):
Don't convert HTTP test paths to URLS before passing them to DumpRenderTree on Mac. That's handled by DRT itself now.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189311 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoNew clang warns about boolean checks for |this| pointer in RenderObject debug methods
zalan@apple.com [Thu, 3 Sep 2015 23:23:44 +0000 (23:23 +0000)]
New clang warns about boolean checks for |this| pointer in RenderObject debug methods
https://bugs.webkit.org/show_bug.cgi?id=136599

Remove unnecessary null checking.

Reviewed by David Kilzer.

Not testable.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::showRenderObject): Deleted.
(WebCore::RenderObject::showRenderSubTreeAndMark): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189310 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUn-skip swipe tests on Mavericks
timothy_horton@apple.com [Thu, 3 Sep 2015 22:53:51 +0000 (22:53 +0000)]
Un-skip swipe tests on Mavericks

* platform/mac-mavericks/TestExpectations:
This skip didn't work anyway because the fallback order is insane.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189305 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoSwipe tests fail on Mavericks
timothy_horton@apple.com [Thu, 3 Sep 2015 22:52:43 +0000 (22:52 +0000)]
Swipe tests fail on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=148752

Reviewed by Beth Dakin.

* WebKitTestRunner/mac/EventSenderProxy.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189304 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoImplement some arithmetic instructions in WebAssembly
commit-queue@webkit.org [Thu, 3 Sep 2015 22:45:03 +0000 (22:45 +0000)]
Implement some arithmetic instructions in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148737

Patch by Sukolsak Sakshuwong <sukolsak@gmail.com> on 2015-09-03
Reviewed by Geoffrey Garen.

This patch implements the addition and subtraction instructions in
WebAssembly using a stack-based approach: each instruction reads its
operands from the top of the 'temporary' stack, pops them, and
optionally pushes a return value to the stack. Since operands are passed
on the stack, we don't use the arguments that are passed to the methods
of WASMFunctionCompiler, and we don't use the return values from these
methods. (We will use them when we implement LLVM IR generation for
WebAssembly, where each expression is an LLVMValueRef.)

* tests/stress/wasm-arithmetic.js: Added.
* tests/stress/wasm-arithmetic.wasm: Added.
* wasm/WASMFunctionCompiler.h:
(JSC::WASMFunctionCompiler::endFunction):
(JSC::WASMFunctionCompiler::buildReturn):
(JSC::WASMFunctionCompiler::buildImmediateI32):
(JSC::WASMFunctionCompiler::buildBinaryI32):
(JSC::WASMFunctionCompiler::temporaryAddress):
* wasm/WASMFunctionParser.cpp:
(JSC::WASMFunctionParser::parseReturnStatement):
(JSC::WASMFunctionParser::parseExpressionI32):
(JSC::WASMFunctionParser::parseImmediateExpressionI32):
(JSC::WASMFunctionParser::parseBinaryExpressionI32):
* wasm/WASMFunctionParser.h:
* wasm/WASMFunctionSyntaxChecker.h:
(JSC::WASMFunctionSyntaxChecker::startFunction):
(JSC::WASMFunctionSyntaxChecker::endFunction):
(JSC::WASMFunctionSyntaxChecker::buildReturn):
(JSC::WASMFunctionSyntaxChecker::buildImmediateI32):
(JSC::WASMFunctionSyntaxChecker::buildBinaryI32):
(JSC::WASMFunctionSyntaxChecker::stackHeight):
(JSC::WASMFunctionSyntaxChecker::updateTempStackHeight):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoImport W3C HTML/DOM test suite from github.com/w3c/web-platform-tests
cdumez@apple.com [Thu, 3 Sep 2015 22:39:38 +0000 (22:39 +0000)]
Import W3C HTML/DOM test suite from github.com/w3c/web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=148736
<rdar://problem/22551968>

Reviewed by Ryosuke Niwa.

Import W3C HTML/DOM test suite from github.com/w3c/web-platform-tests
to get better coverage. This includes 230 tests. They run in ~15 seconds
for a release build / ~20 seconds for a debug build on a MacBookPro.

* TestExpectations:
* http/tests/w3c/html/dom/*: Added.
New test suite.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189302 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoFix the 32-bit build
timothy_horton@apple.com [Thu, 3 Sep 2015 22:30:37 +0000 (22:30 +0000)]
Fix the 32-bit build

* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::setNavigationGesturesEnabled):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189297 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: should crash on purpose if InjectedScriptSource.js is unparseable
bburg@apple.com [Thu, 3 Sep 2015 22:28:55 +0000 (22:28 +0000)]
Web Inspector: should crash on purpose if InjectedScriptSource.js is unparseable
https://bugs.webkit.org/show_bug.cgi?id=148750

Reviewed by Timothy Hatcher.

If an injected script cannot be parsed or executed without exception, we should abort as
soon as possible. This patch adds a release assertion after creating the injected
script and dumps the bad injected script's source as it was embedded into the binary.

* inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::injectedScriptFor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189295 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRemove some logging that wasn't meant to be in the tree
timothy_horton@apple.com [Thu, 3 Sep 2015 22:26:47 +0000 (22:26 +0000)]
Remove some logging that wasn't meant to be in the tree

* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::swipeGestureWithWheelAndMomentumPhases):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189294 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoClean up register naming
msaboff@apple.com [Thu, 3 Sep 2015 22:16:23 +0000 (22:16 +0000)]
Clean up register naming
https://bugs.webkit.org/show_bug.cgi?id=148658

Reviewed by Geoffrey Garen.

This changes register naming conventions in the llint and baseline JIT
in order to use as few (native) callee-save registers as possible on
64-bits platforms. It also introduces significant changes in the way
registers names are defined in the LLint and baseline JIT in order to
enable a simpler convention about which registers can be aliased. That
convention is valid across all architecture, and described in
llint/LowLevelInterpreter.asm.

Callee save registers are now called out regCS<n> (in the JIT) or
csr<n> (in the LLInt) with a common numbering across all tiers. Some
registers are unused in some tiers.

As a part of this change, rdi was removed from the list of temporary
registers for X86-64 Windows as it is a callee saves register. This
reduced the number of temporary registers for X86-64 Windows.

This is in preparation for properly handling callee save register
preservation and restoration.

* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileFunction):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* jit/FPRInfo.h:
(JSC::FPRInfo::toRegister):
(JSC::FPRInfo::toIndex):
* jit/GPRInfo.h:
(JSC::GPRInfo::toIndex):
(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::debugName): Deleted.
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_mod):
* jit/JITOpcodes.cpp:
(JSC::JIT::emitSlow_op_loop_hint):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_end):
(JSC::JIT::emit_op_new_object):
* jit/RegisterPreservationWrapperGenerator.cpp:
(JSC::generateRegisterPreservationWrapper):
(JSC::generateRegisterRestoration):
* jit/ThunkGenerators.cpp:
(JSC::arityFixupGenerator):
(JSC::nativeForGenerator): Deleted.
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/arm.rb:
* offlineasm/arm64.rb:
* offlineasm/cloop.rb:
* offlineasm/mips.rb:
* offlineasm/registers.rb:
* offlineasm/sh4.rb:
* offlineasm/x86.rb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189293 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRemove empty LayoutTests/platform/ios-sim-deprecated
ap@apple.com [Thu, 3 Sep 2015 21:55:40 +0000 (21:55 +0000)]
Remove empty LayoutTests/platform/ios-sim-deprecated

* platform/ios-sim-deprecated: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189292 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoConsolidate iOS pasteboard test failures.
ap@apple.com [Thu, 3 Sep 2015 21:52:27 +0000 (21:52 +0000)]
Consolidate iOS pasteboard test failures.

Per-process pasteboard is not implemented in iOS DumpRenderTree and WebKitTestRunner,
so pasteboard tests interfere with each other.

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189291 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd a test for swiping back after a same-document navigation
timothy_horton@apple.com [Thu, 3 Sep 2015 21:51:41 +0000 (21:51 +0000)]
Add a test for swiping back after a same-document navigation
https://bugs.webkit.org/show_bug.cgi?id=148751

Reviewed by Beth Dakin.

* swipe/pushState-cached-back-swipe.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189290 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION: http/tests/contentfiltering/block-after-redirect.html is flaky
aestes@apple.com [Thu, 3 Sep 2015 21:48:27 +0000 (21:48 +0000)]
REGRESSION: http/tests/contentfiltering/block-after-redirect.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148684

Reviewed by Alexey Proskuryakov.

Wait for the iframe to load the blocked page before finishing the test.

* http/tests/contentfiltering/block-after-redirect.html:
* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189289 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoGet rid of RepatchBuffer and replace it with static functions
fpizlo@apple.com [Thu, 3 Sep 2015 21:11:59 +0000 (21:11 +0000)]
Get rid of RepatchBuffer and replace it with static functions
https://bugs.webkit.org/show_bug.cgi?id=148742

Reviewed by Geoffrey Garen and Mark Lam.

RepatchBuffer is an object that doesn't have any state. All of its instance methods are
just wrappers for methods on MacroAssembler. So, we should make those MacroAssembler
methods public and call them directly.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::linkJump):
(JSC::AbstractMacroAssembler::linkPointer):
(JSC::AbstractMacroAssembler::getLinkerAddress):
(JSC::AbstractMacroAssembler::getLinkerCallReturnOffset):
(JSC::AbstractMacroAssembler::repatchJump):
(JSC::AbstractMacroAssembler::repatchNearCall):
(JSC::AbstractMacroAssembler::repatchCompact):
(JSC::AbstractMacroAssembler::repatchInt32):
(JSC::AbstractMacroAssembler::repatchPointer):
(JSC::AbstractMacroAssembler::readPointer):
(JSC::AbstractMacroAssembler::replaceWithLoad):
(JSC::AbstractMacroAssembler::replaceWithAddressComputation):
(JSC::AbstractMacroAssembler::AbstractMacroAssembler):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::revertJumpReplacementToPatchableBranch32WithPatch):
(JSC::MacroAssemblerARM64::repatchCall):
(JSC::MacroAssemblerARM64::makeBranch):
(JSC::MacroAssemblerARM64::linkCall):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::revertJumpReplacementToPatchableBranch32WithPatch):
(JSC::MacroAssemblerARMv7::repatchCall):
(JSC::MacroAssemblerARMv7::linkCall):
(JSC::MacroAssemblerARMv7::trustedImm32FromPtr):
* assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::revertJumpReplacementToPatchableBranch32WithPatch):
(JSC::MacroAssemblerX86::repatchCall):
(JSC::MacroAssemblerX86::linkCall):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::revertJumpReplacementToBranchPtrWithPatch):
(JSC::MacroAssemblerX86_64::repatchCall):
(JSC::MacroAssemblerX86_64::linkCall):
* assembler/RepatchBuffer.h: Removed.
* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::clearStub):
(JSC::CallLinkInfo::unlink):
(JSC::CallLinkInfo::visitWeak):
* bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::registerPreservationMode):
(JSC::CallLinkInfo::isLinked):
(JSC::CallLinkInfo::setUpCall):
(JSC::CallLinkInfo::codeOrigin):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::resetStub):
(JSC::CodeBlock::resetStubInternal):
(JSC::CodeBlock::resetStubDuringGCInternal):
(JSC::CodeBlock::unlinkIncomingCalls):
* bytecode/CodeBlock.h:
* bytecode/PolymorphicGetByIdList.cpp:
(JSC::GetByIdAccess::fromStructureStubInfo):
(JSC::GetByIdAccess::visitWeak):
(JSC::PolymorphicGetByIdList::didSelfPatching):
(JSC::PolymorphicGetByIdList::visitWeak):
* bytecode/PolymorphicGetByIdList.h:
(JSC::GetByIdAccess::doesCalls):
* bytecode/PolymorphicPutByIdList.cpp:
(JSC::PutByIdAccess::fromStructureStubInfo):
(JSC::PutByIdAccess::visitWeak):
(JSC::PolymorphicPutByIdList::addAccess):
(JSC::PolymorphicPutByIdList::visitWeak):
* bytecode/PolymorphicPutByIdList.h:
(JSC::PutByIdAccess::customSetter):
(JSC::PolymorphicPutByIdList::kind):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::seenOnce):
* dfg/DFGOSRExitCompiler.cpp:
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):
* jit/AccessorCallJITStubRoutine.cpp:
(JSC::AccessorCallJITStubRoutine::~AccessorCallJITStubRoutine):
(JSC::AccessorCallJITStubRoutine::visitWeak):
* jit/AccessorCallJITStubRoutine.h:
* jit/JIT.cpp:
(JSC::ctiPatchCallByReturnAddress):
(JSC::JIT::JIT):
(JSC::ctiPatchNearCallByReturnAddress): Deleted.
* jit/JIT.h:
* jit/JITCall.cpp:
* jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileHasIndexedProperty):
(JSC::JIT::emit_op_has_indexed_property):
* jit/JITOperations.cpp:
(JSC::getByVal):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompileGetByValWithCachedId):
(JSC::JIT::privateCompilePutByVal):
(JSC::JIT::privateCompilePutByValWithCachedId):
* jit/JITPropertyAccess32_64.cpp:
* jit/JITStubRoutine.cpp:
(JSC::JITStubRoutine::~JITStubRoutine):
(JSC::JITStubRoutine::visitWeak):
* jit/JITStubRoutine.h:
* jit/PolymorphicCallStubRoutine.cpp:
(JSC::PolymorphicCallNode::~PolymorphicCallNode):
(JSC::PolymorphicCallNode::unlink):
(JSC::PolymorphicCallStubRoutine::clearCallNodesFor):
(JSC::PolymorphicCallStubRoutine::visitWeak):
* jit/PolymorphicCallStubRoutine.h:
(JSC::PolymorphicCallNode::hasCallLinkInfo):
* jit/Repatch.cpp:
(JSC::readCallTarget):
(JSC::repatchCall):
(JSC::repatchByIdSelfAccess):
(JSC::checkObjectPropertyConditions):
(JSC::replaceWithJump):
(JSC::tryCacheGetByID):
(JSC::repatchGetByID):
(JSC::patchJumpToGetByIdStub):
(JSC::tryBuildGetByIDList):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
(JSC::tryRepatchIn):
(JSC::repatchIn):
(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):
(JSC::resetGetByID):
(JSC::resetPutByID):
(JSC::resetIn):
* jit/Repatch.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Mac] Add support for testing swipes
timothy_horton@apple.com [Thu, 3 Sep 2015 21:11:44 +0000 (21:11 +0000)]
[Mac] Add support for testing swipes
https://bugs.webkit.org/show_bug.cgi?id=148700

Reviewed by Beth Dakin.

* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::cgEventPhaseFromString):
(WTR::cgEventMomentumPhaseFromString):
(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases):
(WTR::EventSendingController::swipeGestureWithWheelAndMomentumPhases):
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installDidBeginSwipeCallback):
(WTR::TestRunner::installWillEndSwipeCallback):
(WTR::TestRunner::installDidEndSwipeCallback):
(WTR::TestRunner::installDidRemoveSwipeSnapshotCallback):
(WTR::TestRunner::callDidBeginSwipeCallback):
(WTR::TestRunner::callWillEndSwipeCallback):
(WTR::TestRunner::callDidEndSwipeCallback):
(WTR::TestRunner::callDidRemoveSwipeSnapshotCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::didReceiveMessageFromInjectedBundle):
(WTR::TestController::didBeginNavigationGesture):
(WTR::TestController::willEndNavigationGesture):
(WTR::TestController::didEndNavigationGesture):
(WTR::TestController::didRemoveNavigationGestureSnapshot):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didBeginSwipe):
(WTR::TestInvocation::willEndSwipe):
(WTR::TestInvocation::didEndSwipe):
(WTR::TestInvocation::didRemoveSwipeSnapshot):
* WebKitTestRunner/TestInvocation.h:
Add callbacks when navigation gestures didBegin/willEnd/didEnd, and
when the snapshot is removed.

Add swipeGestureWithWheelAndMomentumPhases, just like the equivalent
mouseScrollBy function.

* WebKitTestRunner/mac/EventSenderProxy.mm:
(-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:phase:time:eventNumber:]):
(-[EventSenderSyntheticEvent type]):
(-[EventSenderSyntheticEvent subtype]):
(-[EventSenderSyntheticEvent locationInWindow]):
(-[EventSenderSyntheticEvent location]):
(-[EventSenderSyntheticEvent momentumPhase]):
(-[EventSenderSyntheticEvent _isTouchesEnded]):
(-[EventSenderSyntheticEvent _cgsEventRecord]):
Rename EventSenderPressureEvent to EventSenderSyntheticEvent and add some
more adjustable values.

(WTR::EventSenderProxy::mouseForceDown):
(WTR::EventSenderProxy::mouseForceUp):
(WTR::EventSenderProxy::mouseForceChanged):
Adopt EventSenderSyntheticEvent.

(WTR::nsEventPhaseFromCGEventPhase):
(WTR::EventSenderProxy::swipeGestureWithWheelAndMomentumPhases):
Make use of EventSenderSyntheticEvent to synthesize swipe gesture events.

* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
Enable swipe.

* swipe/basic-cached-back-swipe-expected.txt: Added.
* swipe/basic-cached-back-swipe.html: Added.
* swipe/resources/swipe-test.js: Added.
(eventQueue.enqueueScrollEvent):
(eventQueue.enqueueSwipeEvent):
(eventQueue.hasPendingEvents):
(eventQueue._processEventQueue):
(eventQueue._processEventQueueSoon):
(shouldBe):
(log):
(dumpLog):
(initializeLog):
(startMeasuringDuration):
(measuredDurationShouldBeLessThan):
Add a test for the simplest case, a back swipe after a normal navigation
with the page cache enabled.

* TestExpectations:
* platform/mac-wk2/TestExpectations:
Disable these tests everywhere except Mac WebKit2.

* UIProcess/API/mac/WKView.mm:
(takeWindowSnapshot):
(-[WKView _takeViewSnapshot]):
Fall back to the non-hardware snapshotting path if the hardware path fails,
which usually happens if the view is fully off-screen (as in the case
of WebKitTestRunner).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189287 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoImprove access specifier use in RenderObject
cavalcantii@gmail.com [Thu, 3 Sep 2015 21:03:46 +0000 (21:03 +0000)]
Improve access specifier use in RenderObject
https://bugs.webkit.org/show_bug.cgi?id=148745

Reviewed by Myles C. Maxfield.

No new tests, no change in behavior.

* rendering/RenderObject.h:
(WebCore::RenderObject::setPreviousSibling):
(WebCore::RenderObject::setNextSibling):
(WebCore::RenderObject::isSetNeedsLayoutForbidden):
(WebCore::RenderObject::setNeedsLayoutIsForbidden):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189286 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoTest Russian ".рф" domain support
ap@apple.com [Thu, 3 Sep 2015 20:54:01 +0000 (20:54 +0000)]
Test Russian ".рф" domain support
https://bugs.webkit.org/show_bug.cgi?id=148721

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/url/user-visible/rf.html

* html/URLUtils.h: Made this header file work with Objective-C.

* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorJS.pm:
* testing/Internals.cpp:
(WebCore::Internals::getCurrentMediaControlsStatusForElement):
(WebCore::Internals::userVisibleString):
* testing/Internals.h:
* testing/Internals.idl:
* testing/Internals.mm: Added.
(WebCore::Internals::userVisibleString):

LayoutTests:

* TestExpectations:
* fast/url/user-visible: Added.
* fast/url/user-visible/rf-expected.txt: Added.
* fast/url/user-visible/rf.html: Added.
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoInitial implementation of WebAssembly function compiler
commit-queue@webkit.org [Thu, 3 Sep 2015 20:32:35 +0000 (20:32 +0000)]
Initial implementation of WebAssembly function compiler
https://bugs.webkit.org/show_bug.cgi?id=148734

Patch by Sukolsak Sakshuwong <sukolsak@gmail.com> on 2015-09-03
Reviewed by Filip Pizlo.

This patch introduces WASMFunctionCompiler, a class for generating
baseline JIT code for WebAssembly functions. The source for each
WebAssembly function is parsed in two passes.
- The first pass is done by WASMFunctionSyntaxChecker when the
  WebAssembly module is initialized. It validates the syntax,
  determines the start and the end offsets in the source, and
  calculates the stack height of the function.
- The second pass is done by WASMFunctionCompiler when the function
  is about to be executed.
This patch doesn't calculate the correct stack height nor generate
the correct code. That will be done in a subsequent patch.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* wasm/JSWASMModule.h:
(JSC::JSWASMModule::functionStartOffsetsInSource):
(JSC::JSWASMModule::functionStackHeights):
* wasm/WASMFunctionCompiler.h: Added.
(JSC::WASMFunctionCompiler::WASMFunctionCompiler):
(JSC::WASMFunctionCompiler::startFunction):
(JSC::WASMFunctionCompiler::endFunction):
(JSC::WASMFunctionCompiler::throwStackOverflowError):
(JSC::WASMFunctionCompiler::localAddress):
* wasm/WASMFunctionParser.cpp:
(JSC::WASMFunctionParser::checkSyntax):
(JSC::WASMFunctionParser::compile):
(JSC::WASMFunctionParser::parseFunction):
* wasm/WASMFunctionParser.h:
* wasm/WASMFunctionSyntaxChecker.h:
(JSC::WASMFunctionSyntaxChecker::startFunction):
(JSC::WASMFunctionSyntaxChecker::endFunction):
(JSC::WASMFunctionSyntaxChecker::stackHeight):
* wasm/WASMModuleParser.cpp:
(JSC::WASMModuleParser::parseFunctionDeclarationSection):
(JSC::WASMModuleParser::parseFunctionDefinition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[WK2] Allow tagging tests with metadata which needs to be known at web process creati...
mmaxfield@apple.com [Thu, 3 Sep 2015 20:15:07 +0000 (20:15 +0000)]
[WK2] Allow tagging tests with metadata which needs to be known at web process creation time
https://bugs.webkit.org/show_bug.cgi?id=148723

Reviewed by Anders Carlsson.

* WebKitTestRunner/TestController.cpp:
(WTR::testPath):
(WTR::updateViewOptionsFromTestHeader):
(WTR::TestController::viewOptionsForTest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189283 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agodocument.createEvent("eventname") should do a case-insensitive match on the event...
cdumez@apple.com [Thu, 3 Sep 2015 20:12:17 +0000 (20:12 +0000)]
document.createEvent("eventname") should do a case-insensitive match on the event name
https://bugs.webkit.org/show_bug.cgi?id=148738
<rdar://problem/22558709>

Reviewed by Andreas Kling.

Source/WebCore:

document.createEvent("eventname") should do a case-insensitive match on the event name:
https://dom.spec.whatwg.org/#dom-document-createevent

WebKit was doing a case-sensitive match. Firefox and Chrome match the specification.

No new tests, already covered by:
http/tests/w3c/dom/nodes/Document-createEvent.html (rebaselined)

* dom/make_event_factory.pl:
(generateImplementation):

LayoutTests:

Rebaseline test now that some checks are passing.

* http/tests/w3c/dom/nodes/Document-createEvent-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoBlock scoped variables should be visible across scripts
saambarati1@gmail.com [Thu, 3 Sep 2015 19:45:44 +0000 (19:45 +0000)]
Block scoped variables should be visible across scripts
https://bugs.webkit.org/show_bug.cgi?id=147813

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch properly implements the global lexical tier described in
http://www.ecma-international.org/ecma-262/6.0/index.html#sec-globaldeclarationinstantiation.
The sepcification mandates that there is a global lexical environment
that wrtaps all program execution. This global lexical environment
holds let/const/class variables defined at the top-level scope
inside a program. These variables can never shadow other program-level
"var"s, global object properties, or other global lexical environment
declarations. Doing so is a SyntaxError.

This patch adds new ResolveTypes that describe the global lexical environment:
GlobalLexicalVar and GlobalLexiclaVarWithInjectionChecks. Resolving to
these means we're doing a load/store from the JSGlobalLexicalEnvironment.
This patch also addes new ResolveTypes: UnresolvedProperty and
UnresolvedPropertyWithVarInjectionChecks. Before, we used GlobalProperty
to encompass this category because if JSScope::abstractAccess didn't
resolve to anything, we could safely assume that this property is
on the global object. Such an assumption is no longer true in ES6.
When we have a resolve_scope/put_to_scope/get_from_scope with this
ResolveType, we try to transition it to either a GlobalProperty
ResolveType or a GlobalLexicalVar resolve type.

JSGlobalLexicalEnvironment is a subclass of JSSegmentedVariableObject.
This means get_from_scopes are direct pointer reads and
put_to_scopes are direct pointer stores.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
* bytecode/EvalCodeCache.h:
(JSC::EvalCodeCache::clear):
(JSC::EvalCodeCache::isCacheableScope):
(JSC::EvalCodeCache::isCacheable):
* bytecode/SpeculatedType.h:
* bytecode/UnlinkedCodeBlock.h:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration):
(JSC::BytecodeGenerator::emitGetFromScope):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::initializeVariable):
(JSC::BytecodeGenerator::emitInstanceOf):
(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::pushScopedControlFlowContext):
(JSC::BytecodeGenerator::emitPushCatchScope):
(JSC::BytecodeGenerator::emitPopCatchScope):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::EmptyLetExpression::emitBytecode):
(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):
(JSC::BindingNode::bindValue):
* debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::isGlobalScope):
(JSC::DebuggerScope::isGlobalLexicalEnvironment):
(JSC::DebuggerScope::isClosureScope):
(JSC::DebuggerScope::caughtValue):
(JSC::DebuggerScope::isFunctionOrEvalScope): Deleted.
* debugger/DebuggerScope.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasRegisterPointer):
(JSC::DFG::Node::variablePointer):
(JSC::DFG::Node::hasHeapPrediction):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStoreBarrierInsertionPhase.cpp:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileMultiPutByOffset):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetGlobalVariable):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutGlobalVariable):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetGlobalVar): Deleted.
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutGlobalVar): Deleted.
* inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::scopeType):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* jit/JIT.h:
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emitLoadWithStructureCheck):
(JSC::JIT::emitGetGlobalProperty):
(JSC::JIT::emitGetVarFromPointer):
(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emitPutGlobalProperty):
(JSC::JIT::emitPutGlobalVariable):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
(JSC::JIT::emitGetGlobalVar): Deleted.
(JSC::JIT::emitPutGlobalVar): Deleted.
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emitLoadWithStructureCheck):
(JSC::JIT::emitGetGlobalProperty):
(JSC::JIT::emitGetVarFromPointer):
(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emitPutGlobalProperty):
(JSC::JIT::emitPutGlobalVariable):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
(JSC::JIT::emitGetGlobalVar): Deleted.
(JSC::JIT::emitPutGlobalVar): Deleted.
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):
(JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal):
* runtime/Executable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
* runtime/GetPutInfo.h: Added.
(JSC::resolveModeName):
(JSC::resolveTypeName):
(JSC::initializationModeName):
(JSC::makeType):
(JSC::needsVarInjectionChecks):
(JSC::ResolveOp::ResolveOp):
(JSC::GetPutInfo::GetPutInfo):
(JSC::GetPutInfo::resolveType):
(JSC::GetPutInfo::initializationMode):
(JSC::GetPutInfo::resolveMode):
(JSC::GetPutInfo::operand):
* runtime/JSGlobalLexicalEnvironment.cpp: Added.
(JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot):
(JSC::JSGlobalLexicalEnvironment::put):
* runtime/JSGlobalLexicalEnvironment.h: Added.
(JSC::JSGlobalLexicalEnvironment::create):
(JSC::JSGlobalLexicalEnvironment::isEmpty):
(JSC::JSGlobalLexicalEnvironment::createStructure):
(JSC::JSGlobalLexicalEnvironment::JSGlobalLexicalEnvironment):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::put):
(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::visitChildren):
(JSC::JSGlobalObject::addStaticGlobals):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::addVar):
(JSC::JSGlobalObject::globalScope):
(JSC::JSGlobalObject::globalLexicalEnvironment):
(JSC::JSGlobalObject::hasOwnPropertyForWrite):
(JSC::constructEmptyArray):
(JSC::JSGlobalObject::symbolTableHasProperty): Deleted.
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
(JSC::globalFuncParseInt):
* runtime/JSLexicalEnvironment.h:
(JSC::JSLexicalEnvironment::createStructure):
* runtime/JSObject.h:
(JSC::JSObject::isGlobalObject):
(JSC::JSObject::isErrorInstance):
(JSC::JSObject::isVariableObject): Deleted.
(JSC::JSObject::isStaticScopeObject): Deleted.
(JSC::JSObject::isNameScopeObject): Deleted.
(JSC::JSObject::isActivationObject): Deleted.
* runtime/JSScope.cpp:
(JSC::JSScope::visitChildren):
(JSC::abstractAccess):
(JSC::JSScope::resolve):
(JSC::JSScope::abstractResolve):
(JSC::JSScope::collectVariablesUnderTDZ):
(JSC::isScopeType):
(JSC::JSScope::isVarScope):
(JSC::JSScope::isLexicalScope):
(JSC::JSScope::isCatchScope):
(JSC::JSScope::isFunctionNameScopeObject):
(JSC::JSScope::isGlobalLexicalEnvironment):
(JSC::JSScope::constantScopeForCodeBlock):
(JSC::resolveModeName): Deleted.
(JSC::resolveTypeName): Deleted.
* runtime/JSScope.h:
(JSC::makeType): Deleted.
(JSC::needsVarInjectionChecks): Deleted.
(JSC::ResolveOp::ResolveOp): Deleted.
(JSC::ResolveModeAndType::ResolveModeAndType): Deleted.
(JSC::ResolveModeAndType::mode): Deleted.
(JSC::ResolveModeAndType::type): Deleted.
(JSC::ResolveModeAndType::operand): Deleted.
* runtime/JSSegmentedVariableObject.cpp:
(JSC::JSSegmentedVariableObject::findVariableIndex):
(JSC::JSSegmentedVariableObject::addVariables):
* runtime/JSSegmentedVariableObject.h:
* runtime/JSSymbolTableObject.h:
(JSC::symbolTablePut):
* runtime/JSType.h:
* runtime/PutPropertySlot.h:
(JSC::PutPropertySlot::PutPropertySlot):
(JSC::PutPropertySlot::isCacheablePut):
(JSC::PutPropertySlot::isCacheableSetter):
(JSC::PutPropertySlot::isCacheableCustom):
(JSC::PutPropertySlot::isInitialization):
(JSC::PutPropertySlot::cachedOffset):
* runtime/SymbolTable.h:
* tests/stress/global-lexical-let-no-rhs.js: Added.
(assert):
(foo):
* tests/stress/global-lexical-redeclare-variable.js: Added.
(globalFunction):
(globalClass):
(assert):
(assertExpectations):
(assertProperError):
* tests/stress/global-lexical-redefine-const.js: Added.
* tests/stress/global-lexical-var-injection.js: Added.
(assert):
(baz):
* tests/stress/global-lexical-variable-tdz.js: Added.
* tests/stress/global-lexical-variable-unresolved-property.js: Added.
* tests/stress/global-lexical-variable-with-statement.js: Added.
(assert):
(shouldThrowInvalidConstAssignment):
(makeObj):
* tests/stress/multiple-files-tests: Added.
* tests/stress/multiple-files-tests/global-lexical-redeclare-variable: Added.
* tests/stress/multiple-files-tests/global-lexical-redeclare-variable/fifth.js: Added.
* tests/stress/multiple-files-tests/global-lexical-redeclare-variable/first.js: Added.
* tests/stress/multiple-files-tests/global-lexical-redeclare-variable/fourth.js: Added.
* tests/stress/multiple-files-tests/global-lexical-redeclare-variable/second.js: Added.
* tests/stress/multiple-files-tests/global-lexical-redeclare-variable/sixth.js: Added.
* tests/stress/multiple-files-tests/global-lexical-redeclare-variable/third.js: Added.
* tests/stress/multiple-files-tests/global-lexical-redefine-const: Added.
* tests/stress/multiple-files-tests/global-lexical-redefine-const/first.js: Added.
(assert):
(shouldThrowInvalidConstAssignment):
* tests/stress/multiple-files-tests/global-lexical-redefine-const/second.js: Added.
(foo):
(bar):
(baz):
* tests/stress/multiple-files-tests/global-lexical-variable-tdz: Added.
* tests/stress/multiple-files-tests/global-lexical-variable-tdz/first.js: Added.
(assert):
(shouldThrowTDZ):
(foo):
(bar):
* tests/stress/multiple-files-tests/global-lexical-variable-tdz/second.js: Added.
* tests/stress/multiple-files-tests/global-lexical-variable-unresolved-property: Added.
* tests/stress/multiple-files-tests/global-lexical-variable-unresolved-property/first.js: Added.
(assert):
(shouldThrowTDZ):
(foo):
* tests/stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js: Added.

LayoutTests:

* js/dom/const-expected.txt:
* js/dom/const.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189279 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRepatchBuffer should be stateless
fpizlo@apple.com [Thu, 3 Sep 2015 19:41:42 +0000 (19:41 +0000)]
RepatchBuffer should be stateless
https://bugs.webkit.org/show_bug.cgi?id=148741

Reviewed by Geoffrey Garen.

This removes our reliance on RepatchBuffer having a pointer to CodeBlock. This is in
preparation for removing RepatchBuffer entirely (see
https://bugs.webkit.org/show_bug.cgi?id=148742). In the longer term, this is necessary
for making inline cache code, particularly in StructureStubInfo, more self-contained.
Currently StructureStubInfo relies on very pointless-looking methods in CodeBlock to
clear itself, and the only thing that those methods do is create a RepatchBuffer. It's
quite silly.

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::allocate):
(JSC::LinkBuffer::performFinalization):
* assembler/RepatchBuffer.h:
(JSC::RepatchBuffer::RepatchBuffer):
(JSC::RepatchBuffer::~RepatchBuffer):
(JSC::RepatchBuffer::relink):
(JSC::RepatchBuffer::revertJumpReplacementToPatchableBranch32WithPatch):
(JSC::RepatchBuffer::codeBlock): Deleted.
* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::clearStub):
(JSC::CallLinkInfo::unlink):
(JSC::CallLinkInfo::visitWeak):
* bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::registerPreservationMode):
(JSC::CallLinkInfo::isLinked):
(JSC::CallLinkInfo::setUpCall):
(JSC::CallLinkInfo::codeOrigin):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::resetStubInternal):
(JSC::CodeBlock::unlinkIncomingCalls):
* bytecode/PolymorphicGetByIdList.cpp:
(JSC::GetByIdAccess::fromStructureStubInfo):
(JSC::GetByIdAccess::visitWeak):
(JSC::PolymorphicGetByIdList::didSelfPatching):
(JSC::PolymorphicGetByIdList::visitWeak):
* bytecode/PolymorphicGetByIdList.h:
(JSC::GetByIdAccess::doesCalls):
* bytecode/PolymorphicPutByIdList.cpp:
(JSC::PutByIdAccess::fromStructureStubInfo):
(JSC::PutByIdAccess::visitWeak):
(JSC::PolymorphicPutByIdList::addAccess):
(JSC::PolymorphicPutByIdList::visitWeak):
* bytecode/PolymorphicPutByIdList.h:
(JSC::PutByIdAccess::customSetter):
(JSC::PolymorphicPutByIdList::kind):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::seenOnce):
* jit/AccessorCallJITStubRoutine.cpp:
(JSC::AccessorCallJITStubRoutine::~AccessorCallJITStubRoutine):
(JSC::AccessorCallJITStubRoutine::visitWeak):
* jit/AccessorCallJITStubRoutine.h:
* jit/ExecutableAllocator.h:
(JSC::ExecutableAllocator::makeWritable): Deleted.
(JSC::ExecutableAllocator::makeExecutable): Deleted.
(JSC::ExecutableAllocator::allocator): Deleted.
* jit/JITStubRoutine.cpp:
(JSC::JITStubRoutine::~JITStubRoutine):
(JSC::JITStubRoutine::visitWeak):
* jit/JITStubRoutine.h:
* jit/PolymorphicCallStubRoutine.cpp:
(JSC::PolymorphicCallNode::~PolymorphicCallNode):
(JSC::PolymorphicCallNode::unlink):
(JSC::PolymorphicCallStubRoutine::clearCallNodesFor):
(JSC::PolymorphicCallStubRoutine::visitWeak):
* jit/PolymorphicCallStubRoutine.h:
(JSC::PolymorphicCallNode::hasCallLinkInfo):
* jit/Repatch.cpp:
(JSC::readCallTarget):
(JSC::repatchCall):
(JSC::repatchByIdSelfAccess):
(JSC::tryCacheGetByID):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):
(JSC::resetGetByID):
(JSC::resetPutByID):
(JSC::resetIn):
* jit/Repatch.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189278 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoTest commit.
lforschler@apple.com [Thu, 3 Sep 2015 19:39:04 +0000 (19:39 +0000)]
Test commit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd a modern API way to know that the navigation gesture snapshot was removed, for...
timothy_horton@apple.com [Thu, 3 Sep 2015 05:51:22 +0000 (05:51 +0000)]
Add a modern API way to know that the navigation gesture snapshot was removed, for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=148693

Reviewed by Anders Carlsson.

* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::didRemoveNavigationGestureSnapshot):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageNavigationClient):
* UIProcess/API/C/WKPageNavigationClient.h:
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::navigationGestureSnapshotWasRemoved):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::navigationGestureDidEnd):
(WebKit::WebPageProxy::navigationGestureSnapshotWasRemoved):
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot):
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot):
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/CoordinatedGraphics/WebView.h:
Add a callback for WKTR when the swipe snapshot is removed.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoReplace all the various forms of branchStructure() with a single method in AssemblyHe...
fpizlo@apple.com [Thu, 3 Sep 2015 03:16:47 +0000 (03:16 +0000)]
Replace all the various forms of branchStructure() with a single method in AssemblyHelpers
https://bugs.webkit.org/show_bug.cgi?id=148725

Reviewed by Saam Barati.

Previously there were the following branchStructure() implementations:

JSC::JIT::branchStructure()
JSC::branchStructure()
JSC::DFG::JITCompiler::branchStructurePtr()

They all did the same thing.  Now there is only one, AssemblyHelpers::branchStructure().

* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::branchWeakStructure):
(JSC::DFG::JITCompiler::jitCode):
(JSC::DFG::JITCompiler::branchStructurePtr): Deleted.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOnCell):
(JSC::DFG::SpeculativeJIT::speculateStringOrStringObject):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::speculateStringObjectForStructure):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfEmpty):
(JSC::AssemblyHelpers::branchStructure):
(JSC::AssemblyHelpers::addressForByteOffset):
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::branchStructure): Deleted.
(JSC::branchStructure): Deleted.
* jit/JITPropertyAccess.cpp:
(JSC::JIT::stringGetByValStubGenerator):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::stringGetByValStubGenerator):
* jit/Repatch.cpp:
(JSC::checkObjectPropertyCondition):
(JSC::checkObjectPropertyConditions):
(JSC::generateByIdStub):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStub):
(JSC::tryRepatchIn):
* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::loadJSStringArgument):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189272 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMutationObserver should accept attributeFilter, attributeOldValue, and characterDataO...
rniwa@webkit.org [Thu, 3 Sep 2015 03:08:13 +0000 (03:08 +0000)]
MutationObserver should accept attributeFilter, attributeOldValue, and characterDataOldValue on their own
https://bugs.webkit.org/show_bug.cgi?id=148716

Reviewed by Chris Dumez.

Source/WebCore:

According to DOM4 [1], MutationObserver accepts characterDataOldValue, attributeOldValue and attributeFilter options
on their own when characterData and attributes options are omitted. It throws only when characterData and attributes
options are explicitly set to false.

Fixed our implementation accordingly. Existing tests as well as ones imported from W3C covers this.

[1] http://www.w3.org/TR/2015/WD-dom-20150618/#interface-mutationobserver

* dom/MutationObserver.cpp:
(WebCore::MutationObserver::observe):

LayoutTests:

Updated the expected results.

Also added test cases to make sure explicitly setting attributes and characterData options to false along
with attributeOldValue, attributeFilter, and characterDataOldValue would throw.

* fast/dom/MutationObserver/observe-exceptions-expected.txt:
* fast/dom/MutationObserver/observe-exceptions.html:
* http/tests/w3c/dom/nodes/MutationObserver-attributes-expected.txt:
* http/tests/w3c/dom/nodes/MutationObserver-characterData-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189271 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoScrollbarThemes should be returned by reference.
akling@apple.com [Thu, 3 Sep 2015 02:58:14 +0000 (02:58 +0000)]
ScrollbarThemes should be returned by reference.
<https://webkit.org/b/147551>

Reviewed by Zalan Bujtas.

Source/WebCore:

There's always a ScrollbarTheme of some type, so have ScrollbarTheme getters
return references all around.

* css/SelectorCheckerTestFunctions.h:
(WebCore::scrollbarMatchesDoubleButtonPseudoClass):
(WebCore::scrollbarMatchesSingleButtonPseudoClass):
(WebCore::scrollbarMatchesNoButtonPseudoClass):
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::startRepeatingTimer):
* page/PageOverlay.cpp:
(WebCore::PageOverlay::bounds):
* page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm:
(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):
* platform/ScrollView.cpp:
(WebCore::ScrollView::paintScrollCorner):
(WebCore::ScrollView::paintOverhangAreas):
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::setScrollbarOverlayStyle):
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::maxOverlapBetweenPages):
(WebCore::Scrollbar::Scrollbar):
(WebCore::Scrollbar::~Scrollbar):
(WebCore::Scrollbar::offsetDidChange):
(WebCore::Scrollbar::updateThumb):
(WebCore::Scrollbar::paint):
(WebCore::Scrollbar::autoscrollTimerFired):
(WebCore::thumbUnderMouse):
(WebCore::Scrollbar::autoscrollPressedPart):
(WebCore::Scrollbar::startTimerIfNeeded):
(WebCore::Scrollbar::moveThumb):
(WebCore::Scrollbar::setHoveredPart):
(WebCore::Scrollbar::setPressedPart):
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseUp):
(WebCore::Scrollbar::mouseDown):
(WebCore::Scrollbar::setEnabled):
(WebCore::Scrollbar::isOverlayScrollbar):
* platform/Scrollbar.h:
(WebCore::Scrollbar::theme):
* platform/ScrollbarTheme.cpp:
(WebCore::ScrollbarTheme::theme):
* platform/ScrollbarTheme.h:
* platform/efl/ScrollbarThemeEfl.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
* platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
* platform/ios/ScrollbarThemeIOS.mm:
(WebCore::ScrollbarTheme::nativeTheme):
* platform/mac/ScrollAnimatorMac.mm:
(macScrollbarTheme):
* platform/mac/ScrollbarThemeMac.mm:
(+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
(+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
(WebCore::ScrollbarTheme::nativeTheme):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::AccessiblePopupMenu::accLocation):
(WebCore::AccessiblePopupMenu::accHitTest):
* platform/win/ScrollbarThemeSafari.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarTheme::nativeTheme):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior):
* rendering/RenderLayer.cpp:
(WebCore::cornerRect):
(WebCore::styleRequiresScrollbar):
(WebCore::styleDefinesAutomaticScrollbar):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarPart):
* rendering/RenderScrollbarPart.cpp:
(WebCore::calcScrollbarThicknessUsing):
(WebCore::RenderScrollbarPart::styleDidChange):
(WebCore::RenderScrollbarPart::imageChanged):
* rendering/RenderScrollbarTheme.cpp:
(WebCore::RenderScrollbarTheme::paintTickmarks):
* rendering/RenderScrollbarTheme.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::scrollbarThickness):

Source/WebKit/win:

* WebView.cpp:
(WebView::gestureNotify):
(WebView::WebViewWndProc):

Source/WebKit2:

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::paintControlForLayerInContext):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189270 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoNode.textContent = undefined should be equivalent to textContent = ""
rniwa@webkit.org [Thu, 3 Sep 2015 02:51:05 +0000 (02:51 +0000)]
Node.textContent = undefined should be equivalent to textContent = ""
https://bugs.webkit.org/show_bug.cgi?id=148729

Reviewed by Darin Adler.

Source/WebCore:

Assigning undefined to textContent should be equivalent to assigning an empty string to it like innerHTML.
This is because textContent is defined as an DOMString? attribute in DOM4 [1] and WebIDL defines ECMAScript
undefined to be treated as null for nullable types [2].

The new behavior matches that of Firefox and Chrome.

[1] https://dom.spec.whatwg.org/#node
[2] https://heycam.github.io/webidl/#es-nullable-type

* dom/Node.idl:

LayoutTests:

Rebaselined the test now that test cases pass.

* http/tests/w3c/dom/nodes/Node-textContent-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189269 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMark http/tests/contentfiltering/block-after-redirect.html as flaky for
ap@apple.com [Thu, 3 Sep 2015 02:39:57 +0000 (02:39 +0000)]
Mark http/tests/contentfiltering/block-after-redirect.html as flaky for
https://bugs.webkit.org/show_bug.cgi?id=148684

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189268 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMake bison grammar compatible with bison 2.1
commit-queue@webkit.org [Thu, 3 Sep 2015 02:34:58 +0000 (02:34 +0000)]
Make bison grammar compatible with bison 2.1
https://bugs.webkit.org/show_bug.cgi?id=148731

Patch by Alex Christensen <achristensen@webkit.org> on 2015-09-02
Reviewed by Tim Horton.

.:

* Source/cmake/WebKitCommon.cmake:
Support bison 2.1.

Source/WebCore:

* css/CSSGrammar.y.in:
* xml/XPathGrammar.y:
Move all union fields to one union so bison 2.1 generates equivalent output.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189267 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd some Houdini specs to the features list
dino@apple.com [Wed, 2 Sep 2015 21:05:06 +0000 (21:05 +0000)]
Add some Houdini specs to the features list
https://bugs.webkit.org/show_bug.cgi?id=148722
<rdar://problem/22545319>

Reviewed by Eric Carlson.

Add the two CSS Houdini specs that have some actual
content to the features list: custom painting and
custom property registration.

* features.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189266 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRepaint cleanup:
zalan@apple.com [Wed, 2 Sep 2015 20:40:45 +0000 (20:40 +0000)]
Repaint cleanup:
fixed.html
fixed-scale.html
fixed-table-cell.html
fixed-table-overflow.html
fixed-table-overflow-zindex.html
fixed-to-relative-position-with-absolute-child.html
fixed-tranformed.html
float-in-new-block-with-layout-delta.html
float-move-during-layout.html
float-new-in-block.html

Unreviewed.

* fast/repaint/fixed-expected.html: Added.
* fast/repaint/fixed-scale-expected.html: Added.
* fast/repaint/fixed-scale-expected.png: Removed.
* fast/repaint/fixed-scale-expected.txt: Removed.
* fast/repaint/fixed-scale.html:
* fast/repaint/fixed-table-cell-expected.html: Added.
* fast/repaint/fixed-table-cell-expected.png: Removed.
* fast/repaint/fixed-table-cell-expected.txt: Removed.
* fast/repaint/fixed-table-cell.html:
* fast/repaint/fixed-table-overflow-expected.html: Added.
* fast/repaint/fixed-table-overflow-expected.png: Removed.
* fast/repaint/fixed-table-overflow-expected.txt: Removed.
* fast/repaint/fixed-table-overflow-zindex-expected.html: Added.
* fast/repaint/fixed-table-overflow-zindex-expected.png: Removed.
* fast/repaint/fixed-table-overflow-zindex-expected.txt: Removed.
* fast/repaint/fixed-table-overflow-zindex.html:
* fast/repaint/fixed-table-overflow.html:
* fast/repaint/fixed-to-relative-position-with-absolute-child-expected.html: Added.
* fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png: Removed.
* fast/repaint/fixed-to-relative-position-with-absolute-child-expected.txt: Removed.
* fast/repaint/fixed-to-relative-position-with-absolute-child.html:
* fast/repaint/fixed-tranformed-expected.html: Added.
* fast/repaint/fixed-tranformed-expected.png: Removed.
* fast/repaint/fixed-tranformed-expected.txt: Removed.
* fast/repaint/fixed-tranformed.html:
* fast/repaint/fixed.html:
* fast/repaint/float-in-new-block-with-layout-delta-expected.html: Added.
* fast/repaint/float-in-new-block-with-layout-delta-expected.png: Removed.
* fast/repaint/float-in-new-block-with-layout-delta-expected.txt: Removed.
* fast/repaint/float-in-new-block-with-layout-delta.html:
* fast/repaint/float-move-during-layout-expected.html: Added.
* fast/repaint/float-move-during-layout.html:
* fast/repaint/float-new-in-block-expected.html: Added.
* fast/repaint/float-new-in-block-expected.txt: Removed.
* fast/repaint/float-new-in-block.html:
* platform/efl/fast/repaint/fixed-expected.png: Removed.
* platform/efl/fast/repaint/fixed-expected.txt: Removed.
* platform/efl/fast/repaint/float-move-during-layout-expected.png: Removed.
* platform/efl/fast/repaint/float-move-during-layout-expected.txt: Removed.
* platform/efl/fast/repaint/float-new-in-block-expected.png: Removed.
* platform/gtk/fast/repaint/fixed-expected.png: Removed.
* platform/gtk/fast/repaint/fixed-expected.txt: Removed.
* platform/gtk/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.png: Removed.
* platform/gtk/fast/repaint/float-move-during-layout-expected.png: Removed.
* platform/gtk/fast/repaint/float-move-during-layout-expected.txt: Removed.
* platform/gtk/fast/repaint/float-new-in-block-expected.png: Removed.
* platform/mac/fast/repaint/fixed-expected.png: Removed.
* platform/mac/fast/repaint/fixed-expected.txt: Removed.
* platform/mac/fast/repaint/fixed-scale-expected.png: Removed.
* platform/mac/fast/repaint/fixed-table-cell-expected.png: Removed.
* platform/mac/fast/repaint/fixed-table-overflow-expected.png: Removed.
* platform/mac/fast/repaint/fixed-table-overflow-zindex-expected.png: Removed.
* platform/mac/fast/repaint/fixed-tranformed-expected.png: Removed.
* platform/mac/fast/repaint/float-in-new-block-with-layout-delta-expected.png: Removed.
* platform/mac/fast/repaint/float-move-during-layout-expected.png: Removed.
* platform/mac/fast/repaint/float-move-during-layout-expected.txt: Removed.
* platform/mac/fast/repaint/float-new-in-block-expected.png: Removed.
* platform/win/fast/repaint/fixed-expected.txt: Removed.
* platform/win/fast/repaint/float-move-during-layout-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189265 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoImport W3C IndexedDB tests.
beidson@apple.com [Wed, 2 Sep 2015 20:38:23 +0000 (20:38 +0000)]
Import W3C IndexedDB tests.
https://bugs.webkit.org/show_bug.cgi?id=148713

Reviewed by Tim Horton' rubber stamp.

LayoutTests/imported/w3c:

* indexeddb/abort-in-initial-upgradeneeded-expected.txt: Added.
* indexeddb/abort-in-initial-upgradeneeded.html: Added.
* indexeddb/close-in-upgradeneeded-expected.txt: Added.
* indexeddb/close-in-upgradeneeded.html: Added.
* indexeddb/cursor-overloads-expected.txt: Added.
* indexeddb/cursor-overloads.htm: Added.
* indexeddb/idb_webworkers-expected.txt: Added.
* indexeddb/idb_webworkers.htm: Added.
* indexeddb/idbcursor-advance-continue-async-expected.txt: Added.
* indexeddb/idbcursor-advance-continue-async.htm: Added.
* indexeddb/idbcursor-advance-expected.txt: Added.
* indexeddb/idbcursor-advance-invalid-expected.txt: Added.
* indexeddb/idbcursor-advance-invalid.htm: Added.
* indexeddb/idbcursor-advance.htm: Added.
* indexeddb/idbcursor-continue-expected.txt: Added.
* indexeddb/idbcursor-continue.htm: Added.
* indexeddb/idbcursor-direction-expected.txt: Added.
* indexeddb/idbcursor-direction-index-expected.txt: Added.
* indexeddb/idbcursor-direction-index-keyrange-expected.txt: Added.
* indexeddb/idbcursor-direction-index-keyrange.htm: Added.
* indexeddb/idbcursor-direction-index.htm: Added.
* indexeddb/idbcursor-direction-objectstore-expected.txt: Added.
* indexeddb/idbcursor-direction-objectstore-keyrange-expected.txt: Added.
* indexeddb/idbcursor-direction-objectstore-keyrange.htm: Added.
* indexeddb/idbcursor-direction-objectstore.htm: Added.
* indexeddb/idbcursor-direction.htm: Added.
* indexeddb/idbcursor-key-expected.txt: Added.
* indexeddb/idbcursor-key.htm: Added.
* indexeddb/idbcursor-primarykey-expected.txt: Added.
* indexeddb/idbcursor-primarykey.htm: Added.
* indexeddb/idbcursor-reused-expected.txt: Added.
* indexeddb/idbcursor-reused.htm: Added.
* indexeddb/idbcursor-source-expected.txt: Added.
* indexeddb/idbcursor-source.htm: Added.
* indexeddb/idbcursor_advance_index-expected.txt: Added.
* indexeddb/idbcursor_advance_index.htm: Added.
* indexeddb/idbcursor_advance_index2-expected.txt: Added.
* indexeddb/idbcursor_advance_index2.htm: Added.
* indexeddb/idbcursor_advance_index3-expected.txt: Added.
* indexeddb/idbcursor_advance_index3.htm: Added.
* indexeddb/idbcursor_advance_index5-expected.txt: Added.
* indexeddb/idbcursor_advance_index5.htm: Added.
* indexeddb/idbcursor_advance_index6-expected.txt: Added.
* indexeddb/idbcursor_advance_index6.htm: Added.
* indexeddb/idbcursor_advance_index7-expected.txt: Added.
* indexeddb/idbcursor_advance_index7.htm: Added.
* indexeddb/idbcursor_advance_index8-expected.txt: Added.
* indexeddb/idbcursor_advance_index8.htm: Added.
* indexeddb/idbcursor_advance_index9-expected.txt: Added.
* indexeddb/idbcursor_advance_index9.htm: Added.
* indexeddb/idbcursor_advance_objectstore-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore.htm: Added.
* indexeddb/idbcursor_advance_objectstore2-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore2.htm: Added.
* indexeddb/idbcursor_advance_objectstore3-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore3.htm: Added.
* indexeddb/idbcursor_advance_objectstore4-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore4.htm: Added.
* indexeddb/idbcursor_advance_objectstore5-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore5.htm: Added.
* indexeddb/idbcursor_continue_index-expected.txt: Added.
* indexeddb/idbcursor_continue_index.htm: Added.
* indexeddb/idbcursor_continue_index2-expected.txt: Added.
* indexeddb/idbcursor_continue_index2.htm: Added.
* indexeddb/idbcursor_continue_index3-expected.txt: Added.
* indexeddb/idbcursor_continue_index3.htm: Added.
* indexeddb/idbcursor_continue_index4-expected.txt: Added.
* indexeddb/idbcursor_continue_index4.htm: Added.
* indexeddb/idbcursor_continue_index5-expected.txt: Added.
* indexeddb/idbcursor_continue_index5.htm: Added.
* indexeddb/idbcursor_continue_index6-expected.txt: Added.
* indexeddb/idbcursor_continue_index6.htm: Added.
* indexeddb/idbcursor_continue_index7-expected.txt: Added.
* indexeddb/idbcursor_continue_index7.htm: Added.
* indexeddb/idbcursor_continue_index8-expected.txt: Added.
* indexeddb/idbcursor_continue_index8.htm: Added.
* indexeddb/idbcursor_continue_invalid-expected.txt: Added.
* indexeddb/idbcursor_continue_invalid.htm: Added.
* indexeddb/idbcursor_continue_objectstore-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore.htm: Added.
* indexeddb/idbcursor_continue_objectstore2-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore2.htm: Added.
* indexeddb/idbcursor_continue_objectstore3-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore3.htm: Added.
* indexeddb/idbcursor_continue_objectstore4-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore4.htm: Added.
* indexeddb/idbcursor_continue_objectstore5-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore5.htm: Added.
* indexeddb/idbcursor_continue_objectstore6-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore6.htm: Added.
* indexeddb/idbcursor_delete_index-expected.txt: Added.
* indexeddb/idbcursor_delete_index.htm: Added.
* indexeddb/idbcursor_delete_index2-expected.txt: Added.
* indexeddb/idbcursor_delete_index2.htm: Added.
* indexeddb/idbcursor_delete_index3-expected.txt: Added.
* indexeddb/idbcursor_delete_index3.htm: Added.
* indexeddb/idbcursor_delete_index4-expected.txt: Added.
* indexeddb/idbcursor_delete_index4.htm: Added.
* indexeddb/idbcursor_delete_index5-expected.txt: Added.
* indexeddb/idbcursor_delete_index5.htm: Added.
* indexeddb/idbcursor_delete_objectstore-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore.htm: Added.
* indexeddb/idbcursor_delete_objectstore2-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore2.htm: Added.
* indexeddb/idbcursor_delete_objectstore3-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore3.htm: Added.
* indexeddb/idbcursor_delete_objectstore4-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore4.htm: Added.
* indexeddb/idbcursor_delete_objectstore5-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore5.htm: Added.
* indexeddb/idbcursor_iterating-expected.txt: Added.
* indexeddb/idbcursor_iterating.htm: Added.
* indexeddb/idbcursor_iterating_index-expected.txt: Added.
* indexeddb/idbcursor_iterating_index.htm: Added.
* indexeddb/idbcursor_iterating_index2-expected.txt: Added.
* indexeddb/idbcursor_iterating_index2.htm: Added.
* indexeddb/idbcursor_iterating_objectstore-expected.txt: Added.
* indexeddb/idbcursor_iterating_objectstore.htm: Added.
* indexeddb/idbcursor_iterating_objectstore2-expected.txt: Added.
* indexeddb/idbcursor_iterating_objectstore2.htm: Added.
* indexeddb/idbcursor_update_index-expected.txt: Added.
* indexeddb/idbcursor_update_index.htm: Added.
* indexeddb/idbcursor_update_index2-expected.txt: Added.
* indexeddb/idbcursor_update_index2.htm: Added.
* indexeddb/idbcursor_update_index3-expected.txt: Added.
* indexeddb/idbcursor_update_index3.htm: Added.
* indexeddb/idbcursor_update_index4-expected.txt: Added.
* indexeddb/idbcursor_update_index4.htm: Added.
* indexeddb/idbcursor_update_index5-expected.txt: Added.
* indexeddb/idbcursor_update_index5.htm: Added.
* indexeddb/idbcursor_update_index6-expected.txt: Added.
* indexeddb/idbcursor_update_index6.htm: Added.
* indexeddb/idbcursor_update_index7-expected.txt: Added.
* indexeddb/idbcursor_update_index7.htm: Added.
* indexeddb/idbcursor_update_objectstore-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore.htm: Added.
* indexeddb/idbcursor_update_objectstore2-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore2.htm: Added.
* indexeddb/idbcursor_update_objectstore3-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore3.htm: Added.
* indexeddb/idbcursor_update_objectstore4-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore4.htm: Added.
* indexeddb/idbcursor_update_objectstore5-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore5.htm: Added.
* indexeddb/idbcursor_update_objectstore6-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore6.htm: Added.
* indexeddb/idbcursor_update_objectstore7-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore7.htm: Added.
* indexeddb/idbcursor_update_objectstore8-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore8.htm: Added.
* indexeddb/idbdatabase_close-expected.txt: Added.
* indexeddb/idbdatabase_close.htm: Added.
* indexeddb/idbdatabase_close2-expected.txt: Added.
* indexeddb/idbdatabase_close2.htm: Added.
* indexeddb/idbdatabase_createObjectStore-createIndex-emptyname-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore-createIndex-emptyname.htm: Added.
* indexeddb/idbdatabase_createObjectStore-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore.htm: Added.
* indexeddb/idbdatabase_createObjectStore10-1000ends-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore10-1000ends.htm: Added.
* indexeddb/idbdatabase_createObjectStore10-emptyname-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore10-emptyname.htm: Added.
* indexeddb/idbdatabase_createObjectStore11-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore11.htm: Added.
* indexeddb/idbdatabase_createObjectStore2-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore2.htm: Added.
* indexeddb/idbdatabase_createObjectStore3-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore3.htm: Added.
* indexeddb/idbdatabase_createObjectStore4-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore4.htm: Added.
* indexeddb/idbdatabase_createObjectStore5-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore5.htm: Added.
* indexeddb/idbdatabase_createObjectStore6-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore6.htm: Added.
* indexeddb/idbdatabase_createObjectStore7-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore7.htm: Added.
* indexeddb/idbdatabase_createObjectStore8-parameters-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore8-parameters.htm: Added.
* indexeddb/idbdatabase_createObjectStore9-invalidparameters-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore9-invalidparameters.htm: Added.
* indexeddb/idbdatabase_deleteObjectStore-expected.txt: Added.
* indexeddb/idbdatabase_deleteObjectStore.htm: Added.
* indexeddb/idbdatabase_deleteObjectStore2-expected.txt: Added.
* indexeddb/idbdatabase_deleteObjectStore2.htm: Added.
* indexeddb/idbdatabase_deleteObjectStore3-expected.txt: Added.
* indexeddb/idbdatabase_deleteObjectStore3.htm: Added.
* indexeddb/idbdatabase_deleteObjectStore4-not_reused-expected.txt: Added.
* indexeddb/idbdatabase_deleteObjectStore4-not_reused.htm: Added.
* indexeddb/idbdatabase_transaction-expected.txt: Added.
* indexeddb/idbdatabase_transaction.htm: Added.
* indexeddb/idbdatabase_transaction2-expected.txt: Added.
* indexeddb/idbdatabase_transaction2.htm: Added.
* indexeddb/idbdatabase_transaction3-expected.txt: Added.
* indexeddb/idbdatabase_transaction3.htm: Added.
* indexeddb/idbdatabase_transaction4-expected.txt: Added.
* indexeddb/idbdatabase_transaction4.htm: Added.
* indexeddb/idbdatabase_transaction5-expected.txt: Added.
* indexeddb/idbdatabase_transaction5.htm: Added.
* indexeddb/idbfactory_cmp-expected.txt: Added.
* indexeddb/idbfactory_cmp.htm: Added.
* indexeddb/idbfactory_cmp2-expected.txt: Added.
* indexeddb/idbfactory_cmp2.htm: Added.
* indexeddb/idbfactory_deleteDatabase-expected.txt: Added.
* indexeddb/idbfactory_deleteDatabase.htm: Added.
* indexeddb/idbfactory_deleteDatabase2-expected.txt: Added.
* indexeddb/idbfactory_deleteDatabase2.htm: Added.
* indexeddb/idbfactory_deleteDatabase3-expected.txt: Added.
* indexeddb/idbfactory_deleteDatabase3.htm: Added.
* indexeddb/idbfactory_deleteDatabase4-expected.txt: Added.
* indexeddb/idbfactory_deleteDatabase4.htm: Added.
* indexeddb/idbfactory_open-expected.txt: Added.
* indexeddb/idbfactory_open.htm: Added.
* indexeddb/idbfactory_open10.htm: Added.
* indexeddb/idbfactory_open11-expected.txt: Added.
* indexeddb/idbfactory_open11.htm: Added.
* indexeddb/idbfactory_open12-expected.txt: Added.
* indexeddb/idbfactory_open12.htm: Added.
* indexeddb/idbfactory_open2-expected.txt: Added.
* indexeddb/idbfactory_open2.htm: Added.
* indexeddb/idbfactory_open3-expected.txt: Added.
* indexeddb/idbfactory_open3.htm: Added.
* indexeddb/idbfactory_open4-expected.txt: Added.
* indexeddb/idbfactory_open4.htm: Added.
* indexeddb/idbfactory_open5-expected.txt: Added.
* indexeddb/idbfactory_open5.htm: Added.
* indexeddb/idbfactory_open6-expected.txt: Added.
* indexeddb/idbfactory_open6.htm: Added.
* indexeddb/idbfactory_open7-expected.txt: Added.
* indexeddb/idbfactory_open7.htm: Added.
* indexeddb/idbfactory_open8-expected.txt: Added.
* indexeddb/idbfactory_open8.htm: Added.
* indexeddb/idbfactory_open9-expected.txt: Added.
* indexeddb/idbfactory_open9.htm: Added.
* indexeddb/idbindex-multientry-arraykeypath-expected.txt: Added.
* indexeddb/idbindex-multientry-arraykeypath.htm: Added.
* indexeddb/idbindex-multientry-big-expected.txt: Added.
* indexeddb/idbindex-multientry-big.htm: Added.
* indexeddb/idbindex-multientry-expected.txt: Added.
* indexeddb/idbindex-multientry.htm: Added.
* indexeddb/idbindex_count-expected.txt: Added.
* indexeddb/idbindex_count.htm: Added.
* indexeddb/idbindex_count2-expected.txt: Added.
* indexeddb/idbindex_count2.htm: Added.
* indexeddb/idbindex_count3-expected.txt: Added.
* indexeddb/idbindex_count3.htm: Added.
* indexeddb/idbindex_count4-expected.txt: Added.
* indexeddb/idbindex_count4.htm: Added.
* indexeddb/idbindex_get-expected.txt: Added.
* indexeddb/idbindex_get.htm: Added.
* indexeddb/idbindex_get2-expected.txt: Added.
* indexeddb/idbindex_get2.htm: Added.
* indexeddb/idbindex_get3-expected.txt: Added.
* indexeddb/idbindex_get3.htm: Added.
* indexeddb/idbindex_get4-expected.txt: Added.
* indexeddb/idbindex_get4.htm: Added.
* indexeddb/idbindex_get5-expected.txt: Added.
* indexeddb/idbindex_get5.htm: Added.
* indexeddb/idbindex_get6-expected.txt: Added.
* indexeddb/idbindex_get6.htm: Added.
* indexeddb/idbindex_get7-expected.txt: Added.
* indexeddb/idbindex_get7.htm: Added.
* indexeddb/idbindex_getKey-expected.txt: Added.
* indexeddb/idbindex_getKey.htm: Added.
* indexeddb/idbindex_getKey2-expected.txt: Added.
* indexeddb/idbindex_getKey2.htm: Added.
* indexeddb/idbindex_getKey3-expected.txt: Added.
* indexeddb/idbindex_getKey3.htm: Added.
* indexeddb/idbindex_getKey4-expected.txt: Added.
* indexeddb/idbindex_getKey4.htm: Added.
* indexeddb/idbindex_getKey5-expected.txt: Added.
* indexeddb/idbindex_getKey5.htm: Added.
* indexeddb/idbindex_getKey6-expected.txt: Added.
* indexeddb/idbindex_getKey6.htm: Added.
* indexeddb/idbindex_getKey7-expected.txt: Added.
* indexeddb/idbindex_getKey7.htm: Added.
* indexeddb/idbindex_indexNames-expected.txt: Added.
* indexeddb/idbindex_indexNames.htm: Added.
* indexeddb/idbindex_openCursor-expected.txt: Added.
* indexeddb/idbindex_openCursor.htm: Added.
* indexeddb/idbindex_openCursor2-expected.txt: Added.
* indexeddb/idbindex_openCursor2.htm: Added.
* indexeddb/idbindex_openKeyCursor-expected.txt: Added.
* indexeddb/idbindex_openKeyCursor.htm: Added.
* indexeddb/idbindex_openKeyCursor2-expected.txt: Added.
* indexeddb/idbindex_openKeyCursor2.htm: Added.
* indexeddb/idbindex_openKeyCursor3-expected.txt: Added.
* indexeddb/idbindex_openKeyCursor3.htm: Added.
* indexeddb/idbkeyrange-expected.txt: Added.
* indexeddb/idbkeyrange.htm: Added.
* indexeddb/idbkeyrange_incorrect-expected.txt: Added.
* indexeddb/idbkeyrange_incorrect.htm: Added.
* indexeddb/idbobjectstore_add-expected.txt: Added.
* indexeddb/idbobjectstore_add.htm: Added.
* indexeddb/idbobjectstore_add10-expected.txt: Added.
* indexeddb/idbobjectstore_add10.htm: Added.
* indexeddb/idbobjectstore_add11-expected.txt: Added.
* indexeddb/idbobjectstore_add11.htm: Added.
* indexeddb/idbobjectstore_add12-expected.txt: Added.
* indexeddb/idbobjectstore_add12.htm: Added.
* indexeddb/idbobjectstore_add13-expected.txt: Added.
* indexeddb/idbobjectstore_add13.htm: Added.
* indexeddb/idbobjectstore_add14-expected.txt: Added.
* indexeddb/idbobjectstore_add14.htm: Added.
* indexeddb/idbobjectstore_add15-expected.txt: Added.
* indexeddb/idbobjectstore_add15.htm: Added.
* indexeddb/idbobjectstore_add16-expected.txt: Added.
* indexeddb/idbobjectstore_add16.htm: Added.
* indexeddb/idbobjectstore_add2-expected.txt: Added.
* indexeddb/idbobjectstore_add2.htm: Added.
* indexeddb/idbobjectstore_add3-expected.txt: Added.
* indexeddb/idbobjectstore_add3.htm: Added.
* indexeddb/idbobjectstore_add4-expected.txt: Added.
* indexeddb/idbobjectstore_add4.htm: Added.
* indexeddb/idbobjectstore_add5-expected.txt: Added.
* indexeddb/idbobjectstore_add5.htm: Added.
* indexeddb/idbobjectstore_add6-expected.txt: Added.
* indexeddb/idbobjectstore_add6.htm: Added.
* indexeddb/idbobjectstore_add7-expected.txt: Added.
* indexeddb/idbobjectstore_add7.htm: Added.
* indexeddb/idbobjectstore_add8-expected.txt: Added.
* indexeddb/idbobjectstore_add8.htm: Added.
* indexeddb/idbobjectstore_add9-expected.txt: Added.
* indexeddb/idbobjectstore_add9.htm: Added.
* indexeddb/idbobjectstore_clear-expected.txt: Added.
* indexeddb/idbobjectstore_clear.htm: Added.
* indexeddb/idbobjectstore_clear2-expected.txt: Added.
* indexeddb/idbobjectstore_clear2.htm: Added.
* indexeddb/idbobjectstore_clear3-expected.txt: Added.
* indexeddb/idbobjectstore_clear3.htm: Added.
* indexeddb/idbobjectstore_clear4-expected.txt: Added.
* indexeddb/idbobjectstore_clear4.htm: Added.
* indexeddb/idbobjectstore_count-expected.txt: Added.
* indexeddb/idbobjectstore_count.htm: Added.
* indexeddb/idbobjectstore_count2-expected.txt: Added.
* indexeddb/idbobjectstore_count2.htm: Added.
* indexeddb/idbobjectstore_count3-expected.txt: Added.
* indexeddb/idbobjectstore_count3.htm: Added.
* indexeddb/idbobjectstore_count4-expected.txt: Added.
* indexeddb/idbobjectstore_count4.htm: Added.
* indexeddb/idbobjectstore_createIndex-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex.htm: Added.
* indexeddb/idbobjectstore_createIndex10-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex10.htm: Added.
* indexeddb/idbobjectstore_createIndex11-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex11.htm: Added.
* indexeddb/idbobjectstore_createIndex12-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex12.htm: Added.
* indexeddb/idbobjectstore_createIndex13-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex13.htm: Added.
* indexeddb/idbobjectstore_createIndex2-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex2.htm: Added.
* indexeddb/idbobjectstore_createIndex3-usable-right-away-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex3-usable-right-away.htm: Added.
* indexeddb/idbobjectstore_createIndex4-deleteIndex-event_order-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex4-deleteIndex-event_order.htm: Added.
* indexeddb/idbobjectstore_createIndex5-emptykeypath-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex5-emptykeypath.htm: Added.
* indexeddb/idbobjectstore_createIndex6-event_order-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex6-event_order.htm: Added.
* indexeddb/idbobjectstore_createIndex7-event_order-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex7-event_order.htm: Added.
* indexeddb/idbobjectstore_createIndex8-valid_keys-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex8-valid_keys.htm: Added.
* indexeddb/idbobjectstore_createIndex9-emptyname-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex9-emptyname.htm: Added.
* indexeddb/idbobjectstore_delete-expected.txt: Added.
* indexeddb/idbobjectstore_delete.htm: Added.
* indexeddb/idbobjectstore_delete2-expected.txt: Added.
* indexeddb/idbobjectstore_delete2.htm: Added.
* indexeddb/idbobjectstore_delete3-expected.txt: Added.
* indexeddb/idbobjectstore_delete3.htm: Added.
* indexeddb/idbobjectstore_delete4-expected.txt: Added.
* indexeddb/idbobjectstore_delete4.htm: Added.
* indexeddb/idbobjectstore_delete5-expected.txt: Added.
* indexeddb/idbobjectstore_delete5.htm: Added.
* indexeddb/idbobjectstore_delete6-expected.txt: Added.
* indexeddb/idbobjectstore_delete6.htm: Added.
* indexeddb/idbobjectstore_delete7-expected.txt: Added.
* indexeddb/idbobjectstore_delete7.htm: Added.
* indexeddb/idbobjectstore_deleteIndex-expected.txt: Added.
* indexeddb/idbobjectstore_deleteIndex.htm: Added.
* indexeddb/idbobjectstore_deleted-expected.txt: Added.
* indexeddb/idbobjectstore_deleted.htm: Added.
* indexeddb/idbobjectstore_get-expected.txt: Added.
* indexeddb/idbobjectstore_get.htm: Added.
* indexeddb/idbobjectstore_get2-expected.txt: Added.
* indexeddb/idbobjectstore_get2.htm: Added.
* indexeddb/idbobjectstore_get3-expected.txt: Added.
* indexeddb/idbobjectstore_get3.htm: Added.
* indexeddb/idbobjectstore_get4-expected.txt: Added.
* indexeddb/idbobjectstore_get4.htm: Added.
* indexeddb/idbobjectstore_get5-expected.txt: Added.
* indexeddb/idbobjectstore_get5.htm: Added.
* indexeddb/idbobjectstore_get6-expected.txt: Added.
* indexeddb/idbobjectstore_get6.htm: Added.
* indexeddb/idbobjectstore_get7-expected.txt: Added.
* indexeddb/idbobjectstore_get7.htm: Added.
* indexeddb/idbobjectstore_index-expected.txt: Added.
* indexeddb/idbobjectstore_index.htm: Added.
* indexeddb/idbobjectstore_openCursor-expected.txt: Added.
* indexeddb/idbobjectstore_openCursor.htm: Added.
* indexeddb/idbobjectstore_openCursor_invalid-expected.txt: Added.
* indexeddb/idbobjectstore_openCursor_invalid.htm: Added.
* indexeddb/idbobjectstore_put-expected.txt: Added.
* indexeddb/idbobjectstore_put.htm: Added.
* indexeddb/idbobjectstore_put10-expected.txt: Added.
* indexeddb/idbobjectstore_put10.htm: Added.
* indexeddb/idbobjectstore_put11-expected.txt: Added.
* indexeddb/idbobjectstore_put11.htm: Added.
* indexeddb/idbobjectstore_put12-expected.txt: Added.
* indexeddb/idbobjectstore_put12.htm: Added.
* indexeddb/idbobjectstore_put13-expected.txt: Added.
* indexeddb/idbobjectstore_put13.htm: Added.
* indexeddb/idbobjectstore_put14-expected.txt: Added.
* indexeddb/idbobjectstore_put14.htm: Added.
* indexeddb/idbobjectstore_put15-expected.txt: Added.
* indexeddb/idbobjectstore_put15.htm: Added.
* indexeddb/idbobjectstore_put16-expected.txt: Added.
* indexeddb/idbobjectstore_put16.htm: Added.
* indexeddb/idbobjectstore_put2-expected.txt: Added.
* indexeddb/idbobjectstore_put2.htm: Added.
* indexeddb/idbobjectstore_put3-expected.txt: Added.
* indexeddb/idbobjectstore_put3.htm: Added.
* indexeddb/idbobjectstore_put4-expected.txt: Added.
* indexeddb/idbobjectstore_put4.htm: Added.
* indexeddb/idbobjectstore_put5-expected.txt: Added.
* indexeddb/idbobjectstore_put5.htm: Added.
* indexeddb/idbobjectstore_put6-expected.txt: Added.
* indexeddb/idbobjectstore_put6.htm: Added.
* indexeddb/idbobjectstore_put7-expected.txt: Added.
* indexeddb/idbobjectstore_put7.htm: Added.
* indexeddb/idbobjectstore_put8-expected.txt: Added.
* indexeddb/idbobjectstore_put8.htm: Added.
* indexeddb/idbobjectstore_put9-expected.txt: Added.
* indexeddb/idbobjectstore_put9.htm: Added.
* indexeddb/idbtransaction-expected.txt: Added.
* indexeddb/idbtransaction-oncomplete-expected.txt: Added.
* indexeddb/idbtransaction-oncomplete.htm: Added.
* indexeddb/idbtransaction.htm: Added.
* indexeddb/idbtransaction_abort-expected.txt: Added.
* indexeddb/idbtransaction_abort.htm: Added.
* indexeddb/idbversionchangeevent-expected.txt: Added.
* indexeddb/idbversionchangeevent.htm: Added.
* indexeddb/idbworker.js: Added.
(MessageHandler.open_rq.onupgradeneeded):
(MessageHandler.open_rq.onsuccess.db.e.target.result.db.onerror):
(MessageHandler.open_rq.onsuccess.db.transaction.objectStore.get onsuccess):
(MessageHandler.open_rq.onerror):
(MessageHandler.open_rq.onblocked):
* indexeddb/index_sort_order-expected.txt: Added.
* indexeddb/index_sort_order.htm: Added.
* indexeddb/interfaces-expected.txt: Added.
* indexeddb/interfaces.html: Added.
* indexeddb/interfaces.idl: Added.
* indexeddb/interfaces.worker.js: Added.
(request.onload):
* indexeddb/key_invalid-expected.txt: Added.
* indexeddb/key_invalid.htm: Added.
* indexeddb/key_valid.html: Added.
* indexeddb/keygenerator-constrainterror-expected.txt: Added.
* indexeddb/keygenerator-constrainterror.htm: Added.
* indexeddb/keygenerator-expected.txt: Added.
* indexeddb/keygenerator-overflow-expected.txt: Added.
* indexeddb/keygenerator-overflow.htm: Added.
* indexeddb/keygenerator.htm: Added.
* indexeddb/keyorder-expected.txt: Added.
* indexeddb/keyorder.htm: Added.
* indexeddb/keypath-expected.txt: Added.
* indexeddb/keypath.htm: Added.
* indexeddb/keypath_invalid-expected.txt: Added.
* indexeddb/keypath_invalid.htm: Added.
* indexeddb/keypath_maxsize-expected.txt: Added.
* indexeddb/keypath_maxsize.htm: Added.
* indexeddb/list_ordering-expected.txt: Added.
* indexeddb/list_ordering.htm: Added.
* indexeddb/objectstore_keyorder-expected.txt: Added.
* indexeddb/objectstore_keyorder.htm: Added.
* indexeddb/request_bubble-and-capture-expected.txt: Added.
* indexeddb/request_bubble-and-capture.htm: Added.
* indexeddb/string-list-ordering-expected.txt: Added.
* indexeddb/string-list-ordering.htm: Added.
* indexeddb/support.js: Added.
(fail):
(.):
(.auto_fail):
(createdb_for_multiple_tests):
(assert_key_equals):
* indexeddb/transaction-create_in_versionchange-expected.txt: Added.
* indexeddb/transaction-create_in_versionchange.htm: Added.
* indexeddb/transaction-lifetime-blocked-expected.txt: Added.
* indexeddb/transaction-lifetime-blocked.htm: Added.
* indexeddb/transaction-lifetime-expected.txt: Added.
* indexeddb/transaction-lifetime.htm: Added.
* indexeddb/transaction-requestqueue-expected.txt: Added.
* indexeddb/transaction-requestqueue.htm: Added.
* indexeddb/transaction_bubble-and-capture-expected.txt: Added.
* indexeddb/transaction_bubble-and-capture.htm: Added.
* indexeddb/value-expected.txt: Added.
* indexeddb/value.htm: Added.
* indexeddb/value_recursive-expected.txt: Added.
* indexeddb/value_recursive.htm: Added.
* indexeddb/writer-starvation-expected.txt: Added.
* indexeddb/writer-starvation.htm: Added.

Source/WebCore:

Tests: imported/w3c/indexeddb/*

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::onVersionChange): Remove invalid assert - version goes back to 0 when initial
  versionChange transaction is aborted.

LayoutTests:

* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:
* platform/wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoSeparate WebGL 1 and WebGL 2 in the features file.
dino@apple.com [Wed, 2 Sep 2015 20:33:22 +0000 (20:33 +0000)]
Separate WebGL 1 and WebGL 2 in the features file.

Unreviewed.

* features.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189263 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoReset the status label when the media is playable
dino@apple.com [Wed, 2 Sep 2015 20:25:29 +0000 (20:25 +0000)]
Reset the status label when the media is playable
https://bugs.webkit.org/show_bug.cgi?id=148704
<rdar://problem/22541939>

Reviewed by Eric Carlson.

Flakiness on the bots uncovered a situation where we
hide the status label but left it with incorrect content.

Covered by the existing statusDisplay test.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updateStatusDisplay): Only set to loading if we're not yet playable.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189262 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRemove some unused methods from GetByIdAccess.
fpizlo@apple.com [Wed, 2 Sep 2015 20:23:08 +0000 (20:23 +0000)]
Remove some unused methods from GetByIdAccess.

Rubber stamped by Michael Saboff.

* bytecode/PolymorphicGetByIdList.h:
(JSC::GetByIdAccess::stubRoutine):
(JSC::GetByIdAccess::doesCalls):
(JSC::GetByIdAccess::isWatched): Deleted.
(JSC::GetByIdAccess::isSimple): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189261 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agor189233 accidentally removed some unrelated expected results.
zalan@apple.com [Wed, 2 Sep 2015 20:10:42 +0000 (20:10 +0000)]
r189233 accidentally removed some unrelated expected results.
https://bugs.webkit.org/show_bug.cgi?id=148708

Unreviewed.

* platform/efl/compositing/repaint/content-into-overflow-expected.png: Added.
* platform/efl/compositing/repaint/content-into-overflow-expected.txt: Added.
* platform/efl/fast/forms/control-clip-expected.png: Added.
* platform/efl/fast/forms/control-clip-expected.txt: Added.
* platform/gtk/fast/forms/control-clip-expected.png: Added.
* platform/gtk/fast/forms/control-clip-expected.txt: Added.
* platform/ios-simulator-wk2/fast/forms/control-clip-expected.txt: Added.
* platform/ios-simulator/compositing/repaint/content-into-overflow-expected.txt: Added.
* platform/ios-simulator/fast/forms/control-clip-expected.txt: Added.
* platform/mac-mavericks/fast/forms/control-clip-expected.png: Added.
* platform/mac-mavericks/fast/forms/control-clip-expected.txt: Added.
* platform/mac/compositing/repaint/content-into-overflow-expected.png: Added.
* platform/mac/compositing/repaint/content-into-overflow-expected.txt: Added.
* platform/mac/fast/forms/control-clip-expected.png: Added.
* platform/mac/fast/forms/control-clip-expected.txt: Added.
* platform/win/fast/forms/control-clip-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189260 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago2015-09-02 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 2 Sep 2015 20:08:37 +0000 (20:08 +0000)]
2015-09-02  Geoffrey Garen  <ggaren@apple.com>

        Fix the no JIT build.

        Unreviewed.

        * heap/Heap.cpp:
        (JSC::Heap::markRoots):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189259 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAX: WebKit does not expose max/min value of <progress> element
cfleizach@apple.com [Wed, 2 Sep 2015 20:03:34 +0000 (20:03 +0000)]
AX: WebKit does not expose max/min value of <progress> element
https://bugs.webkit.org/show_bug.cgi?id=148707

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Allow native progress indicator elements to report min/max values by rewriting special
case code for ARIA progress bars.

Test: accessibility/mac/progress-element-min-max.html

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

* accessibility/mac/progress-element-min-max-expected.txt: Added.
* accessibility/mac/progress-element-min-max.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189258 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCodeBlock should have a more explicit "strongly referenced" state
ggaren@apple.com [Wed, 2 Sep 2015 19:52:04 +0000 (19:52 +0000)]
CodeBlock should have a more explicit "strongly referenced" state
https://bugs.webkit.org/show_bug.cgi?id=148714

Reviewed by Filip Pizlo.

Previously, CodeBlock had a "may be executing" bit, which was used by
both the stack visitor and the compiler to indicate "this CodeBlock must
not jettison itself".

Now, CodeBlock has an explicit "is strongly referenced" bit to do the
same.

For now, there is no behavior change. In future, I will use the "is
strongly referenced" bit to indicate the set of all references that
cause a CodeBlock not to jettison itself. Strong references and stack
references will be different because:

    (1) A stack reference requires a write barrier at the end of GC
    (since CodeBlocks only barrier themselves on function entry,
    and GC will clear that barrier); but a strong reference does not
    need or want a write barrier at the end of GC.

    (2) Visiting more heap objects might reveal more strong references
    but, by definition, it cannot reveal more stack references.

Also, this patch adds an explicit mark clearing phase for compiler
CodeBlocks, which does the work that would normally be done by a write
barrier. A compiler CodeBlock can't rely on a normal write barrier
because the compiler writes to CodeBlocks without invoking a write
barrier, and because the CodeBlock write barrier operates on an
executable, but an in-flight compilation is not pointed to by any
executable. This bug does not appear to be noticeable in the current
system, but I will probably make it noticeable.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan):
(JSC::CodeBlock::isKnownToBeLiveDuringGC):
* bytecode/CodeBlock.h:
(JSC::ExecState::uncheckedR):
(JSC::CodeBlockSet::clearMarks):
(JSC::CodeBlockSet::mark):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::key):
(JSC::DFG::Plan::clearCodeBlockMarks):
(JSC::DFG::Plan::checkLivenessAndVisitChildren):
* dfg/DFGPlan.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::completeAllPlansForVM):
(JSC::DFG::Worklist::clearCodeBlockMarks):
(JSC::DFG::Worklist::suspendAllThreads):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::completeAllPlansForVM):
(JSC::DFG::clearCodeBlockMarks):
* dfg/DFGWorklist.h:
(JSC::DFG::worklistForIndexOrNull):
* heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::clearMarksForFullCollection):
(JSC::CodeBlockSet::clearMarksForEdenCollection):
(JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced):
(JSC::CodeBlockSet::traceMarked):
(JSC::CodeBlockSet::rememberCurrentlyExecutingCodeBlocks):
* heap/CodeBlockSet.h:
* heap/Heap.cpp:
(JSC::Heap::markRoots):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189257 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION(r188206): [EFL] Adjust scrollbar width to ewk_view_contents_size_get API...
gyuyoung.kim@webkit.org [Wed, 2 Sep 2015 17:42:28 +0000 (17:42 +0000)]
REGRESSION(r188206): [EFL] Adjust scrollbar width to ewk_view_contents_size_get API test
https://bugs.webkit.org/show_bug.cgi?id=148701

Reviewed by Csaba Osztrogonác.

r188206 applied to use non-overlay scrollbar on EFL minibrowser. So we need to
adjust scrollwidth to ewk_view_contents_size_get API test as well.

* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189256 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GStreamer] Simplify linking pads in AudioDestination and correct old comment.
commit-queue@webkit.org [Wed, 2 Sep 2015 17:38:55 +0000 (17:38 +0000)]
[GStreamer] Simplify linking pads in AudioDestination and correct old comment.
https://bugs.webkit.org/show_bug.cgi?id=148702

Patch by Hyemi Shin <hyemi.sin@samsung.com> on 2015-09-02
Reviewed by Philippe Normand.

Simplify linking src pad of webkitAudioSrc and sink pad of audioConvert
to one line because implementation changed not to use seperate function
to complete building rest of pipelines.
Correct old comment also there is no more wavparse element.

No new tests, no behavior change.

* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189255 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[mediacontrols] Improve media controls testing helpers
dino@apple.com [Wed, 2 Sep 2015 17:33:17 +0000 (17:33 +0000)]
[mediacontrols] Improve media controls testing helpers
https://bugs.webkit.org/show_bug.cgi?id=148697
<rdar://problem/22530876>

Reviewed by Eric Carlson.

Implement a more modern-looking testing API for media
controls tests, and update the existing tests to
use the new API.

* media/controls/basic-expected.txt:
* media/controls/basic.html:
* media/controls/controls-test-helpers.js:
(ControlsTest): New class for helping testing.
(statusForControlsElement): Deleted.
* media/controls/showControlsButton-expected.txt:
* media/controls/showControlsButton.html:
* media/controls/statusDisplay-expected.txt:
* media/controls/statusDisplay.html:
* media/controls/statusDisplayBad-expected.txt:
* media/controls/statusDisplayBad.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189254 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agodocument.createProcessingInstruction() does not behave according to specification
cdumez@apple.com [Wed, 2 Sep 2015 17:09:00 +0000 (17:09 +0000)]
document.createProcessingInstruction() does not behave according to specification
https://bugs.webkit.org/show_bug.cgi?id=148710

Reviewed by Ryosuke Niwa.

Source/WebCore:

document.createProcessingInstruction() does not behave according to
specification:
https://dom.spec.whatwg.org/#dom-document-createprocessinginstruction

The following changes were made in this patch to match the specification
and the behavior of Firefox / Chrome:
1. document.createProcessingInstruction() now works for HTML documents.
2. Throw an InvalidCharacterError if the data contains "?>" (step 2 of spec)

No new tests, already covered by existing tests that are rebaselined in
this patch.

* dom/Document.cpp:
(WebCore::Document::createProcessingInstruction):

LayoutTests:

Update / rebaseline existing tests.

* dom/html/level1/core/documentinvalidcharacterexceptioncreatepi-expected.txt:
* dom/html/level1/core/documentinvalidcharacterexceptioncreatepi1-expected.txt:
* fast/dom/Node/initial-values-expected.txt:
* fast/dom/Node/script-tests/initial-values.js:
* http/tests/w3c/dom/nodes/CharacterData-remove-expected.txt:
* http/tests/w3c/dom/nodes/Document-createProcessingInstruction-expected.txt:
* http/tests/w3c/dom/nodes/Document-createProcessingInstruction-xhtml-expected.txt:
* http/tests/w3c/dom/nodes/Node-cloneNode-expected.txt:
* http/tests/w3c/dom/nodes/Node-insertBefore-expected.txt:
* http/tests/w3c/dom/nodes/Node-nodeValue-expected.txt:
* http/tests/w3c/dom/nodes/Node-textContent-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189253 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agohttp/tests/w3c/dom/nodes/Element-matches.html is flaky
cdumez@apple.com [Wed, 2 Sep 2015 17:07:57 +0000 (17:07 +0000)]
http/tests/w3c/dom/nodes/Element-matches.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148615

Reviewed by Ryosuke Niwa.

Source/WebCore:

Several newly-imported w3c tests were flaky due to the :target
pseudo-class selectors sometimes giving different results. The
issue seems to be that this type of selector relies on the
Document::cssTarget() element to do the matching. We update
this cssTarget Element in FrameView's scrollToFragment() /
scrollToAnchor(). This is called from
scrollToFragmentWithParentBoundary() which is called by
FrameLoader's finishedParsing() and loadInSameDocument().

In the first one, it is called *after* calling checkComplete()
which fires the onload event. However, in the second method,
it is called *before*. This patch updates finishedParsing()
so that scrollToFragmentWithParentBoundary() is called *before*
firing the onload event, consistently with loadInSameDocument().
This makes sure that JavaScript executed in an onload event
handler will get accurate results for :target pseudo-class
selectors.

No new tests, covered by:
http/tests/w3c/dom/nodes/Element-matches.html
http/tests/w3c/dom/nodes/ParentNode-querySelector-All-xhtml.xhtml

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedParsing):

LayoutTests:

Unskip the tests and rebaseline them now that the target pseudo selector
checks are consistently passing.

* TestExpectations:
* http/tests/w3c/dom/nodes/Element-matches-expected.txt:
* http/tests/w3c/dom/nodes/ParentNode-querySelector-All-expected.txt:
* http/tests/w3c/dom/nodes/ParentNode-querySelector-All-xhtml-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189252 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUpdate iOS TestExpectations files
dbates@webkit.org [Wed, 2 Sep 2015 17:07:34 +0000 (17:07 +0000)]
Update iOS TestExpectations files

* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189251 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agohttp/tests/navigation/anchor-frames-same-origin.html is flaky
cdumez@apple.com [Wed, 2 Sep 2015 17:06:15 +0000 (17:06 +0000)]
http/tests/navigation/anchor-frames-same-origin.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148690

Reviewed by Zalan Bujtas.

This is a temporary workaround for Bug 148690, until we have time
to investigate why scroll propagation does not work properly if
the frame is not already layed out when we scroll to the anchor.

This change updates the test to force a layout in the grandchild
frame before we scroll to the anchor. With this change, the test
is consistently passing when run on its own or after others.

* http/tests/navigation/resources/grandchild-with-anchor.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189250 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, rolling out r189241.
commit-queue@webkit.org [Wed, 2 Sep 2015 16:56:15 +0000 (16:56 +0000)]
Unreviewed, rolling out r189241.
https://bugs.webkit.org/show_bug.cgi?id=148703

These tests crash with assertions (Requested by ap on
#webkit).

Reverted changeset:

"Web Inspector: Move PrettyPrinting tests into LayoutTests"
https://bugs.webkit.org/show_bug.cgi?id=148698
http://trac.webkit.org/changeset/189241

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189249 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoConstruct default winding string arguments in CanvasRenderingContext2D from ASCIILite...
zandobersek@gmail.com [Wed, 2 Sep 2015 16:49:14 +0000 (16:49 +0000)]
Construct default winding string arguments in CanvasRenderingContext2D from ASCIILiteral objects
https://bugs.webkit.org/show_bug.cgi?id=148441

Reviewed by Darin Adler.

* html/canvas/CanvasRenderingContext2D.h: Use ASCIILiteral objects to construct
the default values for the winding arguments. This will avoid copying the string
data every time the methods are invoked with the default argument value.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189248 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed. Fix GObject DOM bindings API breaks after r189182.
carlosgc@webkit.org [Wed, 2 Sep 2015 12:50:16 +0000 (12:50 +0000)]
Unreviewed. Fix GObject DOM bindings API breaks after r189182.

Several methods are no longer raising exceptions after
r189182. Add them to the list, but also handle the case where the
methods are called inside the class, to add the nullptr parameter
for the GError.

* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateProperty):
(FunctionUsedToRaiseException):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189247 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION(r188548): Some tests crash after r188548 because injected bundle messages...
carlosgc@webkit.org [Wed, 2 Sep 2015 12:12:09 +0000 (12:12 +0000)]
REGRESSION(r188548): Some tests crash after r188548 because injected bundle messages are received after the test finishes
https://bugs.webkit.org/show_bug.cgi?id=148529

Reviewed by Darin Adler.

When there are pending EventSender messages after a test finishes,
they could be processed in the main loop started by the
resetStateToConsistentValues(), but the old EventSender has been
replaced by a new one at that point. The new Eventsender can crash
when processing messages that were sent to the old one. To avoid
this, we return early when receiving an EventSender message and
the TestController state is not RunningTest.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveKeyDownMessageFromInjectedBundle):
(WTR::TestController::didReceiveMessageFromInjectedBundle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189246 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION(r188548): TestController state is Resseting while tests are running after...
ossy@webkit.org [Wed, 2 Sep 2015 12:00:37 +0000 (12:00 +0000)]
REGRESSION(r188548): TestController state is Resseting while tests are running after r188548
https://bugs.webkit.org/show_bug.cgi?id=148528

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2015-09-02
Reviewed by Darin Adler.

Before r188548 resetStateToConsistentValues() was called in
TestController::run(), before tests are run, but now it's called
for every test in TestInvocation::invoke(), after m_status has
changed to RunningTest.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues): Use
TemporaryChange to reset m_state ot its previous value after reset
is done.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189245 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoFix build with ENABLE(DATABASE_PROCESS) and !ENABLE(INDEXED_DATABASE)
ossy@webkit.org [Wed, 2 Sep 2015 11:58:36 +0000 (11:58 +0000)]
Fix build with ENABLE(DATABASE_PROCESS) and !ENABLE(INDEXED_DATABASE)
https://bugs.webkit.org/show_bug.cgi?id=146550

Patch by Emanuele Aina <emanuele.aina@collabora.com> on 2015-09-02
Reviewed by Brady Eidson.

Given that INDEXED_DATABASE at the moment is the only user of
DATABASE_PROCESS, their guards got inevitably mixed up with various
levels of consistency. Since the --no-indexed-database flag from
build-webkit leaves DATABASE_PROCESS enabled, this resulted in build
failures.

* DatabaseProcess/DatabaseProcess.cpp:
* DatabaseProcess/DatabaseToWebProcessConnection.cpp:
* Shared/Databases/DatabaseProcessCreationParameters.cpp:
* Shared/Databases/DatabaseProcessCreationParameters.h:
* UIProcess/WebProcessPool.cpp:
* WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
* WebProcess/Databases/WebToDatabaseProcessConnection.h:
Add missing ENABLE(INDEXED_DATABASE) guards and moved the
misplaced ones.

* DatabaseProcess/DatabaseProcess.h:
Ditto, and also add a forward declaration for SecurityOriginData since
with INDEXED_DATABASE off SecurityOriginData.h is no longer included
by way of UniqueIDBDatabaseIdentifier.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189244 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRename ShadowRoot::hostElement to shadowRoot::host to match the latest spec
rniwa@webkit.org [Wed, 2 Sep 2015 02:31:37 +0000 (02:31 +0000)]
Rename ShadowRoot::hostElement to shadowRoot::host to match the latest spec
https://bugs.webkit.org/show_bug.cgi?id=148694

Address the review comments by Chris.

* dom/Element.cpp:
(WebCore::Element::removeShadowRoot):
* dom/Node.cpp:
(WebCore::Node::shadowHost):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
* dom/ShadowRoot.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189243 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRecompute maximum outline size only when outline changes.
zalan@apple.com [Wed, 2 Sep 2015 01:56:59 +0000 (01:56 +0000)]
Recompute maximum outline size only when outline changes.
https://bugs.webkit.org/show_bug.cgi?id=148576

Reviewed by Andreas Kling.

We should only recompute the cached maximum outline size when
either the outline size (offset/width) or the style (from or to
auto) changes.
Setting 'outline-style: auto' can change the final outline width as 'auto' triggers
the focus ring mode. In this mode, we ignore outline-width and use the platform default value instead.

Covered by existing test cases.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::computeMaxOutlineSize):
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::initializeStyle): Deleted.
(WebCore::RenderElement::setStyle): Deleted.
* rendering/RenderElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189242 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Move PrettyPrinting tests into LayoutTests
commit-queue@webkit.org [Wed, 2 Sep 2015 01:55:49 +0000 (01:55 +0000)]
Web Inspector: Move PrettyPrinting tests into LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=148698

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-09-01
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

* Tools/PrettyPrinting/index.html:
Modify the relative path to the tests which are now in LayoutTests.

* UserInterface/Test.html:
Load CodeMirror and related resources for Formatting.

LayoutTests:

* inspector/codemirror/resources/prettyprinting/css-rule-tests/*: Renamed from Source/WebInspectorUI/Tools/PrettyPrinting/css-rule-tests/*.
* inspector/codemirror/resources/prettyprinting/css-tests/*: Renamed from Source/WebInspectorUI/Tools/PrettyPrinting/css-tests/*.
* inspector/codemirror/resources/prettyprinting/javascript-tests/*: Renamed from Source/WebInspectorUI/Tools/PrettyPrinting/js-tests/*.
Move tests from PrettyPrinting tools into LayoutTests.

* inspector/codemirror/prettyprinting-css-expected.txt: Added.
* inspector/codemirror/prettyprinting-css-rules-expected.txt: Added.
* inspector/codemirror/prettyprinting-css-rules.html: Added.
* inspector/codemirror/prettyprinting-css.html: Added.
* inspector/codemirror/prettyprinting-javascript-expected.txt: Added.
* inspector/codemirror/prettyprinting-javascript.html: Added.
Add tests per CodeMirror mode.

* inspector/codemirror/resources/prettyprinting/utilities.js: Added.
(TestPage.registerInitializer):
Shared code between the pretty printing tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189241 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRange API should throw a TypeError for null Node parameters
cdumez@apple.com [Wed, 2 Sep 2015 01:37:59 +0000 (01:37 +0000)]
Range API should throw a TypeError for null Node parameters
https://bugs.webkit.org/show_bug.cgi?id=148692

Reviewed by Ryosuke Niwa.

Source/WebCore:

Range API should throw a TypeError for null Node parameters. We currently
throw a NotFoundError.

As per the DOM specification, the Node arguments are not optional nor
nullable [1]:
https://dom.spec.whatwg.org/#range

Therefore, as per the Web IDL specification, we should throw a TypeError
if the Node parameter is null or missing:
https://heycam.github.io/webidl/#es-interface (step 1).

[1] https://heycam.github.io/webidl/#es-nullable-type

No new tests, covered by existing tests which have been
rebaselined.

* dom/Range.cpp:
(WebCore::Range::setStart):
(WebCore::Range::setEnd):
(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):
(WebCore::Range::compareNode):
(WebCore::Range::compareBoundaryPoints):
(WebCore::Range::intersectsNode):
(WebCore::Range::insertNode):
(WebCore::Range::setStartAfter):
(WebCore::Range::setEndBefore):
(WebCore::Range::setEndAfter):
(WebCore::Range::selectNode):
(WebCore::Range::selectNodeContents):
(WebCore::Range::surroundContents):
(WebCore::Range::setStartBefore):
Set the Exception code to TypeError instead of NOT_FOUND_ERR if
the Node parameter is null.

* dom/Range.idl:
Stop marking the Node parameters as optional. They are not optional in
the specification and they are not really optional in our implementation.
Previously, if the Node parameter was missing, we would call the
implementation with a null pointer and the implementation would throw a
NotFoundError. Now that they are mandatory, the bindings will directly
throw a TypeError (as per the Web IDL spec) if the Node parameter is
missing. However, if the JavaScript explicitely passes null or undefined,
the implementation will still be called with a null pointer (because
our bindings generator does not distinguish nullable / non-nullable
parameters). For this reason, we still need to handle null pointers on
the implementation side.

LayoutTests:

Update / rebaseline existing tests.

* fast/dom/Range/range-compareNode.html:
* fast/dom/Range/range-intersectsNode-expected.txt:
* fast/text/text-combine-crash-expected.txt:
* http/tests/w3c/dom/interfaces-expected.txt:
* http/tests/w3c/dom/ranges/Range-comparePoint-2-expected.txt:
* http/tests/w3c/dom/ranges/Range-intersectsNode-binding-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189240 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRename ShadowRoot::hostElement to shadowRoot::host to match the latest spec
rniwa@webkit.org [Wed, 2 Sep 2015 00:54:43 +0000 (00:54 +0000)]
Rename ShadowRoot::hostElement to shadowRoot::host to match the latest spec
https://bugs.webkit.org/show_bug.cgi?id=148694

Reviewed by Chris Dumez.

Renamed ShadowRoot::hostElement to ShadowRoot::host to match the latest shadow DOM spec.
This will help us implementing shadow DOM in near future.

* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
* dom/Element.cpp:
(WebCore::Element::addShadowRoot):
(WebCore::Element::removeShadowRoot):
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
(WebCore::EventRelatedNodeResolver::findHostOfTreeScopeInTargetTreeScope):
(WebCore::shouldEventCrossShadowBoundary):
(WebCore::EventPath::EventPath):
* dom/Node.cpp:
(WebCore::Node::shadowHost):
(WebCore::Node::deprecatedShadowAncestorNode):
(WebCore::Node::parentOrShadowHostElement):
* dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::traverseParent):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::setInnerHTML):
(WebCore::ShadowRoot::setResetStyleInheritance):
* dom/ShadowRoot.h:
(WebCore::Node::parentOrShadowHostNode):
* dom/Text.cpp:
(WebCore::isSVGShadowText):
* dom/TreeScope.cpp:
(WebCore::TreeScope::focusedElement):
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::ensureDistribution):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::insertedInto):
(WebCore::InsertionPoint::removedFrom):
* page/DragController.cpp:
(WebCore::asFileInput):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
* page/FocusController.cpp:
(WebCore::FocusNavigationScope::owner):
* rendering/RenderLayer.cpp:
(WebCore::rendererForScrollbar):
* style/StyleResolveTree.cpp:
(WebCore::Style::attachShadowRoot):
(WebCore::Style::resolveShadowTree):
* svg/SVGElement.cpp:
(WebCore::SVGElement::correspondingUseElement):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189239 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: REGRESSION (r187873): Location column icon is missing in timeline...
mattbaker@apple.com [Wed, 2 Sep 2015 00:29:05 +0000 (00:29 +0000)]
Web Inspector: REGRESSION (r187873): Location column icon is missing in timeline data grids
https://bugs.webkit.org/show_bug.cgi?id=148691

Reviewed by Timothy Hatcher.

* UserInterface/Views/TimelineDataGridNode.js:
(WebInspector.TimelineDataGridNode.prototype.createCellContent):
Added "icon" class name. Was using removed class variable (class="undefined").

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189238 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, Layout Test http/tests/inspector/dom/disconnect-dom-tree-after-main-frame...
commit-queue@webkit.org [Wed, 2 Sep 2015 00:28:44 +0000 (00:28 +0000)]
Unreviewed, Layout Test http/tests/inspector/dom/disconnect-dom-tree-after-main-frame-navigation.html is failing
https://bugs.webkit.org/show_bug.cgi?id=148688

Skip inspector test that times out on windows.

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-09-01

* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189237 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Show layout/paint pixel area in the Rendering Frames tree outline
mattbaker@apple.com [Wed, 2 Sep 2015 00:25:26 +0000 (00:25 +0000)]
Web Inspector: Show layout/paint pixel area in the Rendering Frames tree outline
https://bugs.webkit.org/show_bug.cgi?id=148674

Reviewed by Brian Burg.

* Localizations/en.lproj/localizedStrings.js:
New UI string.

* UserInterface/Views/RenderingFrameTimelineView.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item .subtitle): Deleted.
Show subtitles for layout and paint records only. We still want to hide script record subtitles,
since that information is already in the 'Location' column.

* UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
Add tree element subtitle for LayoutTimelineRecords that specify width and height.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189236 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, mark http/tests/w3c/dom/nodes/ParentNode-querySelector-All.html as flaky.
cdumez@apple.com [Wed, 2 Sep 2015 00:08:56 +0000 (00:08 +0000)]
Unreviewed, mark http/tests/w3c/dom/nodes/ParentNode-querySelector-All.html as flaky.

This is tracked by Bug 148615.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189235 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUpdate iOS TestExpectations files.
jeremyj-wk@apple.com [Wed, 2 Sep 2015 00:00:25 +0000 (00:00 +0000)]
Update iOS TestExpectations files.

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189234 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRepaint cleanup:
zalan@apple.com [Tue, 1 Sep 2015 23:35:58 +0000 (23:35 +0000)]
Repaint cleanup:
button-spurious-layout-hint.html -> reftest
change-transform.html -> reftest
clip-with-layout-delta.html -> reftest
clipped-relative.html -> reftest
containing-block-position-change.html -> reftest
content-into-overflow.html -> reftest
continuation-after-outline.html -> reftest
control-clip.html -> reftest
create-layer-repaint.html -> reftest
dynamic-table-vertical-alignment-change.html -> reftest
erase-overflow.html -> reftest
fixed-position-transparency-with-overflow.html -> reftest

Unreviewed.

* fast/repaint/button-spurious-layout-hint-expected.html: Added.
* fast/repaint/button-spurious-layout-hint-expected.png: Removed.
* fast/repaint/button-spurious-layout-hint.html:
* fast/repaint/change-transform-expected.html: Copied from LayoutTests/fast/repaint/change-transform.html.
* fast/repaint/change-transform.html:
* fast/repaint/clip-with-layout-delta-expected.html: Copied from LayoutTests/fast/repaint/clip-with-layout-delta.html.
* fast/repaint/clip-with-layout-delta-expected.txt: Removed.
* fast/repaint/clip-with-layout-delta.html:
* fast/repaint/clipped-relative-expected.html: Copied from LayoutTests/fast/repaint/clipped-relative.html.
* fast/repaint/clipped-relative.html:
* fast/repaint/containing-block-position-change-expected.html: Copied from LayoutTests/fast/repaint/containing-block-position-change.html.
* fast/repaint/containing-block-position-change.html:
* fast/repaint/content-into-overflow-expected.html: Copied from LayoutTests/fast/repaint/content-into-overflow.html.
* fast/repaint/content-into-overflow-expected.png: Removed.
* fast/repaint/content-into-overflow-expected.txt: Removed.
* fast/repaint/content-into-overflow.html:
* fast/repaint/continuation-after-outline-expected.html: Copied from LayoutTests/fast/repaint/continuation-after-outline.html.
* fast/repaint/continuation-after-outline.html:
* fast/repaint/control-clip-expected.html: Copied from LayoutTests/fast/repaint/control-clip.html.
* fast/repaint/control-clip.html:
* fast/repaint/create-layer-repaint-expected.html: Copied from LayoutTests/fast/repaint/create-layer-repaint.html.
* fast/repaint/create-layer-repaint.html:
* fast/repaint/dynamic-table-vertical-alignment-change-expected.html: Copied from LayoutTests/fast/repaint/dynamic-table-vertical-alignment-change.html.
* fast/repaint/dynamic-table-vertical-alignment-change.html:
* fast/repaint/erase-overflow-expected.html: Copied from LayoutTests/fast/repaint/erase-overflow.html.
* fast/repaint/erase-overflow-expected.png: Removed.
* fast/repaint/erase-overflow-expected.txt: Removed.
* fast/repaint/erase-overflow.html:
* fast/repaint/fixed-position-transparency-with-overflow-expected.html: Added.
* fast/repaint/fixed-position-transparency-with-overflow-expected.png: Removed.
* fast/repaint/fixed-position-transparency-with-overflow-expected.txt: Removed.
* fast/repaint/fixed-position-transparency-with-overflow.html:
* platform/efl/compositing/repaint/content-into-overflow-expected.png: Removed.
* platform/efl/compositing/repaint/content-into-overflow-expected.txt: Removed.
* platform/efl/fast/forms/control-clip-expected.png: Removed.
* platform/efl/fast/forms/control-clip-expected.txt: Removed.
* platform/efl/fast/repaint/button-spurious-layout-hint-expected.txt: Removed.
* platform/efl/fast/repaint/change-transform-expected.png: Removed.
* platform/efl/fast/repaint/change-transform-expected.txt: Removed.
* platform/efl/fast/repaint/clip-with-layout-delta-expected.png: Removed.
* platform/efl/fast/repaint/clipped-relative-expected.png: Removed.
* platform/efl/fast/repaint/clipped-relative-expected.txt: Removed.
* platform/efl/fast/repaint/containing-block-position-change-expected.png: Removed.
* platform/efl/fast/repaint/containing-block-position-change-expected.txt: Removed.
* platform/efl/fast/repaint/continuation-after-outline-expected.png: Removed.
* platform/efl/fast/repaint/continuation-after-outline-expected.txt: Removed.
* platform/efl/fast/repaint/control-clip-expected.png: Removed.
* platform/efl/fast/repaint/control-clip-expected.txt: Removed.
* platform/efl/fast/repaint/create-layer-repaint-expected.png: Removed.
* platform/efl/fast/repaint/create-layer-repaint-expected.txt: Removed.
* platform/efl/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: Removed.
* platform/efl/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt: Removed.
* platform/gtk/fast/forms/control-clip-expected.png: Removed.
* platform/gtk/fast/forms/control-clip-expected.txt: Removed.
* platform/gtk/fast/repaint/button-spurious-layout-hint-expected.txt: Removed.
* platform/gtk/fast/repaint/change-transform-expected.png: Removed.
* platform/gtk/fast/repaint/change-transform-expected.txt: Removed.
* platform/gtk/fast/repaint/clip-with-layout-delta-expected.png: Removed.
* platform/gtk/fast/repaint/clipped-relative-expected.png: Removed.
* platform/gtk/fast/repaint/clipped-relative-expected.txt: Removed.
* platform/gtk/fast/repaint/containing-block-position-change-expected.png: Removed.
* platform/gtk/fast/repaint/containing-block-position-change-expected.txt: Removed.
* platform/gtk/fast/repaint/continuation-after-outline-expected.png: Removed.
* platform/gtk/fast/repaint/continuation-after-outline-expected.txt: Removed.
* platform/gtk/fast/repaint/control-clip-expected.png: Removed.
* platform/gtk/fast/repaint/control-clip-expected.txt: Removed.
* platform/gtk/fast/repaint/create-layer-repaint-expected.png: Removed.
* platform/gtk/fast/repaint/create-layer-repaint-expected.txt: Removed.
* platform/gtk/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: Removed.
* platform/gtk/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/forms/control-clip-expected.txt: Removed.
* platform/ios-simulator/compositing/repaint/content-into-overflow-expected.txt: Removed.
* platform/ios-simulator/fast/forms/control-clip-expected.txt: Removed.
* platform/mac-mavericks/fast/forms/control-clip-expected.png: Removed.
* platform/mac-mavericks/fast/forms/control-clip-expected.txt: Removed.
* platform/mac-mavericks/fast/repaint/control-clip-expected.png: Removed.
* platform/mac-mavericks/fast/repaint/control-clip-expected.txt: Removed.
* platform/mac/compositing/repaint/content-into-overflow-expected.png: Removed.
* platform/mac/compositing/repaint/content-into-overflow-expected.txt: Removed.
* platform/mac/fast/forms/control-clip-expected.png: Removed.
* platform/mac/fast/forms/control-clip-expected.txt: Removed.
* platform/mac/fast/repaint/button-spurious-layout-hint-expected.png: Removed.
* platform/mac/fast/repaint/button-spurious-layout-hint-expected.txt: Removed.
* platform/mac/fast/repaint/change-transform-expected.png: Removed.
* platform/mac/fast/repaint/change-transform-expected.txt: Removed.
* platform/mac/fast/repaint/clip-with-layout-delta-expected.png: Removed.
* platform/mac/fast/repaint/clip-with-layout-delta-expected.txt: Removed.
* platform/mac/fast/repaint/clipped-relative-expected.png: Removed.
* platform/mac/fast/repaint/clipped-relative-expected.txt: Removed.
* platform/mac/fast/repaint/containing-block-position-change-expected.png: Removed.
* platform/mac/fast/repaint/containing-block-position-change-expected.txt: Removed.
* platform/mac/fast/repaint/content-into-overflow-expected.png: Removed.
* platform/mac/fast/repaint/continuation-after-outline-expected.png: Removed.
* platform/mac/fast/repaint/continuation-after-outline-expected.txt: Removed.
* platform/mac/fast/repaint/control-clip-expected.png: Removed.
* platform/mac/fast/repaint/control-clip-expected.txt: Removed.
* platform/mac/fast/repaint/create-layer-repaint-expected.png: Removed.
* platform/mac/fast/repaint/create-layer-repaint-expected.txt: Removed.
* platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: Removed.
* platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt: Removed.
* platform/mac/fast/repaint/erase-overflow-expected.png: Removed.
* platform/mac/fast/repaint/fixed-position-transparency-with-overflow-expected.png: Removed.
* platform/win/fast/forms/control-clip-expected.txt: Removed.
* platform/win/fast/repaint/change-transform-expected.txt: Removed.
* platform/win/fast/repaint/clipped-relative-expected.txt: Removed.
* platform/win/fast/repaint/containing-block-position-change-expected.txt: Removed.
* platform/win/fast/repaint/control-clip-expected.png: Removed.
* platform/win/fast/repaint/control-clip-expected.txt: Removed.
* platform/win/fast/repaint/create-layer-repaint-expected.txt: Removed.
* platform/win/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189233 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Reorder columns in the Rendering Frames data grid by importance
mattbaker@apple.com [Tue, 1 Sep 2015 23:09:07 +0000 (23:09 +0000)]
Web Inspector: Reorder columns in the Rendering Frames data grid by importance
https://bugs.webkit.org/show_bug.cgi?id=148672

Reviewed by Timothy Hatcher.

* UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
Updated column order, rearranged the column object setup code to match.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189232 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRepaint cleanup:
zalan@apple.com [Tue, 1 Sep 2015 21:58:22 +0000 (21:58 +0000)]
Repaint cleanup:
box-shadow-dynamic.html -> reftest
box-shadow-inset-repaint.html -> reftest
bugzilla-3509.html -> reftest
bugzilla-5699.html -> reftest
bugzilla-6278.html -> reftest
bugzilla-6388.html -> reftest
bugzilla-6473.html -> reftest
bugzilla-7235.html -> reftest

Unreviewed.

* fast/repaint/box-shadow-dynamic-expected.html: Copied from LayoutTests/fast/repaint/box-shadow-dynamic.html.
* fast/repaint/box-shadow-dynamic.html:
* fast/repaint/box-shadow-inset-repaint-expected.html: Added.
* fast/repaint/box-shadow-inset-repaint-expected.txt: Removed.
* fast/repaint/box-shadow-inset-repaint.html:
* fast/repaint/bugzilla-3509-expected.html: Copied from LayoutTests/fast/repaint/bugzilla-3509.html.
* fast/repaint/bugzilla-3509.html:
* fast/repaint/bugzilla-5699-expected.html: Copied from LayoutTests/fast/repaint/bugzilla-5699.html.
* fast/repaint/bugzilla-5699.html:
* fast/repaint/bugzilla-6278-expected.html: Copied from LayoutTests/fast/repaint/bugzilla-6278.html.
* fast/repaint/bugzilla-6278.html:
* fast/repaint/bugzilla-6388-expected.html: Copied from LayoutTests/fast/repaint/bugzilla-6388.html.
* fast/repaint/bugzilla-6388.html:
* fast/repaint/bugzilla-6473-expected.html: Copied from LayoutTests/fast/repaint/bugzilla-6473.html.
* fast/repaint/bugzilla-6473.html:
* fast/repaint/bugzilla-7235-expected.html: Copied from LayoutTests/fast/repaint/bugzilla-7235.html.
* fast/repaint/bugzilla-7235.html:
* platform/efl/fast/repaint/box-shadow-dynamic-expected.png: Removed.
* platform/efl/fast/repaint/box-shadow-dynamic-expected.txt: Removed.
* platform/efl/fast/repaint/box-shadow-inset-repaint-expected.png: Removed.
* platform/efl/fast/repaint/bugzilla-3509-expected.png: Removed.
* platform/efl/fast/repaint/bugzilla-3509-expected.txt: Removed.
* platform/efl/fast/repaint/bugzilla-5699-expected.png: Removed.
* platform/efl/fast/repaint/bugzilla-5699-expected.txt: Removed.
* platform/efl/fast/repaint/bugzilla-6278-expected.png: Removed.
* platform/efl/fast/repaint/bugzilla-6278-expected.txt: Removed.
* platform/efl/fast/repaint/bugzilla-6388-expected.png: Removed.
* platform/efl/fast/repaint/bugzilla-6388-expected.txt: Removed.
* platform/efl/fast/repaint/bugzilla-6473-expected.png: Removed.
* platform/efl/fast/repaint/bugzilla-6473-expected.txt: Removed.
* platform/efl/fast/repaint/bugzilla-7235-expected.png: Removed.
* platform/efl/fast/repaint/bugzilla-7235-expected.txt: Removed.
* platform/gtk/fast/repaint/box-shadow-dynamic-expected.png: Removed.
* platform/gtk/fast/repaint/box-shadow-dynamic-expected.txt: Removed.
* platform/gtk/fast/repaint/box-shadow-inset-repaint-expected.png: Removed.
* platform/gtk/fast/repaint/bugzilla-3509-expected.png: Removed.
* platform/gtk/fast/repaint/bugzilla-3509-expected.txt: Removed.
* platform/gtk/fast/repaint/bugzilla-5699-expected.png: Removed.
* platform/gtk/fast/repaint/bugzilla-5699-expected.txt: Removed.
* platform/gtk/fast/repaint/bugzilla-6278-expected.png: Removed.
* platform/gtk/fast/repaint/bugzilla-6278-expected.txt: Removed.
* platform/gtk/fast/repaint/bugzilla-6388-expected.png: Removed.
* platform/gtk/fast/repaint/bugzilla-6388-expected.txt: Removed.
* platform/gtk/fast/repaint/bugzilla-6473-expected.png: Removed.
* platform/gtk/fast/repaint/bugzilla-6473-expected.txt: Removed.
* platform/gtk/fast/repaint/bugzilla-7235-expected.png: Removed.
* platform/gtk/fast/repaint/bugzilla-7235-expected.txt: Removed.
* platform/mac/fast/repaint/box-shadow-dynamic-expected.png: Removed.
* platform/mac/fast/repaint/box-shadow-dynamic-expected.txt: Removed.
* platform/mac/fast/repaint/box-shadow-inset-repaint-expected.png: Removed.
* platform/mac/fast/repaint/bugzilla-3509-expected.png: Removed.
* platform/mac/fast/repaint/bugzilla-3509-expected.txt: Removed.
* platform/mac/fast/repaint/bugzilla-5699-expected.png: Removed.
* platform/mac/fast/repaint/bugzilla-5699-expected.txt: Removed.
* platform/mac/fast/repaint/bugzilla-6278-expected.png: Removed.
* platform/mac/fast/repaint/bugzilla-6278-expected.txt: Removed.
* platform/mac/fast/repaint/bugzilla-6388-expected.png: Removed.
* platform/mac/fast/repaint/bugzilla-6388-expected.txt: Removed.
* platform/mac/fast/repaint/bugzilla-6473-expected.png: Removed.
* platform/mac/fast/repaint/bugzilla-6473-expected.txt: Removed.
* platform/mac/fast/repaint/bugzilla-7235-expected.png: Removed.
* platform/mac/fast/repaint/bugzilla-7235-expected.txt: Removed.
* platform/win/fast/repaint/box-shadow-dynamic-expected.txt: Removed.
* platform/win/fast/repaint/bugzilla-3509-expected.txt: Removed.
* platform/win/fast/repaint/bugzilla-5699-expected.txt: Removed.
* platform/win/fast/repaint/bugzilla-6278-expected.txt: Removed.
* platform/win/fast/repaint/bugzilla-6388-expected.txt: Removed.
* platform/win/fast/repaint/bugzilla-6473-expected.txt: Removed.
* platform/win/fast/repaint/bugzilla-7235-expected.txt: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189231 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoNodeFilter should be a callback interface
cdumez@apple.com [Tue, 1 Sep 2015 21:49:44 +0000 (21:49 +0000)]
NodeFilter should be a callback interface
https://bugs.webkit.org/show_bug.cgi?id=148415

Reviewed by Geoffrey Garen.

Source/WebCore:

NodeFilter is now a callback interface, instead of a regular interface,
as per the DOM specification:
https://dom.spec.whatwg.org/#interface-nodefilter

One major difference is that TreeWalker.filter / NodeIterator is
supposed to be a Function / Object (passed by JavaScript), but it was a
JSNodeFilter wrapper in WebKit. Also, window.NodeFilter is not supposed
to have a prototype property.

This behavior is consistent with Firefox. However, Chrome still has its
own NodeFilter wrapper.

Tests:
http/tests/w3c/dom/traversal/NodeIterator-expected.html (rebaselined)
http/tests/w3c/dom/traversal/TreeWalker.html (rebaselined)

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
Add / Remove files to the project files.

* dom/NodeFilterCondition.cpp:
(WebCore::NodeFilterCondition::acceptNode):
* dom/NodeFilterCondition.h:
* bindings/gobject/GObjectNodeFilterCondition.cpp:
(WebCore::GObjectNodeFilterCondition::acceptNode):
* bindings/gobject/GObjectNodeFilterCondition.h:
* bindings/objc/ObjCNodeFilterCondition.h:
* bindings/objc/ObjCNodeFilterCondition.mm:
(WebCore::ObjCNodeFilterCondition::acceptNode):
Drop ExecState parameter as it is not used.

* bindings/gobject/WebKitDOMNodeFilter.cpp:
(WebKit::core):
Use NativeNodeFilter type instead of NodeFilter. NodeFilter is now
a pure interface with 2 subclasses: NativeNodeFilter for the native
bindings and JSNodeFilter for the JS bindings.

* bindings/js/JSBindingsAllInOne.cpp:
Drop JSNodeFilterCondition.cpp as it was removed.

* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
Throw a TypeError if the callback object being invoked is not callable
and does not have a callable property with the expected name. There
are several layout tests covering this (including w3c ones). Previously,
NodeFilter was not using the generic JSCallbackData and the exception
throwing was in JSNodeFilterCondition::acceptNode() instead.

* bindings/js/JSNodeFilterCondition.cpp: Removed.
* bindings/js/JSNodeFilterCondition.h: Removed.
Drop this class. JSNodeFilter / JSNodeFilterCustom now basically take
care of all this.

* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::acceptNode):
Complete rewrite. This file is now only used to provide a custom
implementation for JSNodeFilter::acceptNode(). The code is similar to
what was previously done in JSNodeFilterCondition::acceptNode().
There are several reasons we need custom bindings here:
- The bindings generator does not handle yet callback functions
  returning anything else than a boolean.
- The specification clearly states that we need to rethrow exceptions
  thrown by the callback function. However, the default behavior of
  our bindings is to simply report the exception.

* bindings/scripts/CodeGeneratorGObject.pm:
Only skip functions that have parameters that are callback *functions*,
not callback *interfaces*. Callback interfaces are very similar to
interfaces and the generator is able to handle them. This change was
needed for the GTK bindings generator would no longer generate bindings
for Document.createNodeIterator() / Document.createTreeWalker(), now
that NodeFilter is a callback interface instead of a regular interface.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
Generate a toJS() function for callback interfaces as well. Previously,
we would only generate those for regular interfaces. This is needed
because NodeFilter is now a callback interface and it is exposed to
JS via NodeIterator.filter / TreeWalker.filter. The implementation
merely returns the callback object / function inside the JSCalbackData
so the JS gets back the object / function it passed in.

* bindings/scripts/CodeGeneratorObjC.pm:
Tweak the ObjC bindings generator to use NativeNodeFilter class instead
of NodeFilter as NodeFilter is now a pure interfaces. Native bindings
are now expected to use the NativeNodeFilter subclass instead.

* bindings/scripts/test/JS/JSTestCallback.cpp:
* bindings/scripts/test/JS/JSTestCallback.h:
* bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
* bindings/scripts/test/JS/JSTestCallbackFunction.h:
Rebaseline bindings tests now that we generate toJS() functions for
callback functions / interfaces.

* dom/DOMAllInOne.cpp:
Drop NodeFilter.cpp as it was removed.

* dom/NativeNodeFilter.cpp: Added.
* dom/NativeNodeFilter.h: Added.
Introduce new NativeNodeFilter class which subclasses the NodeFilter
interface and is used by native bindings. Its accept() implementation
uses NodeFilterCondition object internally to filter the nodes instead
of a JS callback.

* dom/NodeFilter.cpp: Removed.
* dom/NodeFilter.h:
Make NodeFilter a pure interface. Its previous code is now either in
NativeNodeFilter of JSNodeFilter.

* dom/NodeFilter.idl:
Make NodeFilter a callback interface instead of a regular interface,
as per the DOM specification. Also have its accept() operation return
an unsigned short instead of a short to match the specification.
The ObjC version still returns a short though for backward
compatibility.

* dom/NodeFilterCondition.cpp:
(WebCore::NodeFilterCondition::acceptNode):
* dom/NodeFilterCondition.h:

* dom/NodeIterator.cpp:
* dom/NodeIterator.h:
* dom/NodeIterator.idl:
* dom/Traversal.cpp:
* dom/Traversal.h:
* dom/TreeWalker.cpp:
* dom/TreeWalker.h:
* dom/TreeWalker.idl:
Stop passing ExecState to TreeWalker / NodeIterator functions. It no
longer seems to be needed as we now use the JSCallbackData abstraction
for invoking JS.

LayoutTests:

* fast/dom/TreeWalker/acceptNode-filter-expected.txt:
Rebaseline, the new exception message is different but the exception
type is the same.

* fast/dom/constants-expected.txt:
* fast/dom/constants.html:
Stop checking for constants on NodeFilter instances as those are now
Functions (implemented by the JavaScript). Those constants are on
window.NodeFilter still. I verified that this is consistant with
Firefox.

* fast/dom/global-constructors.html:
Update the check to verify that the prototype of a NodeFilter instance
is the Function prototype, not the NodeFilter prototype. NodeFilter
should not have a prototype as it is a callback interface.

* fast/dom/node-filter-gc.html:
Pass null for the filter argument instead of 0. The functions expect
a nullable NodeFilter object. Passing 0 here throws.

* fast/dom/node-filter-interface-expected.txt:
Rebaseline. window.NodeFilter no longer has a prototype. This is because
callback interfaces are not supposed to have a prototype property, as
per the Web IDL specification:
https://heycam.github.io/webidl/#interface-prototype-object

I also verified that this is consistent with Firefox.

* http/tests/w3c/dom/interfaces-expected.txt:
* http/tests/w3c/dom/nodes/Document-createTreeWalker-expected.txt:
* http/tests/w3c/dom/traversal/NodeIterator-expected.txt:
* http/tests/w3c/dom/traversal/TreeWalker-expected.txt:
Rebaseline W3C tests. We are now passing a lot of checks because they
check that TreeWalker.filter / NodeIterator.filter is a Function.

* traversal/size-zero-run.html:
Fix the test to pass a null node filter instead of NodeFilter.FILTER_ACCEPT.
The call was not valid and now correctly throws. The JS is supposed to pass
in a nullable NodeFilter, not a constant. I think the code meant to say
"function() { return NodeFilter.FILTER_ACCEPT; }", however, I used null as
it is shorter and equivalent.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189230 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd tests for computed method declarations with side effects
rniwa@webkit.org [Tue, 1 Sep 2015 21:31:09 +0000 (21:31 +0000)]
Add tests for computed method declarations with side effects
https://bugs.webkit.org/show_bug.cgi?id=148057

Reviewed by Darin Adler.

Added test cases for computed method names with side effects.

* js/class-syntax-method-names-expected.txt:
* js/script-tests/class-syntax-method-names.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189229 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: opt the Inspector process out of page visibility-based process suppres...
bburg@apple.com [Tue, 1 Sep 2015 21:29:06 +0000 (21:29 +0000)]
Web Inspector: opt the Inspector process out of page visibility-based process suppression when running tests
https://bugs.webkit.org/show_bug.cgi?id=148686

Reviewed by Timothy Hatcher.

This may be the cause of debug test timeouts and high execution time variance
that have been plaguing the bots. Process suppression shouldn't happen for
inspector process during tests anyway, so it shouldn't hurt to flip this.

* UIProcess/API/C/WKPreferencesRefPrivate.h:

    The stated default here is incorrect, the default value is true.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _pageVisibilityBasedProcessSuppressionEnabled]): Added.
(-[WKPreferences _setPageVisibilityBasedProcessSuppressionEnabled:]): Added.
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189228 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, the previous commit had incorrect expectations.
bburg@apple.com [Tue, 1 Sep 2015 21:05:23 +0000 (21:05 +0000)]
Unreviewed, the previous commit had incorrect expectations.

* inspector/console/command-line-api-expected.txt: Really update it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189227 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: rewrite inspector/console/command-line-api.html to use AsyncTestSuite
bburg@apple.com [Tue, 1 Sep 2015 21:00:19 +0000 (21:00 +0000)]
Web Inspector: rewrite inspector/console/command-line-api.html to use AsyncTestSuite
https://bugs.webkit.org/show_bug.cgi?id=148637

Reviewed by Darin Adler.

Source/WebInspectorUI:

* UserInterface/Base/Object.js:
(WebInspector.Object.singleFireEventListener):
(WebInspector.Object.singleFireEventListener.let.wrappedCallback): Arrow.

LayoutTests:

* inspector/console/command-line-api-expected.txt:
* inspector/console/command-line-api.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRange.insersectsNode(node) is supposed to return true if node.parent is null
cdumez@apple.com [Tue, 1 Sep 2015 20:46:33 +0000 (20:46 +0000)]
Range.insersectsNode(node) is supposed to return true if node.parent is null
https://bugs.webkit.org/show_bug.cgi?id=148687

Reviewed by Ryosuke Niwa.

Source/WebCore:

Range.insersectsNode(node) is supposed to return true if node.parent is
null:
https://dom.spec.whatwg.org/#dom-range-intersectsnode (step 3)

Previously, WebKit would throw a NotFoundError, apparently to match
Firefox's behavior. However, these days, Firefox complies with the
specification and returns true here.

No new tests, already covered by:
http/tests/w3c/dom/ranges/Range-intersectsNode.html (rebaselined)

* dom/Range.cpp:
(WebCore::Range::intersectsNode):

LayoutTests:

Rebaseline / update existing tests.

* fast/dom/Range/range-intersectsNode-expected.txt:
* fast/dom/Range/resources/intersectsNode.js:
* http/tests/w3c/dom/nodes/Element-matches-expected.txt:
* http/tests/w3c/dom/ranges/Range-intersectsNode-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189225 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRepaint cleanup:
zalan@apple.com [Tue, 1 Sep 2015 19:01:31 +0000 (19:01 +0000)]
Repaint cleanup:
block-selection-gap-in-composited-layer.html -> reftest
body-background-image.html -> reftest
border-fit-lines.html -> reftest
border-radius-repaint.html -> reftest
border-repaint-glitch.html -> reftest

Unreviewed.

* fast/repaint/block-selection-gap-in-composited-layer-expected.html: Added.
* fast/repaint/block-selection-gap-in-composited-layer.html:
* fast/repaint/body-background-image-expected.html: Copied from LayoutTests/fast/repaint/body-background-image.html.
* fast/repaint/body-background-image.html:
* fast/repaint/border-fit-lines-expected.html: Added.
* fast/repaint/border-fit-lines.html:
* fast/repaint/border-radius-repaint-expected.html: Copied from LayoutTests/fast/repaint/border-radius-repaint.html.
* fast/repaint/border-radius-repaint.html:
* fast/repaint/border-repaint-glitch-expected.html: Copied from LayoutTests/fast/repaint/border-repaint-glitch.html.
* fast/repaint/border-repaint-glitch.html:
* platform/efl/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Removed.
* platform/efl/fast/repaint/block-selection-gap-in-composited-layer-expected.txt: Removed.
* platform/efl/fast/repaint/body-background-image-expected.png: Removed.
* platform/efl/fast/repaint/body-background-image-expected.txt: Removed.
* platform/efl/fast/repaint/border-fit-lines-expected.png: Removed.
* platform/efl/fast/repaint/border-fit-lines-expected.txt: Removed.
* platform/efl/fast/repaint/border-radius-repaint-expected.png: Removed.
* platform/efl/fast/repaint/border-radius-repaint-expected.txt: Removed.
* platform/efl/fast/repaint/border-repaint-glitch-expected.png: Removed.
* platform/efl/fast/repaint/border-repaint-glitch-expected.txt: Removed.
* platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Removed.
* platform/gtk/fast/repaint/block-selection-gap-in-composited-layer-expected.txt: Removed.
* platform/gtk/fast/repaint/body-background-image-expected.png: Removed.
* platform/gtk/fast/repaint/body-background-image-expected.txt: Removed.
* platform/gtk/fast/repaint/border-fit-lines-expected.png: Removed.
* platform/gtk/fast/repaint/border-fit-lines-expected.txt: Removed.
* platform/gtk/fast/repaint/border-radius-repaint-expected.png: Removed.
* platform/gtk/fast/repaint/border-radius-repaint-expected.txt: Removed.
* platform/gtk/fast/repaint/border-repaint-glitch-expected.png: Removed.
* platform/gtk/fast/repaint/border-repaint-glitch-expected.txt: Removed.
* platform/ios-simulator/fast/repaint/body-background-image-expected.txt: Removed.
* platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Removed.
* platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.txt: Removed.
* platform/mac/fast/repaint/body-background-image-expected.png: Removed.
* platform/mac/fast/repaint/body-background-image-expected.txt: Removed.
* platform/mac/fast/repaint/border-fit-lines-expected.png: Removed.
* platform/mac/fast/repaint/border-fit-lines-expected.txt: Removed.
* platform/mac/fast/repaint/border-radius-repaint-expected.png: Removed.
* platform/mac/fast/repaint/border-radius-repaint-expected.txt: Removed.
* platform/mac/fast/repaint/border-repaint-glitch-expected.png: Removed.
* platform/mac/fast/repaint/border-repaint-glitch-expected.txt: Removed.
* platform/win/fast/repaint/block-selection-gap-in-composited-layer-expected.txt: Removed.
* platform/win/fast/repaint/body-background-image-expected.txt: Removed.
* platform/win/fast/repaint/border-radius-repaint-expected.txt: Removed.
* platform/win/fast/repaint/border-repaint-glitch-expected.txt: Removed.
* platform/wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189224 268f45cc-cd09-0410-ab3c-d52691b4dbfc