Timeline



Sep 3, 2015:

11:58 PM Changeset in webkit [189341] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

[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.
9:54 PM Changeset in webkit [189340] by Chris Dumez
  • 47 edits
    3 deletes in trunk

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

9:29 PM Changeset in webkit [189339] by Yusuke Suzuki
  • 37 edits
    1 copy
    1 add in trunk/Source/JavaScriptCore

[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.

  1. 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.

  1. 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

(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:
8:58 PM Changeset in webkit [189338] by BJ Burg
  • 47 edits
    3 adds in trunk

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):

8:43 PM Changeset in webkit [189337] by timothy@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

8:05 PM Changeset in webkit [189336] by basile_clement@apple.com
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

[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:
7:43 PM Changeset in webkit [189335] by basile_clement@apple.com
  • 1 edit
    7 adds in trunk/Source/JavaScriptCore

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.
7:41 PM Changeset in webkit [189334] by timothy@apple.com
  • 2 edits in trunk/Tools

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:
7:39 PM Changeset in webkit [189333] by ggaren@apple.com
  • 4 edits
    592 adds in trunk

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.

7:21 PM Changeset in webkit [189332] by Chris Dumez
  • 2 edits in trunk/LayoutTests

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:
7:08 PM Changeset in webkit [189331] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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:
6:39 PM Changeset in webkit [189330] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.2.3

New tag.

6:34 PM Changeset in webkit [189329] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.22

New tag.

6:20 PM Changeset in webkit [189328] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

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):

5:48 PM Changeset in webkit [189327] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

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:
5:44 PM Changeset in webkit [189326] by Matt Baker
  • 4 edits
    1 add in trunk/Websites/webkit.org

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:
5:25 PM Changeset in webkit [189325] by basile_clement@apple.com
  • 9 edits
    1 add in trunk/Source/JavaScriptCore

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):

5:09 PM Changeset in webkit [189324] by Matt Baker
  • 1 edit
    13 adds in trunk/Websites/webkit.org

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.
5:02 PM Changeset in webkit [189323] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

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.

4:53 PM Changeset in webkit [189322] by jer.noble@apple.com
  • 6 edits in trunk/Source/WebCore

[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.

4:49 PM Changeset in webkit [189321] by timothy_horton@apple.com
  • 8 edits
    2 adds in trunk

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.

4:44 PM Changeset in webkit [189320] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch

Merged r189167. rdar://problem/22541321

4:43 PM Changeset in webkit [189319] by bshafiei@apple.com
  • 3 edits in branches/safari-601-branch/Source/WebCore

Merged r189101. rdar://problem/22483710

4:42 PM Changeset in webkit [189318] by bshafiei@apple.com
  • 3 edits
    3 copies in branches/safari-601-branch

Merged r189046. rdar://problem/22542832

4:41 PM Changeset in webkit [189317] by bshafiei@apple.com
  • 4 edits in branches/safari-601-branch/Source/WebCore

Merged r188659. rdar://problem/22411804

4:39 PM Changeset in webkit [189316] by bshafiei@apple.com
  • 4 edits in branches/safari-601-branch/Source/WebCore

Merged r188370. rdar://problem/22423150

4:38 PM Changeset in webkit [189315] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-601-branch

Merged r188340. rdar://problem/22423150

4:35 PM Changeset in webkit [189314] by bshafiei@apple.com
  • 9 edits
    1 delete in branches/safari-601-branch

Merged r188311. rdar://problem/22430509

4:34 PM Changeset in webkit [189313] by beidson@apple.com
  • 49 edits
    2 moves in trunk/Source

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:
4:33 PM Changeset in webkit [189312] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-601-branch

Merged r188271. rdar://problem/22425817

4:30 PM Changeset in webkit [189311] by andersca@apple.com
  • 3 edits in trunk/Tools

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.

4:23 PM Changeset in webkit [189310] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

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.

4:08 PM Changeset in webkit [189309] by bshafiei@apple.com
  • 4 edits in branches/safari-601-branch/Source/JavaScriptCore

Merged r188067. rdar://problem/22423285

4:06 PM Changeset in webkit [189308] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-601-branch

Merged r188014. rdar://problem/22316553

4:05 PM Changeset in webkit [189307] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-601-branch

Merged r187564. rdar://problem/22316564

4:03 PM Changeset in webkit [189306] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-601-branch

Merged r186984. rdar://problem/22316497

3:53 PM Changeset in webkit [189305] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Un-skip swipe tests on Mavericks

  • platform/mac-mavericks/TestExpectations:

This skip didn't work anyway because the fallback order is insane.

3:52 PM Changeset in webkit [189304] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Swipe tests fail on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=148752

Reviewed by Beth Dakin.

  • WebKitTestRunner/mac/EventSenderProxy.mm:
3:45 PM Changeset in webkit [189303] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk/Source/JavaScriptCore

Implement some arithmetic instructions in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148737

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> 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):

3:39 PM Changeset in webkit [189302] by Chris Dumez
  • 2 edits
    618 adds in trunk/LayoutTests

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.

New test suite.

3:39 PM Changeset in webkit [189301] by bshafiei@apple.com
  • 3 edits
    3 copies in branches/safari-601.1.46-branch

Merged r189046. rdar://problem/22542812

3:37 PM Changeset in webkit [189300] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch

Merged r189167. rdar://problem/22501578

3:33 PM Changeset in webkit [189299] by bshafiei@apple.com
  • 1 edit
    2 copies in branches/safari-601.1.46-branch/LayoutTests

Merged r189022. rdar://problem/22462872

3:32 PM Changeset in webkit [189298] by bshafiei@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebKit2

Merged r188991. rdar://problem/22462872

3:30 PM Changeset in webkit [189297] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Fix the 32-bit build

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::setNavigationGesturesEnabled):

3:29 PM Changeset in webkit [189296] by bshafiei@apple.com
  • 2 edits
    1 copy in branches/safari-601.1.46-branch/Source/JavaScriptCore

Merged r189012. rdar://problem/22462794

3:28 PM Changeset in webkit [189295] by BJ Burg
  • 2 edits in trunk/Source/JavaScriptCore

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):

3:26 PM Changeset in webkit [189294] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Remove some logging that wasn't meant to be in the tree

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::swipeGestureWithWheelAndMomentumPhases):

3:16 PM Changeset in webkit [189293] by msaboff@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

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:
2:55 PM Changeset in webkit [189292] by ap@apple.com
  • 1 edit
    1 delete in trunk/LayoutTests

Remove empty LayoutTests/platform/ios-sim-deprecated

  • platform/ios-sim-deprecated: Removed.
2:52 PM Changeset in webkit [189291] by ap@apple.com
  • 4 edits in trunk/LayoutTests

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:
2:51 PM Changeset in webkit [189290] by timothy_horton@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

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.
2:48 PM Changeset in webkit [189289] by aestes@apple.com
  • 3 edits in trunk/LayoutTests

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:
2:11 PM Changeset in webkit [189288] by fpizlo@apple.com
  • 39 edits
    1 delete in trunk/Source/JavaScriptCore

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.

(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:
2:11 PM Changeset in webkit [189287] by timothy_horton@apple.com
  • 31 edits
    5 adds in trunk

[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.

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).

2:03 PM Changeset in webkit [189286] by cavalcantii@gmail.com
  • 2 edits in trunk/Source/WebCore

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):

1:54 PM Changeset in webkit [189285] by ap@apple.com
  • 10 edits
    4 adds in trunk

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:
1:32 PM Changeset in webkit [189284] by commit-queue@webkit.org
  • 9 edits
    1 add in trunk/Source/JavaScriptCore

Initial implementation of WebAssembly function compiler
https://bugs.webkit.org/show_bug.cgi?id=148734

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> 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.

(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):

1:15 PM Changeset in webkit [189283] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

[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):

1:12 PM Changeset in webkit [189282] by Chris Dumez
  • 4 edits in trunk

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:
1:03 PM Changeset in webkit [189281] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.1

New tag.

12:56 PM Changeset in webkit [189280] by msaboff@apple.com
  • 15 edits in branches/jsc-tailcall/Source/JavaScriptCore

jsc-tailcall: Need to handle all architected callee saves for ARM64
https://bugs.webkit.org/show_bug.cgi?id=148652

Reviewed by Basile Clement.

Enumerate and handle all 10 ARM64 general purpose and 8 floating point callee save registers.
Moved the callee saved registers used by LLInt to be the last three callee saves.
Eliminated GPRInfo::numberOfLLIntBaselineCalleeSaveRegisters and use the number of registers
defined in RegisterSet::llintCalleeSaveRegisters() instead.
Eliminated GPRInfo::nonArgGPR1 for all architectures except ARM as it was a callee save for
other architectures.
Found and fixed an issue where we trash callee save 0 (csr0) in the nativeCallTrampoline() macro.

  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:

(JSC::CodeBlock::numberOfLLIntBaselineCalleeSaveRegisters):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):

  • jit/AssemblyHelpers.h:
  • jit/FPRInfo.h:
  • jit/GPRInfo.h:
  • jit/RegisterAtOffsetList.cpp:

(JSC::RegisterAtOffsetList::RegisterAtOffsetList):

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::llintCalleeSaveRegisters):
(JSC::RegisterSet::baselineCalleeSaveRegisters):
(JSC::RegisterSet::dfgCalleeSaveRegisters):
(JSC::RegisterSet::ftlCalleeSaveRegisters):

  • jit/TempRegisterSet.h:

(JSC::TempRegisterSet::getFPRByIndex):
(JSC::TempRegisterSet::getFreeFPR):
(JSC::TempRegisterSet::setByIndex):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/arm64.rb:
  • offlineasm/registers.rb:
12:45 PM Changeset in webkit [189279] by saambarati1@gmail.com
  • 62 edits
    27 adds in trunk

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.

(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:
12:41 PM Changeset in webkit [189278] by fpizlo@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

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:
12:39 PM Changeset in webkit [189277] by Lucas Forschler
  • 1 edit in trunk/Tools/ChangeLog

Test commit.

Sep 2, 2015:

10:56 PM Changeset in webkit [189276] by bshafiei@apple.com
  • 3 edits in tags/Safari-601.1.56.1/Source/WebCore

Merged r189101. rdar://problem/22483799

10:54 PM Changeset in webkit [189275] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.56.1/Source

Versioning.

10:51 PM Changeset in webkit [189274] by timothy_horton@apple.com
  • 18 edits in trunk

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):

8:19 PM Changeset in webkit [189273] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.56.1

New tag.

8:16 PM Changeset in webkit [189272] by fpizlo@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

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):

8:08 PM Changeset in webkit [189271] by rniwa@webkit.org
  • 7 edits in trunk

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:
7:58 PM Changeset in webkit [189270] by akling@apple.com
  • 32 edits in trunk/Source

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):

7:51 PM Changeset in webkit [189269] by rniwa@webkit.org
  • 4 edits in trunk

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:
7:39 PM Changeset in webkit [189268] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/contentfiltering/block-after-redirect.html as flaky for
https://bugs.webkit.org/show_bug.cgi?id=148684

  • platform/mac-wk2/TestExpectations:
7:34 PM Changeset in webkit [189267] by commit-queue@webkit.org
  • 5 edits in trunk

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.

2:05 PM Changeset in webkit [189266] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

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:
1:40 PM Changeset in webkit [189265] by Alan Bujtas
  • 11 edits
    10 adds
    39 deletes in trunk/LayoutTests

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.
1:38 PM Changeset in webkit [189264] by beidson@apple.com
  • 7 edits
    493 adds in trunk

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:
1:33 PM Changeset in webkit [189263] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Separate WebGL 1 and WebGL 2 in the features file.

Unreviewed.

  • features.json:
1:25 PM Changeset in webkit [189262] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

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.

1:23 PM Changeset in webkit [189261] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

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.

1:10 PM Changeset in webkit [189260] by Alan Bujtas
  • 1 edit
    16 adds in trunk/LayoutTests

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.
1:08 PM Changeset in webkit [189259] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

2015-09-02 Geoffrey Garen <ggaren@apple.com>

Fix the no JIT build.

Unreviewed.

  • heap/Heap.cpp: (JSC::Heap::markRoots):
1:03 PM Changeset in webkit [189258] by Chris Fleizach
  • 3 edits
    2 adds in trunk

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.
12:52 PM Changeset in webkit [189257] by ggaren@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

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):

10:42 AM Changeset in webkit [189256] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

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):

10:38 AM Changeset in webkit [189255] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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):

10:33 AM Changeset in webkit [189254] by dino@apple.com
  • 10 edits in trunk/LayoutTests

[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:
10:09 AM Changeset in webkit [189253] by Chris Dumez
  • 14 edits in trunk

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:
10:07 AM Changeset in webkit [189252] by Chris Dumez
  • 6 edits in trunk

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:
10:07 AM Changeset in webkit [189251] by dbates@webkit.org
  • 3 edits in trunk/LayoutTests

Update iOS TestExpectations files

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
10:06 AM Changeset in webkit [189250] by Chris Dumez
  • 2 edits in trunk/LayoutTests

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:
9:56 AM Changeset in webkit [189249] by commit-queue@webkit.org
  • 4 edits
    76 copies
    3 adds
    1 delete in trunk

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

9:49 AM Changeset in webkit [189248] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

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.

5:50 AM Changeset in webkit [189247] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

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):

5:12 AM Changeset in webkit [189246] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

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):

5:00 AM Changeset in webkit [189245] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

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.

4:58 AM Changeset in webkit [189244] by Csaba Osztrogonác
  • 9 edits in trunk/Source/WebKit2

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> 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.

Sep 1, 2015:

7:31 PM Changeset in webkit [189243] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

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:
6:56 PM Changeset in webkit [189242] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

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:
6:55 PM Changeset in webkit [189241] by commit-queue@webkit.org
  • 4 edits
    76 copies
    13 adds
    3 deletes in trunk

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

Patch by Joseph Pecoraro <Joseph Pecoraro> 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.

6:37 PM Changeset in webkit [189240] by Chris Dumez
  • 10 edits in trunk

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:
5:54 PM Changeset in webkit [189239] by rniwa@webkit.org
  • 18 edits in trunk/Source/WebCore

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):

5:29 PM Changeset in webkit [189238] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

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").

5:28 PM Changeset in webkit [189237] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

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:
5:25 PM Changeset in webkit [189236] by Matt Baker
  • 4 edits in trunk/Source/WebInspectorUI

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.

5:14 PM WebInspectorTests edited by Joseph Pecoraro
Fix whitespace typo (diff)
5:08 PM Changeset in webkit [189235] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark http/tests/w3c/dom/nodes/ParentNode-querySelector-All.html as flaky.

This is tracked by Bug 148615.

5:00 PM Changeset in webkit [189234] by jeremyj-wk@apple.com
  • 4 edits in trunk/LayoutTests

Update iOS TestExpectations files.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
4:35 PM Changeset in webkit [189233] by Alan Bujtas
  • 13 edits
    10 copies
    2 adds
    86 deletes in trunk/LayoutTests

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.
4:09 PM Changeset in webkit [189232] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

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.

2:58 PM Changeset in webkit [189231] by Alan Bujtas
  • 9 edits
    7 copies
    1 add
    53 deletes in trunk/LayoutTests

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.
2:49 PM Changeset in webkit [189230] by Chris Dumez
  • 47 edits
    2 adds
    3 deletes in trunk

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.

2:31 PM Changeset in webkit [189229] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

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:
2:29 PM Changeset in webkit [189228] by BJ Burg
  • 5 edits in trunk/Source/WebKit2

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):

2:05 PM Changeset in webkit [189227] by BJ Burg
  • 2 edits in trunk/LayoutTests

Unreviewed, the previous commit had incorrect expectations.

  • inspector/console/command-line-api-expected.txt: Really update it.
2:00 PM Changeset in webkit [189226] by BJ Burg
  • 5 edits in trunk

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:
1:46 PM Changeset in webkit [189225] by Chris Dumez
  • 7 edits in trunk

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:
12:01 PM Changeset in webkit [189224] by Alan Bujtas
  • 7 edits
    3 copies
    2 adds
    35 deletes in trunk/LayoutTests

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:
11:48 AM Changeset in webkit [189223] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Update sandbox after r179367
https://bugs.webkit.org/show_bug.cgi?id=148683
rdar://problem/21767401

Reviewed by Darin Adler.

  • Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
11:44 AM Changeset in webkit [189222] by BJ Burg
  • 2 edits
    4 adds in trunk/Source/JavaScriptCore

Web Inspector: protocol generator should not allow non-boolean values for "optional" key
https://bugs.webkit.org/show_bug.cgi?id=148679

Reviewed by Joseph Pecoraro.

In Python, the 'bool' type inherits from 'int'. In the runtime, True and False are
just numbers to Python. So, the existing check for boolean literals was not quite right.

  • inspector/scripts/codegen/models.py: Use isinstance instead.

(TypeMember.init):
(Parameter.init):

  • inspector/scripts/tests/expected/fail-on-number-typed-optional-parameter-flag.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-number-typed-optional-type-member.json-error: Added.
  • inspector/scripts/tests/fail-on-number-typed-optional-parameter-flag.json: Added.
  • inspector/scripts/tests/fail-on-number-typed-optional-type-member.json: Added.
11:41 AM Changeset in webkit [189221] by ap@apple.com
  • 9 edits in trunk/LayoutTests

Clean up asynchronous behavior in some accessibility tests
https://bugs.webkit.org/show_bug.cgi?id=148682

Reviewed by Darin Adler.

  • accessibility/mac/removing-textarea-after-edit-crash-expected.txt:
  • accessibility/mac/removing-textarea-after-edit-crash.html:
  • accessibility/mac/select-element-selection-with-optgroups.html:
  • accessibility/mac/selected-rows-table.html:
  • accessibility/mac/selection-notification-focus-change.html:
  • accessibility/mac/selection-sync-expected.txt:
  • accessibility/mac/selection-sync.html:
  • accessibility/mac/setting-attributes-is-asynchronous.html:
11:38 AM Changeset in webkit [189220] by Joseph Pecoraro
  • 11 edits
    2 copies
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: New rule button in the style sidebar is blurry and too dark
https://bugs.webkit.org/show_bug.cgi?id=148108

Patch by Devin Rousso <Devin Rousso> on 2015-09-01
Reviewed by Timothy Hatcher.

Added support for Plus and Minus icons on non-retina screens.
Also removed some CSS rules that no longer apply to anything.

  • UserInterface/Images/Minus.svg:
  • UserInterface/Images/NewTabPlus.svg:
  • UserInterface/Images/Plus.svg: Removed.
  • UserInterface/Images/Plus13.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
  • UserInterface/Images/Plus15.svg: Copied from Source/WebInspectorUI/UserInterface/Images/Plus.svg.
  • UserInterface/Views/CSSStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content + .options-container):
(.sidebar > .panel.details.css-style > .content + .options-container > .new-rule):

  • UserInterface/Views/ProbeDetailsSidebarPanel.css:

(.details-section.probe-set .options > .probe-add):

  • UserInterface/Views/RulesStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style .rules .new-rule): Deleted.
(.sidebar > .panel.details.css-style .rules > *:first-child:matches(.new-rule)): Deleted.
(.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule): Deleted.
(.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section): Deleted.
(.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label): Deleted.
(.sidebar > .panel.details.css-style .rules .new-rule img): Deleted.
(.sidebar > .panel.details.css-style .rules .new-rule:hover): Deleted.
(.sidebar > .panel.details.css-style .rules .new-rule:active): Deleted.
(@media (-webkit-min-device-pixel-ratio: 2)): Deleted.
Removed CSS rules that no longer apply. The new rule button was moved to the Styles sidebar.

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.css:

(.details-section.watch-expressions .options > .watch-expression-add):

  • UserInterface/Views/TabBar.css:

(.tab-bar > .item.new-tab-button > .icon):

  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:

(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):

  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:

(WebInspector.VisualStyleCommaSeparatedKeywordEditor):

  • UserInterface/Views/VisualStyleSelectorSection.js:

(WebInspector.VisualStyleSelectorSection):

11:27 AM Changeset in webkit [189219] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG AI assertions about not having to do type checks at the point of a Known use kind are unsound
https://bugs.webkit.org/show_bug.cgi?id=148649

Reviewed by Saam Barati.

We often generate IR like:

Check(Int32:@x)
...
Foo(KnownInt32:@x)

It would be valid for any optimization that somehow proves the type of @x to remove the
Check node entirely. But then, AI might fail on an assertion at Foo() because of the
KnownInt32 use kind, if AI isn't smart enough to construct the same proof that the former
optimization used for removing the Check.

The correct solution is to remove the compile-time assertions about Known use kinds
having already been checked.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::verifyEdge):

10:52 AM Changeset in webkit [189218] by BJ Burg
  • 71 edits in trunk/Source

Web Inspector: tighten up lifetimes for InspectorController-owned objects; add brace initializers to agents
https://bugs.webkit.org/show_bug.cgi?id=148612

Reviewed by Joseph Pecoraro.

Both InjectedScriptManager and AgentRegistry (thus all agents) are
Source/JavaScriptCore:

owned by JSGlobalObjectInspectorController. So, use references.

Add brace initalizers for scalar and pointer members in agent classes.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):
(Inspector::ConsoleMessage::updateRepeatCountInConsole):
(Inspector::ConsoleMessage::ConsoleMessage):

  • inspector/ConsoleMessage.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):

  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::InspectorAgent):

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::InspectorConsoleAgent):
(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::clearMessages):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::addConsoleMessage):

  • inspector/agents/InspectorConsoleAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::InspectorDebuggerAgent):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):
(Inspector::InspectorDebuggerAgent::getFunctionDetails):
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):
(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::didContinue):
(Inspector::InspectorDebuggerAgent::clearExceptionValue):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::InspectorRuntimeAgent):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::getDisplayableProperties):
(Inspector::InspectorRuntimeAgent::getCollectionEntries):
(Inspector::InspectorRuntimeAgent::saveResult):
(Inspector::InspectorRuntimeAgent::releaseObject):
(Inspector::InspectorRuntimeAgent::releaseObjectGroup):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/agents/JSGlobalObjectConsoleAgent.cpp:

(Inspector::JSGlobalObjectConsoleAgent::JSGlobalObjectConsoleAgent):

  • inspector/agents/JSGlobalObjectConsoleAgent.h:
  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::JSGlobalObjectDebuggerAgent):
(Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval):

  • inspector/agents/JSGlobalObjectDebuggerAgent.h:
  • inspector/agents/JSGlobalObjectRuntimeAgent.cpp:

(Inspector::JSGlobalObjectRuntimeAgent::JSGlobalObjectRuntimeAgent):
(Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval):

  • inspector/agents/JSGlobalObjectRuntimeAgent.h:

Source/WebCore:

owned by [Worker]InspectorController. So, use references.

InstrumentingAgents is morally owned by InspectorController as well, but
must be a Ref for now since instrumentation cookies take a strong reference.

Add brace initalizers for scalar and pointer members in agent classes.

No new tests, no behavior change.

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::enable):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::enable):
(WebCore::InspectorCSSAgent::disable):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::startProfiling):
(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::disconnectAllFrontends):

  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMAgent::focusNode):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::nodeForObjectId):
(WebCore::InspectorDOMAgent::resolveNode):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::debuggerWasEnabled):
(WebCore::InspectorDOMDebuggerAgent::disable):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
(WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
(WebCore::InspectorIndexedDBAgent::requestData):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
(WebCore::InspectorInstrumentation::scriptsEnabled):
(WebCore::InspectorInstrumentation::didScroll):
(WebCore::InspectorInstrumentation::markResourceAsCached):
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
(WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::segmentUnloaded):
(WebCore::InspectorInstrumentation::captureStarted):
(WebCore::InspectorInstrumentation::captureStopped):
(WebCore::InspectorInstrumentation::playbackStarted):
(WebCore::InspectorInstrumentation::playbackPaused):
(WebCore::InspectorInstrumentation::playbackFinished):
(WebCore::InspectorInstrumentation::playbackHitPosition):

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::enable):
(WebCore::InspectorLayerTreeAgent::disable):
(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::idForNode):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::timestamp):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::frameStartedLoading):
(WebCore::InspectorPageAgent::snapshotNode):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::InspectorReplayAgent):
(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
(WebCore::InspectorReplayAgent::willDestroyFrontendAndBackend):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::InspectorResourceAgent):
(WebCore::InspectorResourceAgent::~InspectorResourceAgent):
(WebCore::InspectorResourceAgent::timestamp):
(WebCore::InspectorResourceAgent::enable):
(WebCore::InspectorResourceAgent::disable):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::timestamp):
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWebAgentBase.h:

(WebCore::InspectorAgentBase::InspectorAgentBase):

  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):

  • inspector/InspectorWorkerAgent.h:
  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents): Deleted.

  • inspector/InstrumentingAgents.h:

(WebCore::InstrumentingAgents::create):

  • inspector/PageConsoleAgent.cpp:

(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::addInspectedNode):

  • inspector/PageConsoleAgent.h:
  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::PageDebuggerAgent):
(WebCore::PageDebuggerAgent::enable):
(WebCore::PageDebuggerAgent::disable):
(WebCore::PageDebuggerAgent::injectedScriptForEval):

  • inspector/PageDebuggerAgent.h:
  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::PageRuntimeAgent):
(WebCore::PageRuntimeAgent::injectedScriptForEval):
(WebCore::PageRuntimeAgent::notifyContextCreated):

  • inspector/PageRuntimeAgent.h:
  • inspector/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::WebConsoleAgent):
(WebCore::WebConsoleAgent::frameWindowDiscarded):
(WebCore::WebConsoleAgent::didFinishXHRLoading):
(WebCore::WebConsoleAgent::didReceiveResponse):
(WebCore::WebConsoleAgent::didFailLoading):

  • inspector/WebConsoleAgent.h:
  • inspector/WebDebuggerAgent.cpp:

(WebCore::WebDebuggerAgent::WebDebuggerAgent):
(WebCore::WebDebuggerAgent::enable):
(WebCore::WebDebuggerAgent::disable):

  • inspector/WebDebuggerAgent.h:
  • inspector/WorkerConsoleAgent.cpp:

(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):

  • inspector/WorkerConsoleAgent.h:
  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::injectedScriptForEval):

  • inspector/WorkerDebuggerAgent.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/WorkerInspectorController.h:
  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
(WebCore::WorkerRuntimeAgent::injectedScriptForEval):

  • inspector/WorkerRuntimeAgent.h:
10:44 AM Changeset in webkit [189217] by dino@apple.com
  • 4 edits in trunk/LayoutTests

The new media controls tests are OS X only.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
10:40 AM Changeset in webkit [189216] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[Cairo][WebGL] Upload the accelerated canvas as a texture by copying via GPU directly
https://bugs.webkit.org/show_bug.cgi?id=148631

Patch by Jinyoung Hur <hur.ims@navercorp.com> on 2015-09-01
Reviewed by Dean Jackson.

When an accelerated canvas needs to be uploaded as a gl texture, it would be better to copy it to
texture directly via GPU using glCopyTexImage2D.
Note that GPU copy can not always be enabled because, with premultiplyAlpha and flipY unpack option,
it seems hard to be implemented in a way of direct GPU copy.

No new tests because there is no behavior change.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::texImage2D):

  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::copyToPlatformTexture):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::copyToPlatformTexture):

10:39 AM Changeset in webkit [189215] by dino@apple.com
  • 3 edits
    4 adds in trunk

[mediacontrols] Add tests for the status display label
https://bugs.webkit.org/show_bug.cgi?id=148656
<rdar://problem/22509779>

Reviewed by Eric Carlson.

Source/WebCore:

Export the StatusDisplay element and its current content.

Tests: media/controls/statusDisplay.html

media/controls/statusDisplayBad.html

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.getCurrentControlsStatus):

LayoutTests:

Add a test for the normal status of the status display,
and another for the content when we load a bad URL.

  • media/controls/statusDisplay-expected.txt: Added.
  • media/controls/statusDisplay.html: Added.
  • media/controls/statusDisplayBad-expected.txt: Added.
  • media/controls/statusDisplayBad.html: Added.
10:38 AM Changeset in webkit [189214] by dino@apple.com
  • 4 edits
    3 adds in trunk

[mediacontrols] Add a test for the show controls button
https://bugs.webkit.org/show_bug.cgi?id=148655
<rdar://problem/22509688>

Reviewed by Eric Carlson.

Source/WebCore:

We'll add a list of control elements to the status object,
so we can query the state of buttons, etc. Begin with the
Show Controls button (used for accessibility).

There are also some drive-by whitespace changes.

Test: media/controls/showControlsButton.html

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.get idiom): Differentiate between iOS and
OS X. This isn't necessary at the moment, but will come in
handy later.
(Controller.prototype.createControls): Whitespace.
(Controller.prototype.getCurrentControlsStatus): Add the information
on the Show Controls button.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.get idiom):

LayoutTests:

  • media/controls/controls-test-helpers.js: Added. This will

hold any helper functions.
(statusForControlsElement): Return the status object for
a named control.

  • media/controls/showControlsButton-expected.txt: Added.
  • media/controls/showControlsButton.html: Added.
10:37 AM Changeset in webkit [189213] by BJ Burg
  • 7 edits in trunk

Web Inspector: add TestSuite hooks for per-testcase setup and teardown actions
https://bugs.webkit.org/show_bug.cgi?id=148641

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

It should be possible to run setup and teardown actions for each test case.
The use case here is to add listeners, set up testcase-specific state, etc.
To match how test functions work in each suite, the sync and async implementations
take functions with no arguments and(resolve, reject), respectively.

  • UserInterface/Test/TestSuite.js:

(TestSuite.prototype.addTestCase):
(TestSuite.messageFromThrownObject):
(TestSuite):
(AsyncTestSuite.prototype.runTestCases): Stick the extra functions in the chain.
(AsyncTestSuite):
(SyncTestSuite.prototype.runTestCases):
(SyncTestSuite):

LayoutTests:

Extend existing unit tests to also exercise setup and teardown actions.

  • inspector/unit-tests/async-test-suite.html:
  • inspector/unit-tests/async-test-suite-expected.txt:
  • inspector/unit-tests/sync-test-suite.html:
  • inspector/unit-tests/sync-test-suite-expected.txt:
10:21 AM Changeset in webkit [189212] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

9:43 AM Changeset in webkit [189211] by Alan Bujtas
  • 5 edits
    1 copy
    3 adds
    20 deletes in trunk/LayoutTests

Repaint cleanup:
background-generated.html -> reftest
background-misaligned.html -> reftest
backgroundSizeRepaint.html -> reftest
block-no-inflow-children.html -> reftest

Unreviewed.

  • fast/repaint/background-generated-expected.html: Added.
  • fast/repaint/background-generated-expected.txt: Removed.
  • fast/repaint/background-generated.html:
  • fast/repaint/background-misaligned-expected.html: Added.
  • fast/repaint/background-misaligned-expected.txt: Removed.
  • fast/repaint/background-misaligned.html:
  • fast/repaint/backgroundSizeRepaint-expected.html: Copied from LayoutTests/fast/repaint/backgroundSizeRepaint.html.
  • fast/repaint/backgroundSizeRepaint.html:
  • fast/repaint/block-no-inflow-children-expected.html: Added.
  • fast/repaint/block-no-inflow-children.html:
  • platform/efl/fast/repaint/background-misaligned-expected.png: Removed.
  • platform/efl/fast/repaint/backgroundSizeRepaint-expected.png: Removed.
  • platform/efl/fast/repaint/backgroundSizeRepaint-expected.txt: Removed.
  • platform/efl/fast/repaint/block-no-inflow-children-expected.png: Removed.
  • platform/efl/fast/repaint/block-no-inflow-children-expected.txt: Removed.
  • platform/gtk/fast/repaint/background-misaligned-expected.png: Removed.
  • platform/gtk/fast/repaint/backgroundSizeRepaint-expected.png: Removed.
  • platform/gtk/fast/repaint/backgroundSizeRepaint-expected.txt: Removed.
  • platform/gtk/fast/repaint/block-no-inflow-children-expected.png: Removed.
  • platform/gtk/fast/repaint/block-no-inflow-children-expected.txt: Removed.
  • platform/mac/fast/repaint/background-generated-expected.png: Removed.
  • platform/mac/fast/repaint/background-misaligned-expected.png: Removed.
  • platform/mac/fast/repaint/backgroundSizeRepaint-expected.png: Removed.
  • platform/mac/fast/repaint/backgroundSizeRepaint-expected.txt: Removed.
  • platform/mac/fast/repaint/block-no-inflow-children-expected.png: Removed.
  • platform/mac/fast/repaint/block-no-inflow-children-expected.txt: Removed.
  • platform/win/fast/repaint/backgroundSizeRepaint-expected.txt: Removed.
  • platform/win/fast/repaint/block-no-inflow-children-expected.txt: Removed.
9:29 AM Changeset in webkit [189210] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Visual style editor shouldn't allow alpha characters in numeric input fields
https://bugs.webkit.org/show_bug.cgi?id=148580

Reviewed by Brian Burg.

  • UserInterface/Views/VisualStyleNumberInputBox.js:

(WebInspector.VisualStyleNumberInputBox):
Added input element "changed" handler, renamed "keyup" handler to match "keydown" handler.
(WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputChanged):
Validate input in response to changed event.

8:49 AM Changeset in webkit [189209] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Possible CFArray leak in MediaPlayerPrivateAVFoundationCF.cpp
https://bugs.webkit.org/show_bug.cgi?id=148668

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-01
Reviewed by Eric Carlson.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::mimeTypeCache): Deleted.
(WebCore::avfMIMETypes):
Fix the leak in avfMIMETypes. Consolidate on the single implementation.
Note that avfMIMETypes lowercased the inputs and mimeTypeCache did not,
but we now match MediaPlayerPrivateAVFoundationObjC which has one version
that lowercased inputs as well.

(WebCore::MediaPlayerPrivateAVFoundationCF::getSupportedTypes):
(WebCore::MediaPlayerPrivateAVFoundationCF::supportsType):
(WebCore::MediaPlayerPrivateAVFoundationCF::supportsKeySystem):
Convert to th enew verison.

8:04 AM Changeset in webkit [189208] by jfernandez@igalia.com
  • 4 edits
    2 adds in trunk

[CSS Grid Layout] Layout is wrong for flex factor sum between 0 and 1
https://bugs.webkit.org/show_bug.cgi?id=148645

Reviewed by Darin Adler.

Source/WebCore:

This patch ensures that we don't normalize the individual tracks
to fill the space. More precisely, when we sum up the flexes, that
tells us how many "units" of flex need to fit into the free
space. We then figure out what size to assign to the flex unit
based on that, and send that back to the individual items, sizing
them appropriately to their flex value.

This way we get flex fraction values applied correctly so they fill
the available space in the indicated proportion. This approach has
an additional advantage of dealing with division by 0 when reducing
automatically the flex value.

Test: fast/css-grid-layout/flex-factor-sum-less-than-1.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeNormalizedFractionBreadth):

LayoutTests:

Ensure we don't normalize individual tracks to fill the space, so
at least, the sum of flex values must be 1. We also needed to
modify the grid-element-shrink-to-fit to adapt it to the new
behavior of flex fraction units.

  • fast/css-grid-layout/flex-factor-sum-less-than-1-expected.txt: Added.
  • fast/css-grid-layout/flex-factor-sum-less-than-1.html: Added.
  • fast/css-grid-layout/grid-element-shrink-to-fit.html:
6:06 AM Changeset in webkit [189207] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Skip new two tests which aren't supported by EFL port.

  • platform/efl/TestExpectations:
3:37 AM WebKitGTK/SpeedUpBuild edited by clopez@igalia.com
(diff)

Aug 31, 2015:

11:18 PM Changeset in webkit [189206] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Command-Enter for selected JS in Debugger/Sources shouldn't change the focus
https://bugs.webkit.org/show_bug.cgi?id=148613

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleTabContentView.js:

(WebInspector.ConsoleTabContentView.prototype.shown):
Always focus on the console prompt when the console tab get selected.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.shown): Deleted.

10:23 PM Changeset in webkit [189205] by Chris Dumez
  • 7 edits in trunk

Unreviewed, rolling out r189198.
https://bugs.webkit.org/show_bug.cgi?id=148670

"Caused http/tests/navigation/anchor-frames-same-origin.html
to fail on WebKit1" (Requested by cdumez on #webkit).

Reverted changeset:

"http/tests/w3c/dom/nodes/Element-matches.html is flaky"
https://bugs.webkit.org/show_bug.cgi?id=148615
http://trac.webkit.org/changeset/189198

Patch by Commit Queue <commit-queue@webkit.org> on 2015-08-31

10:08 PM Changeset in webkit [189204] by ap@apple.com
  • 9 edits
    5 deletes in trunk/LayoutTests

Remove shadow DOM tests
https://bugs.webkit.org/show_bug.cgi?id=148669

Reviewed by Tim Horton.

  • accessibility/corresponding-control-deleted-crash.html: Removed.
  • editing/shadow: Removed.
  • editing/text-iterator/basic-iteration-shadowdom.html: Removed.
  • fast/dom/HTMLTemplateElement/cycles-in-shadow.html: Removed.
  • fast/dom/shadow: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
10:00 PM Changeset in webkit [189203] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unused #define
https://bugs.webkit.org/show_bug.cgi?id=148667

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-31
Reviewed by Benjamin Poulain.

  • platform/network/cf/ResourceResponseCFNet.cpp:
7:25 PM Changeset in webkit [189202] by Chris Dumez
  • 38 edits
    6 deletes in trunk

Range API is throwing wrong exception type
https://bugs.webkit.org/show_bug.cgi?id=148648

Reviewed by Ryosuke Niwa.

Source/WebCore:

The RangeException type does not exist in the latest DOM specification.
Instead, the Range API is throwing regular DOMExceptions [1]:
https://dom.spec.whatwg.org/#range

The error codes also differ. RangeException.INVALID_NODE_TYPE_ERR (2)
is replaced with DOMException.INVALID_NODE_TYPE_ERR (24).
RangeException.BAD_BOUNDARYPOINTS_ERR (1) is replaced by
DOMException.INVALID_STATE_ERR (11), as per:
https://dom.spec.whatwg.org/#dom-range-surroundcontents (step 1).

This patch aligns WebKit's behavior with the specification and with
other browsers (tested Firefox and Chrome).

[1] https://heycam.github.io/webidl/#dfn-DOMException

No new tests, covered by existing tests (rebaselined):
http/tests/w3c/dom/ranges/Range-comparePoint.html
http/tests/w3c/dom/ranges/Range-isPointInRange.html
http/tests/w3c/dom/ranges/Range-selectNode.html
http/tests/w3c/dom/ranges/Range-set.html
http/tests/w3c/dom/ranges/Range-surroundContents.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSExceptionBase.cpp:

(WebCore::toExceptionBase): Deleted.

  • dom/DOMAllInOne.cpp:
  • dom/DOMExceptions.in:
  • dom/Range.cpp:

(WebCore::Range::insertNode):
(WebCore::Range::checkNodeWOffset):
(WebCore::Range::checkNodeBA):
(WebCore::Range::selectNode):
(WebCore::Range::selectNodeContents):
(WebCore::Range::surroundContents):

  • dom/RangeException.cpp: Removed.
  • dom/RangeException.h: Removed.
  • dom/RangeException.idl: Removed.

Source/WebKit/win:

  • Interfaces/DOMWindow.idl:

Drop outdated comment.

LayoutTests:

Update / rebaseline tests. A lot of w3c tests progressed after this
change. However, some of our pre-existing layout tests were relying
on RangeException.

  • fast/dom/DOMException/RangeException-expected.txt: Removed.
  • fast/dom/DOMException/RangeException.html: Removed.
  • fast/dom/DOMException/resources/RangeException.js: Removed.
  • fast/dom/Range/range-compareNode.html:
  • fast/dom/Range/range-exceptions-expected.txt:
  • fast/dom/Range/range-intersectsNode-expected.txt:
  • fast/dom/Range/script-tests/range-exceptions.js:
  • fast/dom/Window/get-set-properties-expected.txt:
  • fast/dom/Window/get-set-properties.html:
  • fast/dom/Window/resources/window-properties.js:
  • http/tests/w3c/dom/ranges/Range-comparePoint-expected.txt:
  • http/tests/w3c/dom/ranges/Range-isPointInRange-expected.txt:
  • http/tests/w3c/dom/ranges/Range-selectNode-expected.txt:
  • http/tests/w3c/dom/ranges/Range-set-expected.txt:
  • http/tests/w3c/dom/ranges/Range-surroundContents-expected.txt:
  • platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
7:05 PM Changeset in webkit [189201] by Yusuke Suzuki
  • 41 edits in trunk/Source

[ES6] Introduce ModuleProgramExecutable families and compile Module code to bytecode
https://bugs.webkit.org/show_bug.cgi?id=148581

Reviewed by Saam Barati.

Source/JavaScriptCore:

This patch introduces ModuleProgramExecutable, that is new executable type for the ES6 modules.
And related code block types, UninkedModuleProgramCodeBlock and ModuleProgramCodeBlock are also
introduced. BytecodeGenerator now recognizes these types and emits the bytecode and constructs
the symbol table for the module environment. While this patch introduces the bytecode generation
for the ES6 modules, the module environment instantiation initialization and imported binding
resolution are not included in this patch. They will be implemented in the subsequent patch.

The interesting part is the symbol table construction for the module environment.
Since the module code will be only executed once, the module environment need not to be allocated
and instantiated inside the module code; In the case of the function code, the function code need
to allocate the environment inside the prologue of it because the function code can be executed
more than once and the function environments are different in each time of the executions.
The module environment will be instantiated outside the module code before executing the module code.
This is required because we need to link the module environments to import the bindings before
executing the any module code in the dependency graph. And this is because the function inside the
module may be executed before the module top-level body is executed. (See the code comment for more
detailed situations)

The module environment will hold the top-most heap allocated variables in the module code.
This has the following benefits.
1) This enables JSC to perform the usual LocalClosureVar operations onto it.
2) It also makes the exported lexical variables just the heap allocated lexical variables.
3) Make it possible to initialize the heap allocated function declarations before executing the module

code. It is required under the circular dependency (see the code comment for more details).

To do so, the module environment will be constructed with the symbol table that is generated by the
bytecode generator. And the symbol table is held by the unlinked code block. That means, once the module
environment is instantiated, we cannot clear the unlinked code block before executing the module since
the layout of the instantiated module environment is coupled with the unlinked code block. This is OK
because the module code can be cleared once we executed the module code. If we failed to execute the
module (some errors occur), we can throw away the both, the module environment and the unlinked code block.

The unlinked module program code block holds the symbol table, but it does not hold the module environment.
So the unlinked module program code block can be cached. While unlinked code block can be cached, the linked
code block cannot be cached because it is already linked to the specific set of the module environment to
resolve the imported bindings.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::inferredName):
(JSC::ModuleProgramCodeBlock::replacement):
(JSC::ProgramCodeBlock::capabilityLevelInternal):
(JSC::ModuleProgramCodeBlock::capabilityLevelInternal):

  • bytecode/CodeBlock.h:

(JSC::ModuleProgramCodeBlock::ModuleProgramCodeBlock):
(JSC::EvalCodeBlock::EvalCodeBlock):
(JSC::FunctionCodeBlock::FunctionCodeBlock):

  • bytecode/CodeType.cpp:

(WTF::printInternal):

  • bytecode/CodeType.h:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedModuleProgramCodeBlock::visitChildren):
(JSC::UnlinkedModuleProgramCodeBlock::destroy):
(JSC::UnlinkedCodeBlock::visitChildren): Deleted.

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::finishCreation): Deleted.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::instantiateLexicalVariables):
(JSC::BytecodeGenerator::emitPrefillStackTDZVariables):
(JSC::BytecodeGenerator::pushLexicalScopeInternal):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::emitProgramNodeBytecode):
(JSC::ProgramNode::emitBytecode):
(JSC::ModuleProgramNode::emitBytecode):
(JSC::ImportDeclarationNode::emitBytecode):
(JSC::ExportAllDeclarationNode::emitBytecode):
(JSC::ExportDefaultDeclarationNode::emitBytecode):
(JSC::ExportLocalDeclarationNode::emitBytecode):
(JSC::ExportNamedDeclarationNode::emitBytecode):

  • interpreter/Interpreter.cpp:

(JSC::StackFrame::friendlySourceURL):
(JSC::StackFrame::friendlyFunctionName):
(JSC::getStackFrameCodeType):

  • interpreter/Interpreter.h:
  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::codeType):
(JSC::StackVisitor::Frame::functionName):
(JSC::StackVisitor::Frame::sourceURL):

  • interpreter/StackVisitor.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LLIntEntrypoint.cpp:

(JSC::LLInt::setModuleProgramEntrypoint):
(JSC::LLInt::setEntrypoint):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LLIntThunks.cpp:

(JSC::LLInt::moduleProgramEntryThunkGenerator):

  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.asm:
  • parser/ModuleAnalyzer.cpp:

(JSC::ModuleAnalyzer::exportVariable):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseImportClauseItem):
(JSC::Parser<LexerType>::parseExportDeclaration):

  • parser/Parser.h:

(JSC::Scope::declareLexicalVariable):

  • parser/VariableEnvironment.h:

(JSC::VariableEnvironmentEntry::isImportedNamespace):
(JSC::VariableEnvironmentEntry::setIsImportedNamespace):
(JSC::VariableEnvironment::find):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):

  • runtime/CodeCache.h:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::installCode):
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::newReplacementCodeBlockFor):
(JSC::ModuleProgramExecutable::ModuleProgramExecutable):
(JSC::ModuleProgramExecutable::create):
(JSC::ModuleProgramExecutable::destroy):
(JSC::ModuleProgramExecutable::visitChildren):
(JSC::ModuleProgramExecutable::clearCode):
(JSC::ExecutableBase::dump):

  • runtime/Executable.h:

(JSC::ExecutableBase::isModuleProgramExecutable):
(JSC::ExecutableBase::clearCodeVirtual):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createModuleProgramCodeBlock):

  • runtime/JSGlobalObject.h:
  • runtime/JSModuleRecord.cpp:

(JSC::JSModuleRecord::visitChildren):
(JSC::JSModuleRecord::link):

  • runtime/JSModuleRecord.h:

(JSC::JSModuleRecord::moduleProgramExecutable):

  • runtime/JSType.h:
  • runtime/ModuleLoaderObject.cpp:

(JSC::moduleLoaderObjectModuleDeclarationInstantiation):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

Add the ModuleProgramExecutable case.

  • testing/Internals.cpp:

(WebCore::Internals::parserMetaData):

5:29 PM Changeset in webkit [189200] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] WebKit cannot load pages based on "file://" URLs
https://bugs.webkit.org/show_bug.cgi?id=148596
<rdar://problem/22432585>

Reviewed by Dean Jackson.

  • platform/URL.cpp:

(WebCore::URL::URL): Work around bug that causes this assertion to fire on
the Apple Windows build.

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::adjustMIMETypeIfNecessary): Added. If the URL is for a local file,
determine the MIME type based on extension. Otherwise use the default MIME type.
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse): If
the CFURLResponse has no MIME type, call 'adjustMIMETypeIfNecessary'.

5:24 PM Changeset in webkit [189199] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update Windows expectation for fast/events/wheelevent-basic.html after r188793.

  • platform/win/TestExpectations: This test used to fail, and now that it is

asynchronous, it times out.

5:22 PM Changeset in webkit [189198] by Chris Dumez
  • 7 edits in trunk

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:
5:05 PM Changeset in webkit [189197] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Skip Web Inspector debugger tests more thoroughly.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
5:04 PM Changeset in webkit [189196] by Yusuke Suzuki
  • 3 edits in trunk/Source/WebCore

The error handler of ReadableJSStream should own stream object
https://bugs.webkit.org/show_bug.cgi?id=148653

Reviewed by Sam Weinig.

ReadableJSStream's m_errorFunction does not own the readable stream.
So when this error callback is executed asynchronously through Promises,
the stream could be already destroyed.
The fulfill callback which is jointly configured with this error callback
owns the stream. However, when the promise is rejected, the following things
occur.

  1. Promise clears the fulfill handlers immediately.
  2. queue the reject handlers to the microtask queue.
  3. When draining the microtasks, the rejected handler will be executed.

At the time of 2 or 3, the references to the fulfill handlers are already discarded.
So when GC occurs at the time of 2 or 3, it will collect the fulfill handlers and the
stream object owned by the fulfill handlers even if the error callback will touch the
stream object later.

Before r189124, this fault does not occur. This is because the std::function in the
fulfill handler is not destroyed before that patch. Since the std::function owns the
stream object, the std::function and the stream object were leaked and never destroyed.
After that patch, the std::function in the fulfill handler becomes destroyed. And it
makes this fault happen.

In this patch, we separate the error callback from the stream object. Previously, the
error callback resides in the stream object as the member. To avoid the cyclic references,
this error callback did not own the stream object. But this causes this fault.
Instead of caching the error callback in the stream object, we always create the error
callback, when it is needed. The created error callback owns the stream object as well as
the fulfill callbacks owns the stream object.

No behavior change.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::createGenericErrorRejectedFunction):
(WebCore::ReadableJSStream::doStart):
(WebCore::ReadableJSStream::doPull):
(WebCore::ReadableJSStream::ReadableJSStream): Deleted.

  • bindings/js/ReadableJSStream.h:
4:44 PM Changeset in webkit [189195] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Modify prepare-Changelog to be aware of files that are marked as tests as well as files
that are marked as requiring corresponding tests.
https://bugs.webkit.org/show_bug.cgi?id=148498
<rdar://problem/21555314>

Patch by Jason Marcell <jmarcell@apple.com> on 2015-08-31
Reviewed by Dan Bernstein and David Kilzer.

  • Scripts/prepare-ChangeLog: Added "attributeCache" to cache Subversion properties in order to

simulate Git's attribute behevaior.
(main): Added "requiresTests" array to contain files that require tests.
(generateNewChangeLogs): Checks "requiresTests" array to determine whether to inject "tests"
section in ChangeLog.
(attributeCommand): Queries a given file for a given Git attribute value. If using Subversion,
however, we check if the file or any containing folder has the given property set to "1" and
return 1 if so; return 0 otherwise.
(generateFileList): Adds files to "requiresTests" array if Git attribute is set to "1". Also
adds files to "addedRegressionTests" array if "test" attribute is set to "1".

4:30 PM Changeset in webkit [189194] by basile_clement@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix after r189292

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::jsValueRegs): Deleted.

4:27 PM Changeset in webkit [189193] by aestes@apple.com
  • 34 edits
    4 adds in trunk

[Content Filtering] Determine navigation and content policy before continuing to filter a load
https://bugs.webkit.org/show_bug.cgi?id=148506

Reviewed by Brady Eidson.

Source/WebCore:

Prior to this change, ContentFilter would hide from DocumentLoader all CachedRawResourceClient callbacks until
a decision was made, then replay the missed callbacks. This approach interacted poorly with some features of
the loader, notably appcache and downloads. In the case of appcache, DocumentLoader might not have a chance to
check for substitute data until the original load has finished, wasting bandwidth, and might receive duplicate
or out-of-order callbacks. In the case of downloads, it would often be too late to convert the existing
connection to a download, leading to restarted downloads or outright failures.

Bandaids were put in place for these issues in r188150, r188486, and r188851 to fix crashes or serious
regressions in behavior, but these weren't complete fixes. They did not solve any of the duplicate data loading
problems, and they did not make downloads work reliably in all cases.

This patch rolls out the bandaids (but keeps their tests) and replaces them with a more robust fix. Instead of
hiding callbacks from DocumentLoader, ContentFilter now delivers willSendRequest(), redirectReceived(), and
responseReceived() to DocumentLoader immediately, and cancels filtering if DocumentLoader decides to ignore the
load, download it, or load substitute data. ContentFilter continues to buffer incoming data to prevent partial
rendering of blocked content.

The existing tests for r188150 and r188851 were kept, the test for r188486 was rewritten to be specific to
content filtering, and new tests were added to cover the case where ContentFilter is still undecided after a
load finishes.

Tests: contentfiltering/allow-never.html

contentfiltering/block-never.html
ContentFiltering.AllowDownloadAfterAddData
ContentFiltering.AllowDownloadAfterFinishedAddingData
ContentFiltering.AllowDownloadAfterRedirect
ContentFiltering.AllowDownloadAfterResponse
ContentFiltering.AllowDownloadAfterWillSendRequest
ContentFiltering.AllowDownloadNever
ContentFiltering.BlockDownloadAfterAddData
ContentFiltering.BlockDownloadAfterFinishedAddingData
ContentFiltering.BlockDownloadAfterRedirect
ContentFiltering.BlockDownloadAfterResponse
ContentFiltering.BlockDownloadAfterWillSendRequest
ContentFiltering.BlockDownloadNever

  • bindings/js/JSMockContentFilterSettingsCustom.cpp:

(WebCore::JSMockContentFilterSettings::decisionPoint): Taught to handle DecisionPoint::Never, and rewrote to
not need a set of const uint8_ts that mirror the DecisionPoint enum.
(WebCore::JSMockContentFilterSettings::setDecisionPoint): Ditto.
(WebCore::toJSValue): Rewrote to not need a set of const uint8_ts that mirror the Decision enum.
(WebCore::toDecision): Ditto.

  • loader/ContentFilter.cpp:

(WebCore::ContentFilter::createIfEnabled): Renamed from createIfNeeded, and changed to take a DocumentLoader&
instead of a DecisionFunction.
(WebCore::ContentFilter::ContentFilter):
(WebCore::ContentFilter::responseReceived): If m_state != Blocked after filtering, call DocumentLoader::responseReceived().
(WebCore::ContentFilter::dataReceived): If m_state == Allowed after filtering, deliver buffered data to DocumentLoader.
If no filtering was necessary, call DocumentLoader::dataReceived() directly.
(WebCore::ContentFilter::redirectReceived): If m_state != Blocked after filtering, call DocumentLoader::redirectReceived().
(WebCore::ContentFilter::notifyFinished): If an error occured, call DocumentLoader::notifyFinished() immediately and return.
If m_state != Blocked after filtering, deliver buffered data to DocumentLoader and call DocumentLoader::notifyFinished().
If no filtering was necessary and m_state != Blocked, call DocumentLoader::notifyFinished() directly.
(WebCore::ContentFilter::didDecide): Called DocumentLoader::contentFilterDidDecide() instead of m_decisionFunction().
(WebCore::ContentFilter::deliverResourceData): Added a helper function to deliver buffered data to DocumentLoader.
(WebCore::ContentFilter::createIfNeeded): Renamed to createIfEnabled().

  • loader/ContentFilter.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::willSendRequest): Stopped asserting that redirectResponse is null and made it part of
the if condition instead, since willSendRequest() will now be called on redirects when there is an active ContentFilter.
(WebCore::DocumentLoader::startLoadingMainResource): Called becomeMainResourceClient() instead of becomeMainResourceClientIfFilterAllows().
(WebCore::DocumentLoader::becomeMainResourceClient): Renamed from becomeMainResourceClientIfFilterAllows().
Only called ContentFilter::startFilteringMainResource() if the filter state is Initialized, since ContentFilter
might have already made a decision in willSendRequest().
(WebCore::DocumentLoader::contentFilterDidDecide): Stopped deleting m_contentFilter, since it will continue to deliver callbacks
even after making a decision. Fixed a bug where we were creating two copies of ContentFilter's replacement data.
(WebCore::DocumentLoader::syntheticRedirectReceived): Deleted.
(WebCore::DocumentLoader::becomeMainResourceClientIfFilterAllows): Renamed to becomeMainResourceClient().

  • loader/DocumentLoader.h:
  • loader/EmptyClients.h:
  • loader/FrameLoaderClient.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestInternal): Removed part of r188851.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Removed part of r188486.

  • loader/SubresourceLoader.h:
  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::didAddClient): Removed part of r188150.

  • loader/cache/CachedRawResourceClient.h:

(WebCore::CachedRawResourceClient::syntheticRedirectReceived): Removed part of r188150.

  • testing/MockContentFilterSettings.h: Defined DecisionPoint::Never.
  • testing/MockContentFilterSettings.idl: Defined DECISION_POINT_NEVER.

Source/WebKit/mac:

Deleted parts of r188486 and r188851.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::convertMainResourceLoadToDownload):
(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):

Source/WebKit/win:

Deleted part of r188851.

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):

  • WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

Deleted parts of r188486 and r188851.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::convertMainResourceLoadToDownload):

Tools:

Added download API tests covering every decision and decision point.
Removed _WKDownload.AsynchronousDownloadPolicy in favor of these new tests.

  • TestWebKitAPI/Configurations/Base.xcconfig: Added $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport to the header search path.
  • TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Removed it from here.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm:

(-[BundleParametersPlugIn observeValueForKeyPath:ofObject:change:context:]): Called -valueForKeyPath:, which
returns an id, instead of -valueForKey:, which always returns an NSString even if the object is of another type.

  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm: Added a class that can send a MockContentFilter

decision and decision point as a bundle parameter.
(+[MockContentFilterEnabler supportsSecureCoding]):
(-[MockContentFilterEnabler copyWithZone:]):
(-[MockContentFilterEnabler initWithCoder:]):
(-[MockContentFilterEnabler initWithDecision:decisionPoint:]):
(-[MockContentFilterEnabler encodeWithCoder:]):
(configurationWithContentFilterSettings): Added a helper function to create a WKWebViewConfiguration with MockConentFilter settings.
(TEST): Renamed ContentFiltering.ServerRedirect to ContentFiltering.URLAfterServerRedirect.
(-[BecomeDownloadDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): Decided _WKNavigationResponsePolicyBecomeDownload.
(-[BecomeDownloadDelegate webView:didFailProvisionalNavigation:withError:]): Set isDone to true.
(-[BecomeDownloadDelegate webView:didFinishNavigation:]): Ditto.
(-[ContentFilteringDownloadDelegate _downloadDidStart:]): Set downloadDidStart to true.
(downloadTest): Added a helper function to test downloads with a given decision and decision point.

  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm: Added a corresponding bundle class that decodes

the MockContentFilter decision and decision point, and sets these values in the MockContentFilterSettings
singleton. This class is duplicated in the bundle to prevent TestWebKitAPI from having to link to WebCoreTestSupport.
(+[MockContentFilterEnabler supportsSecureCoding]):
(-[MockContentFilterEnabler copyWithZone:]):
(-[MockContentFilterEnabler initWithCoder:]):
(-[MockContentFilterEnabler dealloc]):
(-[MockContentFilterEnabler encodeWithCoder:]):
(-[ContentFilteringPlugIn webProcessPlugIn:initializeWithObject:]): Start observing changes to the MockContentFilterEnabler key path.
(-[ContentFilteringPlugIn dealloc]): Stop observing.
(-[ContentFilteringPlugIn observeValueForKeyPath:ofObject:change:context:]): Store a MockContentFilterEnabler in _contentFilterEnabler.
(+[ServerRedirectPlugIn initialize]): Deleted.

  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:

(-[AsynchronousDownloadNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): Deleted.
(-[AsynchronousDownloadDelegate _downloadDidStart:]): Deleted.
(TEST): Deleted.

LayoutTests:

Added tests for what happens if the content filter does not make a decision when the load finishes.

  • contentfiltering/allow-never-expected.html: Added.
  • contentfiltering/allow-never.html: Added.
  • contentfiltering/block-never-expected.html: Added.
  • contentfiltering/block-never.html: Added.
  • contentfiltering/resources/contentfiltering.js:
4:13 PM Changeset in webkit [189192] by basile_clement@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

ValueRecovery should distinguish between doubles in an FPR and JSValues in an FPR
https://bugs.webkit.org/show_bug.cgi?id=148336

Reviewed by Michael Saboff.

Currently, ValueRecovery::InFPR means "this is a *double* value in an
FPR". Let's change the semantics to be "this is a *JSValue* in an FPR"
(to match ValueRecovery::InGPR), and introduce
ValueRecovery::UnboxedDoubleInFPR to mean "this is a double value in an
FPR".

  • bytecode/ValueRecovery.cpp:

(JSC::ValueRecovery::dumpInContext):

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::operator bool):
(JSC::ValueRecovery::inFPR):
(JSC::ValueRecovery::isInGPR):
(JSC::ValueRecovery::isInFPR):
(JSC::ValueRecovery::isInRegisters):
(JSC::ValueRecovery::isInJSStack):
(JSC::ValueRecovery::dataFormat):
(JSC::ValueRecovery::gpr):
(JSC::ValueRecovery::isInJSValueRegs):
(JSC::ValueRecovery::jsValueRegs):
(JSC::ValueRecovery::fpr):
(JSC::ValueRecovery::virtualRegister):
(JSC::ValueRecovery::constant):

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStream::reconstruct):

3:53 PM Changeset in webkit [189191] by Alan Bujtas
  • 5 edits
    1 add
    4 deletes in trunk/LayoutTests

Repaint cleanup:
add-table-overpaint.html -> repaint rect tracking + [ Pass Failure] for now.
absolute-position-moved.html -> reftest.

Unreviewed.

  • TestExpectations:
  • fast/repaint/absolute-position-moved-expected.html: Added.
  • fast/repaint/absolute-position-moved-expected.png: Removed.
  • fast/repaint/absolute-position-moved-expected.txt: Removed.
  • fast/repaint/absolute-position-moved.html:
  • fast/repaint/add-table-overpaint-expected.png: Removed.
  • fast/repaint/add-table-overpaint-expected.txt:
  • fast/repaint/add-table-overpaint.html:
  • platform/gtk/fast/repaint/add-table-overpaint-expected.png: Removed.
3:49 PM Changeset in webkit [189190] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Debugger Popovers should work for object literal shorthand variables
https://bugs.webkit.org/show_bug.cgi?id=148603

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-08-31
Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
Allow debugger popovers for object property shorthands, because they
are actually variables that have values. Previously we ignored property
name literals, because they were just property names until ES6.

  • UserInterface/Views/CodeMirrorAdditions.js:

Add a helper for walking through token types from a start position. It may be useful elsewhere.

3:39 PM Changeset in webkit [189189] by Matt Baker
  • 4 edits
    1 move
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Move the Popover code out of the Breakpoint model object
https://bugs.webkit.org/show_bug.cgi?id=127328

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/BreakpointPopoverController.js: Added.

(WebInspector.BreakpointPopoverController):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.removeBreakpoint):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleBreakpoint):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.toggleAutoContinue):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems):
(WebInspector.BreakpointPopoverController.prototype.showEditBreakpointPopover):
(WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
(WebInspector.BreakpointPopoverController.prototype._popoverToggleEnabledCheckboxChanged):
(WebInspector.BreakpointPopoverController.prototype._popoverConditionInputChanged):
(WebInspector.BreakpointPopoverController.prototype._popoverToggleAutoContinueCheckboxChanged):
(WebInspector.BreakpointPopoverController.prototype._popoverConditionInputKeyDown):
(WebInspector.BreakpointPopoverController.prototype._popoverActionsCreateAddActionButton):
(WebInspector.BreakpointPopoverController.prototype._popoverActionsAddActionButtonClicked):
(WebInspector.BreakpointPopoverController.prototype._popoverActionsInsertBreakpointActionView):
(WebInspector.BreakpointPopoverController.prototype.breakpointActionViewAppendActionView):
(WebInspector.BreakpointPopoverController.prototype.breakpointActionViewRemoveActionView):
(WebInspector.BreakpointPopoverController.prototype.breakpointActionViewResized):
(WebInspector.BreakpointPopoverController.prototype.willDismissPopover):
(WebInspector.BreakpointPopoverController.prototype.didDismissPopover):
Added controller class to encapsulate view logic previously located in WebInspector.Breakpoint.

  • UserInterface/Main.html:

Added and updated file paths.

  • UserInterface/Models/Breakpoint.js:

(WebInspector.Breakpoint.prototype.appendContextMenuItems.editBreakpoint): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems.removeBreakpoint): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleBreakpoint): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems.toggleAutoContinue): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation): Deleted.
(WebInspector.Breakpoint.prototype.appendContextMenuItems): Deleted.
(WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged): Deleted.
(WebInspector.Breakpoint.prototype._popoverConditionInputChanged): Deleted.
(WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged): Deleted.
(WebInspector.Breakpoint.prototype._popoverConditionInputKeyDown): Deleted.
(WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement): Deleted.
(WebInspector.Breakpoint.prototype._popoverActionsCreateAddActionButton): Deleted.
(WebInspector.Breakpoint.prototype._popoverActionsAddActionButtonClicked): Deleted.
(WebInspector.Breakpoint.prototype._popoverActionsInsertBreakpointActionView): Deleted.
(WebInspector.Breakpoint.prototype.breakpointActionViewAppendActionView): Deleted.
(WebInspector.Breakpoint.prototype.breakpointActionViewRemoveActionView): Deleted.
(WebInspector.Breakpoint.prototype.breakpointActionViewResized): Deleted.
(WebInspector.Breakpoint.prototype.willDismissPopover): Deleted.
(WebInspector.Breakpoint.prototype.didDismissPopover): Deleted.
(WebInspector.Breakpoint.prototype._showEditBreakpointPopover): Deleted.
Removed view logic.

  • UserInterface/Views/BreakpointPopoverController.css: Renamed from Source/WebInspectorUI/UserInterface/Views/Breakpoint.css.

(.popover .edit-breakpoint-popover-content):
(.popover .edit-breakpoint-popover-content.wide):
(.popover .edit-breakpoint-popover-content > label.toggle):
(.popover .edit-breakpoint-popover-content > table):
(.popover .edit-breakpoint-popover-content > table > tr > th):
(.popover .edit-breakpoint-popover-content > table > tr > td):
(#edit-breakpoint-popover-condition):
(#edit-breakpoint-popoover-auto-continue):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
Creates a BreakpointPopoverController instance. The lifetime of the 'Edit Breakpoint' view is internal to the
controller, and can't be initiated outside of a context menu item click.

3:32 PM Changeset in webkit [189188] by Chris Dumez
  • 21 edits in trunk/Source/WebCore

Unreviewed, rebaseline bindings tests after r189184.

3:29 PM Changeset in webkit [189187] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ES6] Arrow function syntax. Add missed tests for invoking the arrow function that created by 'eval' statement.
https://bugs.webkit.org/show_bug.cgi?id=148445

Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-08-31
Reviewed by Yusuke Suzuki.

Added tests, that cover cases, when arrow function is created by 'eval' statement and then invoking it.
This case was missed in previous patches that are related to arrow function, also it is important to
test different cases of ending arrow function in 'eval' and invoking created arrow function because
of reparsing during function invocation.

  • js/arrowfunction-syntax-endings-expected.txt:
  • js/script-tests/arrowfunction-syntax-endings.js:
3:01 PM Changeset in webkit [189186] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Skip slow lock tests on Windows/debug
https://bugs.webkit.org/show_bug.cgi?id=148643

Reviewed by Alexey Proskuryakov.

The lock tests simulate a critical section by doing some floating point math, and then either
make those critical sections very long or invoke them many times. This appears to be
particularly slow on Windows in debug mode, maybe because Visual Studio's debug build makes
that kind of computation slow.

These tests are almost as useful in release as they are in debug, so it's probably better to
just skip the in debug on platforms where this causes timeouts.

  • TestWebKitAPI/Tests/WTF/Lock.cpp:

(TestWebKitAPI::runLockTest):
(TestWebKitAPI::skipSlow):
(TestWebKitAPI::TEST):

2:38 PM Changeset in webkit [189185] by Alan Bujtas
  • 4 edits
    1 add
    5 deletes in trunk/LayoutTests

Repaint cleanup:
absolute-position-change-containing-block.html -> repaint rect tracking.
absolute-position-changed.html -> reftest.

Unreviewed.

  • fast/repaint/absolute-position-change-containing-block-expected.png: Removed.
  • fast/repaint/absolute-position-change-containing-block-expected.txt:
  • fast/repaint/absolute-position-change-containing-block.html:
  • fast/repaint/absolute-position-changed-expected.html: Added.
  • fast/repaint/absolute-position-changed-expected.png: Removed.
  • fast/repaint/absolute-position-changed-expected.txt: Removed.
  • fast/repaint/absolute-position-changed.html:
  • platform/gtk/fast/repaint/absolute-position-change-containing-block-expected.png: Removed.
  • platform/mac/fast/repaint/absolute-position-changed-expected.png: Removed.
2:05 PM Changeset in webkit [189184] by Chris Dumez
  • 8 edits in trunk

NodeFilter.SHOW_ALL has wrong value on 32-bit
https://bugs.webkit.org/show_bug.cgi?id=148602

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

NodeFilter.SHOW_ALL has wrong value on 32-bit. This is because
NodeFilter.SHOW_ALL is an unsigned long whose value is 0xFFFFFFFF but
our bindings code is casting it to an intptr_t type which is not wide
enough on 32-bit.

  • create_hash_table:

Add extra curly brackets to initialize the union.

  • runtime/Lookup.h:

Use a union type to store either a struct containing 2 intptr_t members
(value1 / value2) or a large constant of type unsigned long long. When
storing a constant, we only need one of the values so this allows us to
support larger constants without increasing the actual HashTableValue
size.

Source/WebCore:

NodeFilter.SHOW_ALL has wrong value on 32-bit. This is because
NodeFilter.SHOW_ALL is an unsigned long whose value is 0xFFFFFFFF but
our bindings code is casting it to an intptr_t type which is not wide
enough on 32-bit.

No new tests, already covered by fast/dom/node-filter-interface.html
which is now unskipped on Windows / 32bit.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHashTableValueArray):
Generate extra curly brackets to initialize the new union member.
Also cast to long long the constant instead of intptr_t.

  • dom/NodeFilter.h:

Explicitly mark the enum underlying type to be an unsigned long
to make sure it can hold the value for SHOW_ALL on all platforms.
On Windows, it seems the default underlying type is an int for
e.g.

LayoutTests:

Unskip tests that are now passing on Windows / 32bit.

  • platform/win/TestExpectations:
1:57 PM Changeset in webkit [189183] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Rendering Frame tasks making up < 1% of the selection don't appear in the pie chart
https://bugs.webkit.org/show_bug.cgi?id=148549

Reviewed by Timothy Hatcher.

Small data points can be invisible or difficult to see in the pie chart. This patch introduces
a minimum slice size of 1.5% (determined by visual inspection) for chart items.

Legend items continue to show the original data point values, not the adjusted values used to
draw the chart slices.

  • UserInterface/Views/ChartDetailsSectionRow.js:

(WebInspector.ChartDetailsSectionRow):
(WebInspector.ChartDetailsSectionRow.prototype._updateLayout):
Adjust display values up or down as needed, so no data point is less than the
minimum and all chart slices still total 100%.

1:41 PM Changeset in webkit [189182] by Chris Dumez
  • 70 edits
    4 adds
    2 deletes in trunk

Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
https://bugs.webkit.org/show_bug.cgi?id=148454

Reviewed by Ryosuke Niwa.

Source/WebCore:

Range.detach() / NodeIterator.detach() should be no-ops as per the
latest DOM specification:

These are already no-ops in Firefox:

and Chrome:

Tests: fast/dom/Range/range-detach-noop.html

fast/dom/node-iterator-detach-noop.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::selectText):
(WebCore::AccessibilityObject::stringForVisiblePositionRange):
(WebCore::AccessibilityObject::lengthForVisiblePositionRange):

  • accessibility/atk/WebKitAccessibleUtil.cpp:

(selectionBelongsToObject):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper _convertToNSRange:]):

  • bindings/scripts/CodeGeneratorGObject.pm:

(FunctionUsedToRaiseException):

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addMarker):
(WebCore::DocumentMarkerController::addTextMatchMarker):
(WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
(WebCore::DocumentMarkerController::addDictationResultMarker):
(WebCore::DocumentMarkerController::removeMarkers):
(WebCore::DocumentMarkerController::markersInRange):
(DocumentMarkerController::setMarkersActive):
(DocumentMarkerController::hasMarkers):
(DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):

  • dom/NodeIterator.cpp:

(WebCore::NodeIterator::nextNode):
(WebCore::NodeIterator::previousNode):
(WebCore::NodeIterator::detach):
(WebCore::NodeIterator::NodeIterator): Deleted.
(WebCore::NodeIterator::nodeWillBeRemoved): Deleted.
(WebCore::NodeIterator::updateForNodeRemoval): Deleted.

  • dom/NodeIterator.h:

(WebCore::NodeIterator::nextNode):
(WebCore::NodeIterator::previousNode):

  • dom/NodeIterator.idl:
  • dom/Range.cpp:

(WebCore::Range::commonAncestorContainer):
(WebCore::Range::setStart):
(WebCore::Range::setEnd):
(WebCore::Range::collapse):
(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):
(WebCore::Range::compareNode):
(WebCore::Range::compareBoundaryPoints):
(WebCore::Range::boundaryPointsValid):
(WebCore::Range::deleteContents):
(WebCore::Range::processContents):
(WebCore::Range::processContentsBetweenOffsets):
(WebCore::Range::processAncestorsAndTheirSiblings):
(WebCore::Range::extractContents):
(WebCore::Range::cloneContents):
(WebCore::Range::insertNode):
(WebCore::Range::toString):
(WebCore::Range::text):
(WebCore::Range::createContextualFragment):
(WebCore::Range::detach):
(WebCore::Range::cloneRange):
(WebCore::Range::surroundContents):
(WebCore::Range::checkDeleteExtract):
(WebCore::Range::containedByReadOnly):
(WebCore::Range::firstNode):
(WebCore::Range::shadowRoot):
(WebCore::Range::pastLastNode):
(WebCore::Range::absoluteTextRects):
(WebCore::Range::absoluteTextQuads):
(WebCore::Range::collectSelectionRects):
(WebCore::Range::formatForDebugger):
(WebCore::Range::contains):
(WebCore::rangesOverlap):
(WebCore::Range::getBorderAndTextQuads):
(WebCore::Range::boundingRectInternal):
(showTree):
(WebCore::checkForDifferentRootContainer): Deleted.
(WebCore::lengthOfContentsInNode): Deleted.
(WebCore::Range::processNodes): Deleted.
(WebCore::Range::checkNodeWOffset): Deleted.
(WebCore::Range::checkNodeBA): Deleted.
(WebCore::Range::setStartAfter): Deleted.
(WebCore::Range::setEndBefore): Deleted.
(WebCore::Range::setEndAfter): Deleted.
(WebCore::Range::selectNode): Deleted.
(WebCore::intervalsSufficientlyOverlap): Deleted.
(WebCore::coalesceSelectionRects): Deleted.
(WebCore::areRangesEqual): Deleted.
(WebCore::boundaryTextNodesSplit): Deleted.
(WebCore::Range::textNodeSplit): Deleted.
(WebCore::Range::expand): Deleted.

  • dom/Range.h:

(WebCore::Range::startContainer):
(WebCore::Range::endContainer):
(WebCore::Range::collapsed):
(WebCore::Range::commonAncestorContainer):

  • dom/Range.idl:
  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::applyAlternativeTextToRange):
(WebCore::AlternativeTextController::handleAlternativeTextUIResult):
(WebCore::AlternativeTextController::markReversed):
(WebCore::AlternativeTextController::markCorrection):
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
(WebCore::AlternativeTextController::applyDictationAlternative):

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::styleAtSelectionStart):

  • editing/Editor.cpp:

(WebCore::Editor::canDeleteRange):
(WebCore::Editor::shouldDeleteRange):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::markMisspellingsOrBadGrammar):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::correctSpellcheckingPreservingTextCheckingParagraph):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::changeBackToReplacedString):
(WebCore::Editor::firstRectForRange):
(WebCore::Editor::rangeOfString):
(WebCore::Editor::countMatchesForText):
(WebCore::Editor::scanRangeForTelephoneNumbers):
(WebCore::isFrameInRange): Deleted.

  • editing/EditorCommand.cpp:

(WebCore::expandSelectionToGranularity):
(WebCore::unionDOMRanges):

  • editing/FormatBlockCommand.cpp:

(WebCore::FormatBlockCommand::elementForFormatBlockCommand):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelectedRange):
(WebCore::FrameSelection::wordOffsetInRange):
(WebCore::FrameSelection::spaceFollowsWordInRange):
(WebCore::FrameSelection::selectionAtDocumentStart): Deleted.

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendText):

  • editing/SpellChecker.cpp:

(WebCore::SpellCheckRequest::SpellCheckRequest):
(WebCore::SpellChecker::isCheckable):

  • editing/SpellingCorrectionCommand.cpp:

(WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand):

  • editing/TextCheckingHelper.cpp:

(WebCore::expandToParagraphBoundary):
(WebCore::TextCheckingParagraph::offsetTo):
(WebCore::TextCheckingParagraph::offsetAsRange):
(WebCore::TextCheckingHelper::findFirstMisspelling):
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::findFirstGrammarDetail):
(WebCore::TextCheckingHelper::isUngrammatical):
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::node):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::CharacterIterator::range):
(WebCore::characterSubrange):
(WebCore::BackwardsCharacterIterator::range):
(WebCore::TextIterator::rangeFromLocationAndLength):
(WebCore::TextIterator::getLocationAndLengthFromRange):
(WebCore::collapsedToBoundary):
(WebCore::findPlainText):
(WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): Deleted.
(WebCore::BackwardsCharacterIterator::advance): Deleted.
(WebCore::plainText): Deleted.

  • editing/VisibleUnits.cpp:

(WebCore::previousBoundary):

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_processText):
(HTMLConverter::_traverseNode):
(HTMLConverter::_traverseFooterNode):
(HTMLConverterCaches::cacheAncestorsOfStartToBeConverted):
(WebCore::editingAttributedStringFromRange):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::adjustedSelectionRange):

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::renderedText):
(WebCore::StyledMarkupAccumulator::stringValueForRange):
(WebCore::highestAncestorToWrapMarkup):
(WebCore::createMarkupInternal):
(WebCore::createFullMarkup):
(WebCore::urlToMarkup): Deleted.

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::deleteFromDocument):
(WebCore::DOMSelection::containsNode):

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithRange):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::indexCountOfWordPrecedingSelection):
(WebCore::Frame::wordsInCurrentParagraph):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::writeRangeToDataObject):
(WebCore::Pasteboard::writeSelection):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::getRanges):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::absoluteBoundingBoxRectForRange):

Source/WebKit/mac:

Update Range API call sites to reflect changes.

  • WebView/WebImmediateActionController.mm:

(dictionaryPopupInfoForRange):

Source/WebKit/win:

Update Range API call sites to reflect changes.

  • DOMCoreClasses.cpp:

(DOMRange::startContainer):
(DOMRange::endContainer):
(DOMRange::collapsed):
(DOMRange::toString):

  • WebView.cpp:

(WebView::prepareCandidateWindow):
(WebView::onIMERequestCharPosition):
(WebView::firstRectForCharacterRangeForTesting): Deleted.

Source/WebKit2:

Update Range API call sites to reflect changes.

  • WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:

(-[WKDOMRange collapse:]):
(-[WKDOMRange startContainer]):
(-[WKDOMRange startOffset]):
(-[WKDOMRange endContainer]):
(-[WKDOMRange endOffset]):
(-[WKDOMRange isCollapsed]):
(-[WKDOMRange text]): Deleted.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::getImageForFindMatch):
(WebKit::FindController::selectFindMatch):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::targetFrameForEditing):
(WebKit::WebPage::firstRectForCharacterRangeAsync): Deleted.

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::targetFrameForEditing):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::rangeForBlockAtPoint):
(WebKit::containsRange):
(WebKit::unionDOMRanges):
(WebKit::WebPage::contractedRangeFromHandle):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::dictionaryPopupInfoForRange):
(WebKit::WebPage::firstRectForCharacterRange): Deleted.

LayoutTests:

  • fast/dom/Range/bug-19527.html:
  • fast/dom/Range/detach-range-during-deletecontents-expected.txt:
  • fast/dom/Range/range-compareNode-expected.txt:
  • fast/dom/Range/range-compareNode.html:
  • fast/dom/Range/range-comparePoint.html:
  • fast/dom/Range/range-intersectsNode-exception-expected.txt: Removed.
  • fast/dom/Range/range-intersectsNode-exception.html: Removed.
  • fast/dom/Range/range-intersectsNode-expected.txt:
  • fast/dom/Range/range-isPointInRange.html:
  • fast/dom/Range/resources/intersectsNode.js:

Update / rebaseline tests.

  • fast/dom/Range/range-detach-noop-expected.txt: Added.
  • fast/dom/Range/range-detach-noop.html: Added.

New test checking that Range.detach() is a no-op.

  • fast/dom/node-iterator-detach-noop-expected.txt: Added.
  • fast/dom/node-iterator-detach-noop.html: Added.

New test checking that NodeIterator.detach() is a no-op.

1:41 PM Changeset in webkit [189181] by Michael Catanzaro
  • 3 edits in trunk/Source/bmalloc

Implement bmalloc::isASanEnabled for generic Unix
https://bugs.webkit.org/show_bug.cgi?id=148623

Reviewed by Geoffrey Garen.

  • bmalloc/BPlatform.h: Add BOS_UNIX to detect whether the OS is a Unix.
  • bmalloc/Environment.cpp:

(bmalloc::isASanEnabled): Implement a runtime check that should work on any Unix.

1:32 PM Changeset in webkit [189180] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Unify showGlyphsWithAdvances
https://bugs.webkit.org/show_bug.cgi?id=148565

Reviewed by Dean Jackson.

None of the fonts created for WebKit have the renderingMode of
NSFontAntialiasedIntegerAdvancementsRenderingMode and are already printer fonts.

No new tests because there is no behavior change.

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::setCGFontRenderingMode):
(WebCore::FontCascade::drawGlyphs):

1:28 PM Changeset in webkit [189179] by clopez@igalia.com
  • 2 edits in trunk

[CMake] Build with Debug Fission on by default on Debug builds.
https://bugs.webkit.org/show_bug.cgi?id=148639

Reviewed by Martin Robinson.

  • Source/cmake/OptionsCommon.cmake:
11:40 AM Changeset in webkit [189178] by timothy_horton@apple.com
  • 10 edits in trunk/Source

iOS WebKit2 find-in-page doesn't support multi-line results, is often blank
https://bugs.webkit.org/show_bug.cgi?id=148599
<rdar://problem/17914031>

Reviewed by Beth Dakin.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::findString):
(WebKit::FindController::didFindString):

  • WebProcess/WebPage/FindController.h:

Add didFindString() for FindControllerIOS.

  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindIndicatorOverlayClientIOS::drawRect):
(WebKit::FindController::updateFindIndicator):
(WebKit::setCompositionSelectionChangeEnabledInAllFrames):
(WebKit::FindController::willFindString):
(WebKit::FindController::didFindString):
(WebKit::FindController::didFailToFindString):
(WebKit::FindController::didHideFindIndicator):

  • WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h:

(WebKit::FindIndicatorOverlayClientIOS::FindIndicatorOverlayClientIOS):
Adopt TextIndicator and shrink-wrapping.

We'll re-create the indicator if the device/page scale factor change;
this is the only case in which a TextIndicator sticks around when
page scale changes -- we should come up with a better model!

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::getClippedVisibleTextRectangles):
(WebCore::FrameSelection::getTextRectangles):

  • editing/FrameSelection.h:
  • page/TextIndicator.cpp:

(WebCore::initializeIndicator):

  • page/TextIndicator.h:

Make it possible to create a TextIndicator that isn't clipped to the visible rect,
because iOS find-in-page TextIndicators persist while scrolling the page,
and are already constrained to the document rect anyway.

11:31 AM Changeset in webkit [189177] by Antti Koivisto
  • 6 edits
    2 adds in trunk

Network Cache: Stale content after back navigation
https://bugs.webkit.org/show_bug.cgi?id=148634

Reviewed by Chris Dumez.

Source/WebKit2:

It is possible to get an older version of the previous page when navigating back. This can happen
if the main resource load has not completed before navigating away from the page.

Network cache entry is normally updated when the load completes. In case of cancellation we would leave
any existing entry as-is. However we render incrementally and user might have seen some content from
the partial load already. Navigating back to the cached page could show older version of the content.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::abort):

If a network load is canceled by the client after receiving response but before the load has completed
remove any existing cache entry for it.

LayoutTests:

  • http/tests/cache/disk-cache/disk-cache-302-status-code.html:
  • http/tests/cache/disk-cache/disk-cache-cancel-expected.txt: Added.
  • http/tests/cache/disk-cache/disk-cache-cancel.html: Added.
  • http/tests/cache/disk-cache/resources/cache-test.js:

Support delayed responses so we can test canceling the load.
Some minor improvements.

(makeHeaderValue):
(generateTestURL):
(loadResource):
(loadResourcesWithOptions):
(generateTests):

  • http/tests/cache/disk-cache/resources/generate-response.cgi:
11:15 AM Changeset in webkit [189176] by Alan Bujtas
  • 2 edits
    1 add
    7 deletes in trunk/LayoutTests

Repaint cleanup: 4776765.html. Use repaint rect tracking.

Unreviewed.

  • fast/repaint/4776765-expected.txt: Added.
  • fast/repaint/4776765.html:
  • platform/efl/fast/repaint/4776765-expected.png: Removed.
  • platform/efl/fast/repaint/4776765-expected.txt: Removed.
  • platform/gtk/fast/repaint/4776765-expected.png: Removed.
  • platform/gtk/fast/repaint/4776765-expected.txt: Removed.
  • platform/mac/fast/repaint/4776765-expected.png: Removed.
  • platform/mac/fast/repaint/4776765-expected.txt: Removed.
  • platform/win/fast/repaint/4776765-expected.txt: Removed.
11:08 AM Changeset in webkit [189175] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[Win] Unreviewed build fix.

  • win/lib32/WebKitSystemInterface.lib: Update with VS2015 build of this

library to avoid linker errors on build bots.

10:50 AM Changeset in webkit [189174] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark a few tests as failing on Windows.

They will be fixed via Bug 148602.

  • platform/win/TestExpectations:
10:43 AM Changeset in webkit [189173] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark new http/tests/w3c/dom/nodes/ParentNode-querySelector-All-xhtml.xhtml as flaky.

10:04 AM Changeset in webkit [189172] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Watchdog timer callback should release the lock before deref'ing the watchdog.
https://bugs.webkit.org/show_bug.cgi?id=148635

Reviewed by Filip Pizlo.

The deref'ing of the watchdog may free it. The lock may not be available to be unlocked
after the deref.

  • runtime/Watchdog.cpp:

(JSC::Watchdog::Watchdog):

9:53 AM Changeset in webkit [189171] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add test expectations for:

Many Web Inspector tests are flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=148636

  • platform/mac/TestExpectations:
9:37 AM WebKitGTK/2.10.x edited by Michael Catanzaro
Propose r189170, r188973, r189133 (diff)
9:35 AM WebKitGTK/2.8.x edited by Michael Catanzaro
Propose r189170 (significant leak) and clarify request for r189133 (diff)
9:32 AM Changeset in webkit [189170] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

[Freetype] FontCache::strengthOfFirstAlias leaks an FcPattern
https://bugs.webkit.org/show_bug.cgi?id=148624

Reviewed by Martin Robinson.

Using the normal RefPtr constructor causes the FcPattern to be reffed one extra time. Even
though the FcPattern is intentionally leaked to FcFontSetAdd down below, the FcPattern has
its own refcount and now it's screwed up. Just completely stop using RefPtr for these
FcPatterns, since the potential for confusion regarding leakRef combined with Fontconfig
refcounting far outweighs the benefit of using a smart pointer.

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::strengthOfFirstAlias):

9:30 AM Changeset in webkit [189169] by jfernandez@igalia.com
  • 13 edits in trunk

[CSS Grid Layout] auto-margins alignment does not work for heights
https://bugs.webkit.org/show_bug.cgi?id=148071

Reviewed by Sergio Villar Senin.

Source/WebCore:

We still had pending to align grid items horizontally via auto-margins
alignment. We already landed a patch in r188582 to implement the
column-axis alignment and this patch implements the expected behavior in
the row-axis.

This patch also removes the logic in RenderBox, so we reduce grid related
code dependencies in the general layout logic. We can do that because this
patch manages that in the layoutGridItems function by resetting grid item's
margin and logicalTop (if it does not need to perform a layout, which it
would do the job anyway).

No new tests, we just need to adapt some cases of the ones we already have.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange): Deleted.
(WebCore::RenderBox::willBeRemovedFromTree): Deleted.
(WebCore::RenderBox::updateFromStyle): Deleted.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::resetAutoMarginsAndLogicalTopInColumnAxis):
(WebCore::RenderGrid::updateAutoMarginsInRowAxisIfNeeded):
(WebCore::RenderGrid::updateAutoMarginsInColumnAxisIfNeeded):
(WebCore::RenderGrid::hasAutoMarginsInRowAxis): Deleted.

  • rendering/RenderGrid.h:

LayoutTests:

Updated some test cases to adapt them to the new row-axis auto-margin alignment.

  • fast/css-grid-layout/grid-item-auto-margins-alignment-expected.txt:
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr-expected.txt:
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-lr.html:
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl-expected.txt:
  • fast/css-grid-layout/grid-item-auto-margins-alignment-vertical-rl.html:
  • fast/css-grid-layout/grid-item-auto-margins-alignment.html:
  • fast/css-grid-layout/grid-item-auto-margins-and-stretch.html:
9:15 AM Changeset in webkit [189168] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • page/EventHandler.h:

(WebCore::EventHandler::immediateActionStage): Don't export an inline function,
to avoid "weak external symbol" errors.

8:37 AM Changeset in webkit [189167] by enrica@apple.com
  • 5 edits in trunk

Incorrect cursor movement for U+26F9, U+1F3CB with variations.
https://bugs.webkit.org/show_bug.cgi?id=148629
rdar://problem/22492366

Reviewed by Ryosuke Niwa.

Source/WebCore:

Updating text break iterator rules to correctly handle those two emoji with variations.

  • platform/text/TextBreakIterator.cpp:

(WebCore::cursorMovementIterator):

LayoutTests:

The test has been updated to test these two emoji and to
cover the cursor movement as well.

  • editing/deleting/delete-emoji-expected.txt:
  • editing/deleting/delete-emoji.html:
7:53 AM WebInspectorTests edited by BJ Burg
Add more details about testing Web Inspector using modern classes. (diff)
3:54 AM Changeset in webkit [189166] by svillar@igalia.com
  • 6 edits in trunk

[css-grid] Grid containers reporting wrong preferred widths
https://bugs.webkit.org/show_bug.cgi?id=147486

Reviewed by Darin Adler.

Source/WebCore:

RenderGrid used to have its own overwritten version of
computePreferredLogicalWidths() because we didn't have an
implementation of computeIntrinsicLogicalWidths(). That
implementation was not as complete as RenderBlock's because it
was not taking into account min/max-width restrictions.

Provided that computeIntrinsicLogicalWidths() has been there
for some time we can safelly kill our overwrite and use
RenderBlock's version which addresses all the FIXMEs we had in
our code.

  • rendering/RenderGrid.cpp:
  • rendering/RenderGrid.h:

LayoutTests:

Added new test cases to check the preferred widths reported by
grid containers when they are sized under min/max-width
constraints.

  • fast/css-grid-layout/grid-preferred-logical-widths-expected.txt:
  • fast/css-grid-layout/grid-preferred-logical-widths.html:
1:51 AM Changeset in webkit [189165] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Fix the WinCairo build after landing of webkit.org/b/148561.
https://bugs.webkit.org/show_bug.cgi?id=148627

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-08-31
Reviewed by Myles C. Maxfield.

Source/WebCore:

No new tests, no behavior change.

  • platform/graphics/win/ImageCairoWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::paint):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:

Source/WebKit/win:

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::paintContents):

1:33 AM Changeset in webkit [189164] by Antti Koivisto
  • 10 edits in trunk

REGRESSION (r188820): fast/dom/HTMLObjectElement/object-as-frame.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148533

Reviewed by Chris Dumez.

Source/WebCore:

<object> element may cause document load event fire too early. By making data URL
loading faster r188820 made this condition more likely to trigger in this test.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

Post-parsing style recalc may trigger loads for <object> elements. If all other loads have already
completed this may cause load event to fire synchronously from the initial empty document construction.

Fix by preventing load events during subframe initialization. They will be fired if needed by the
subsequent explicit call to FrameLoader::checkCompleted.

LayoutTests:

Unskip.

  • fast/dom/HTMLObjectElement/object-as-frame.html:

Use more logical text in the data url.

  • http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
  • http/tests/loading/basic-credentials-sent-automatically-expected.txt:
  • platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
  • platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt:
  • webarchive/loading/object-expected.txt:

Update test results.

Aug 30, 2015:

11:22 PM Changeset in webkit [189163] by Chris Fleizach
  • 2 edits in trunk/LayoutTests

AX: When navigating the elements of a scrollable element with VoiceOver, the scrollTop() position of the element does not permanently change
https://bugs.webkit.org/show_bug.cgi?id=125720

Unreviewed. Skip failing tests on Windows due to lack of DRT implementations.

  • platform/win/TestExpectations:
10:53 PM Changeset in webkit [189162] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[ES6] JSON.stringify should ignore object properties that have symbol values and convert the symbol values in array to null
https://bugs.webkit.org/show_bug.cgi?id=148628

Reviewed by Saam Barati.

As per ECMA262 6.0,

  1. JSON.stringify should ignore object properties that have symbol values.

SerializeJSONProperty[1] will return undefined if the value of the property is a symbol.
In this case, SerializeJSONObject[2] does not append any string for this property.

  1. JSON.stringify should convert the symbol values in array to null

As the same to the object case, SerializeJSONProperty will return undefined if the value of the property is a symbol.
But in the case of arrays, if the result of SerializeJSONProperty is undefined, it will emit "null"[3].
This behavior is already implemented in the existing JSON.stringify. Added tests to ensure that.

[1]: http://www.ecma-international.org/ecma-262/6.0/#sec-serializejsonproperty
[2]: http://www.ecma-international.org/ecma-262/6.0/#sec-serializejsonobject
[3]: http://www.ecma-international.org/ecma-262/6.0/#sec-serializejsonarray

  • runtime/JSONObject.cpp:

(JSC::unwrapBoxedPrimitive):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::appendNextProperty):

  • tests/stress/symbol-with-json.js:

(shouldBe):

4:29 PM Changeset in webkit [189161] by ryuan.choi@navercorp.com
  • 6 edits in trunk/Source/WebCore

[CoordinatedGraphics] Remove unnecessary two virtual methods from TiledBackingStoreClient
https://bugs.webkit.org/show_bug.cgi?id=147137

Reviewed by Gyuyoung Kim.

tiledBackingStoreContentsRect() and tiledBackingStoreVisibleRect() are not
necessary because CoordinatedGraphicsLayer can pass them directly if needed.
This patch removes them in order to simplify code flow between TiledBackingStore
and CoordinatedGraphicsLayer.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::imageBackingVisible):
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
(WebCore::clampToContentsRectIfRectIsInfinite):
(WebCore::CoordinatedGraphicsLayer::transformedVisibleRect):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreContentsRect): Deleted.
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect): Deleted.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::createTilesIfNeeded):
(WebCore::TiledBackingStore::coverageRatio):
(WebCore::TiledBackingStore::visibleAreaIsCovered):
Used TiledBackingStore's m_visibleRect and m_rect, cached and scaled values for
visibleRect, contentsRect.
(WebCore::TiledBackingStore::createTiles):
(WebCore::TiledBackingStore::removeAllNonVisibleTiles):
(WebCore::TiledBackingStore::coverWithTilesIfNeeded): Renamed to createTilesIfNeeded.
(WebCore::TiledBackingStore::visibleRect): Deleted. nobody used.

  • platform/graphics/texmap/coordinated/TiledBackingStore.h:
  • platform/graphics/texmap/coordinated/TiledBackingStoreClient.h:

(WebCore::TiledBackingStoreClient::tiledBackingStoreHasPendingTileCreation):
Removed default implementation.

3:33 PM Changeset in webkit [189160] by fpizlo@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

JSC property attributes should fit in a byte
https://bugs.webkit.org/show_bug.cgi?id=148611

Reviewed by Sam Weinig.

I want to make room in PropertyMapEntry for more things to support property type inference (see
https://bugs.webkit.org/show_bug.cgi?id=148610). The most obvious candidate for a size reduction is
attributes, since we only have a small number of attribute bits. Even without complex changes, it
would have been possible to reduce the attribute field from 32 bits to 16 bits. Specifically, prior
to this change, the attributes field needed 9 bits. This made it very tempting to trim it so that
it could fit in a byte.

Luckily, many of the attributes bits are for the static lookup hashtables that we use for lazily
building objects in the standard library. Those bits don't need to stay around after the property
has been created, since they are just for telling the code in Lookup how to create the property.
So, this change separates the attributes bits into those that are interesting for Structure and
those that aren't. The ones used by Structure sit in the low 8 bits, allowing for the attributes
field in PropertyMapEntry to be a uint8_t. The attributes bits used only by Lookup use the higher
bits. In production, the conversion from the Lookup attributes to the Structure attributes is just
a cast to uint8_t. In debug, we assert that those bits are not dropped by accident. Code that
intentionally drops those bits calls attributesForStructure().

It turned out that there was a lot of code that was using the Function bit even in code that didn't
involve Lookup. This change removes those uses of Function. Structure does not need to know if we
think that a property points to a function.

  • jsc.cpp:

(GlobalObject::finishCreation):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSObject.h:
  • runtime/Lookup.cpp:

(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
(JSC::reifyStaticProperties):

  • runtime/MathObject.cpp:

(JSC::MathObject::finishCreation):

  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::finishCreation):

  • runtime/PropertySlot.h:

(JSC::attributesForStructure):
(JSC::PropertySlot::setValue):
(JSC::PropertySlot::setCustom):
(JSC::PropertySlot::setCacheableCustom):
(JSC::PropertySlot::setGetterSlot):
(JSC::PropertySlot::setCacheableGetterSlot):

  • runtime/Structure.h:

(JSC::PropertyMapEntry::PropertyMapEntry):

12:08 AM Changeset in webkit [189159] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark http/tests/w3c/dom/nodes/Element-matches.html as flaky.

Note: See TracTimeline for information about the timeline view.