Timeline



Sep 6, 2015:

11:47 PM Changeset in webkit [189461] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Many tests have been failed since r188692.
Bug 148470 will try to fix this problem.

  • platform/efl/TestExpectations:
11:28 PM Changeset in webkit [189460] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Gardening: fix broken Windows build after r189454.

Not reviewed.

11:23 PM Changeset in webkit [189459] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add one more inspector test that flakily times out.

  • platform/mac/TestExpectations: Added inspector/indexeddb/requestDatabaseNames.html.
11:17 PM Changeset in webkit [189458] by commit-queue@webkit.org
  • 7 edits
    2 moves
    3 adds in trunk/Source/JavaScriptCore

Implement the relational instructions in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148838

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-06
Reviewed by Saam Barati.

This patch implements the relational instructions for 32-bit integers in
WebAssembly.

  • tests/stress/wasm-arithmetic.js:
  • tests/stress/wasm-locals.js:
  • tests/stress/wasm-relational.js: Added.

(shouldBe):

  • tests/stress/wasm/arithmetic.wasm: Renamed from Source/JavaScriptCore/tests/stress/wasm-arithmetic.wasm.
  • tests/stress/wasm/locals.wasm: Renamed from Source/JavaScriptCore/tests/stress/wasm-locals.wasm.
  • tests/stress/wasm/relational.wasm: Added.
  • wasm/WASMFunctionCompiler.h:

(JSC::WASMFunctionCompiler::buildRelationalI32):

  • wasm/WASMFunctionParser.cpp:

(JSC::WASMFunctionParser::parseExpressionI32):
(JSC::WASMFunctionParser::parseRelationalI32ExpressionI32):

  • wasm/WASMFunctionParser.h:
  • wasm/WASMFunctionSyntaxChecker.h:

(JSC::WASMFunctionSyntaxChecker::buildRelationalI32):

11:14 PM Changeset in webkit [189457] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark svg/dom/svg-root-lengths.html as a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=148925

10:56 PM Changeset in webkit [189456] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark svg/as-object/svg-in-object-dynamic-attribute-change.html as a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=148922

10:39 PM Changeset in webkit [189455] by aestes@apple.com
  • 9 edits
    1 copy
    1 add in trunk/Tools

WebKitTestRunner should build for iOS using the default target
https://bugs.webkit.org/show_bug.cgi?id=148918

Reviewed by Daniel Bates.

When WebKitTestRunner was ported to iOS, a separate target (WebKitTestRunnerApp) was created for building the
iOS variant. This is annoying because (1) all tools that invoke xcodebuild need to be taught to build this
non-default target, and (2) a single Xcode scheme cannot be used to build both Mac and iOS variants.

This change adds a new default target (All) and makes it work for both Mac and iOS. Files that were built for
both WebKitTestRunner and WebKitTestRunnerApp are now built in a static library target (WebKitTestRunner (Library)),
and both apps now link this library. Files that are specific to Mac or iOS are excluded on the other platform.
WebKitTestRunnerApp.app (which should be renamed to WebKitTestRunner.app) is skipped when installing on Mac, and
WebKitTestRunner is skipped when installing on iOS.

The target dependency graph now looks like this:

All

WebKitTestRunnerApp

WebKitTestRunner (Library)

WebKitTestRunnerInjectedBundle

Derived Sources

WebKitTestRunner

WebKitTestRunner (Library)

WebKitTestRunnerInjectedBundle

Derived Sources

  • Scripts/build-webkit: Stopped building the WebKitTestRunnerApp target on iOS.
  • Scripts/build-webkittestrunner: Ditto.
  • WebKitTestRunner/Configurations/Base.xcconfig: Set SUPPORTED_PLATFORMS to macosx, iphoneos, and iphonesimulator.
  • WebKitTestRunner/Configurations/BaseTarget.xcconfig: Set INSTALL_PATH here since it is the same for all targets.
  • WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Stopped setting INSTALL_PATH.
  • WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Moved frameworks from the build phase to here,

excluded iOS-only files, and skipped installing on iOS.

  • WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig: Moved frameworks from the build phase to here,

excluded Mac-only files, and skipped installing on Mac.

  • WebKitTestRunner/Configurations/WebKitTestRunnerLibrary.xcconfig: Skipped installing always.
  • WebKitTestRunner/Makefile: Stopped building the WebKitTestRunnerApp target on iOS.
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Added new targets, removed frameworks from

Link Binary With Libraries builds phases, moved common files to the WebKitTestRunner (Library) target, and added
new configuration files.

10:19 PM Changeset in webkit [189454] by mark.lam@apple.com
  • 15 edits
    2 adds in trunk/Source/JavaScriptCore

StackOverflow stack unwinding should stop at native frames.
https://bugs.webkit.org/show_bug.cgi?id=148749

Reviewed by Michael Saboff.

In the present code, after ping-pong'ing back and forth between native and JS
code a few times, if we have a stack overflow on re-entry into the VM to run
JS code's whose stack frame would overflow the JS stack, the code will end up
unwinding past the native function that is making the call to re-enter the VM.
As a result, any clean up code (e.g. destructors for stack variables) in the
skipped native function frame (and its chain of native function callers) will
not be called.

This patch is based on the Michael Saboff's fix of this issue landed on the
jsc-tailcall branch: http://trac.webkit.org/changeset/188555

We now check for the case where there are no JS frames to unwind since the
last native frame, and treat the exception as an unhandled exception. The
native function is responsible for further propagating the exception if needed.

Other supporting work:

  1. Remove vm->vmEntryFrameForThrow. It should always be the same as vm->topVMEntryFrame.
  2. Change operationThrowStackOverflowError() to use the throwStackOverflowError() helper function instead of rolling its own.
  3. Added a test that exercises this edge case. The test should not hang or crash.
  • API/tests/PingPongStackOverflowTest.cpp: Added.

(PingPongStackOverflowObject_hasInstance):
(testPingPongStackOverflow):

  • API/tests/PingPongStackOverflowTest.h: Added.
  • API/tests/testapi.c:

(main):

(JSC::ExecState::operator=):
(JSC::ExecState::callerFrame):
(JSC::ExecState::callerFrameOrVMEntryFrame):
(JSC::ExecState::argIndexForRegister):
(JSC::ExecState::callerFrameAndPC):

  • interpreter/Interpreter.cpp:

(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):

  • interpreter/Interpreter.h:

(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
(JSC::Interpreter::sampler):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::jumpToExceptionHandler):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

  • jit/JITExceptions.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOperations.cpp:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/VM.h:

(JSC::VM::exceptionOffset):
(JSC::VM::callFrameForThrowOffset):
(JSC::VM::vmEntryFrameForThrowOffset): Deleted.
(JSC::VM::topVMEntryFrameOffset): Deleted.

8:10 PM Changeset in webkit [189453] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, disable module tests in Windows until name resolution is fixed
https://bugs.webkit.org/show_bug.cgi?id=148689

Until bug[1] is fixed, we disable the module tests.
Since the local file system name resolution is just implemented in jsc.cpp and
is intended to be used for the module tests, it does not affect JSC framework
and WebKit itself.

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

  • tests/modules.yaml:
1:41 PM Changeset in webkit [189452] by Chris Dumez
  • 22 edits
    3 deletes in trunk

dispatchEvent() should throw an InvalidStateError if the event's initialized flag is not set
https://bugs.webkit.org/show_bug.cgi?id=148800
<rdar://problem/22565782>
<rdar://problem/22565485>

Reviewed by Geoffrey Garen.

Source/WebCore:

dispatchEvent() should throw an InvalidStateError if the event's
initialized flag is not set or its dispatch flag is set, and should
allow dispatching events with an empty type as long as it is
initialized:
https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent (step 1)

Previously, WebKit relied on the event type being empty to throw a
UNSPECIFIED_EVENT_TYPE_ERR: DOM Events Exception 0. However, this
exception type is outdated and initializing Event.type to an empty
string is legal.

No new tests, already covered by existing tests that were rebaselined.

  • dom/Event.cpp:

(WebCore::Event::Event):
(WebCore::Event::initEvent):

  • dom/Event.h:

(WebCore::Event::isInitialized):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::dispatchEvent):

LayoutTests:

  • dom/html/level2/events/dispatchEvent02-expected.txt:
  • dom/html/level2/events/dispatchEvent03-expected.txt:
  • dom/html/level2/events/dispatchEvent04-expected.txt:
  • dom/html/level2/events/dispatchEvent05-expected.txt:
  • dom/html/level2/events/dispatchEvent06-expected.txt:
  • dom/html/level2/events/dispatchEvent07-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent02-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent03-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent04-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent05-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent06-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent07-expected.txt:

Rebaseline, those tests are outdated and their expected results no
longer matches the behavior of the latest DOM specification.

  • fast/dom/DOMException/EventException-expected.txt: Removed.
  • fast/dom/DOMException/EventException.html: Removed.
  • fast/dom/DOMException/resources/EventException.js: Removed.

Drop this test we no longer throw an EventException in this case.

  • fast/dom/Window/dispatchEvent-expected.txt:

Rebaseline.

  • fast/events/dispatch-event-being-dispatched-expected.txt:
  • fast/events/dispatch-event-being-dispatched.html:

Fix the test to expect the new exception types.

  • http/tests/w3c/dom/events/Event-type-empty-expected.txt:
  • http/tests/w3c/dom/events/EventTarget-dispatchEvent-expected.txt:

Rebaseline.

1:34 PM Changeset in webkit [189451] by Chris Dumez
  • 1 edit
    6 deletes in trunk/LayoutTests

Unreviewed, drop a few more newly imported W3C media tests that are flaky.

  • http/tests/w3c/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState-expected.txt: Removed.
  • http/tests/w3c/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html: Removed.
  • http/tests/w3c/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document-expected.txt: Removed.
  • http/tests/w3c/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document.html: Removed.
  • http/tests/w3c/html/semantics/embedded-content/media-elements/synchronising-multiple-media-elements/media-controllers/task-source-expected.txt: Removed.
  • http/tests/w3c/html/semantics/embedded-content/media-elements/synchronising-multiple-media-elements/media-controllers/task-source.html: Removed.
1:26 PM Changeset in webkit [189450] by Chris Dumez
  • 1 edit
    4 deletes in trunk/LayoutTests

Unreviewed, drop a couple of newly imported W3C media tests as they are flaky.

  • http/tests/w3c/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-removes-queued-error-event-expected.txt: Removed.
  • http/tests/w3c/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-removes-queued-error-event.html: Removed.
  • http/tests/w3c/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe-expected.txt: Removed.
  • http/tests/w3c/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe.html: Removed.
1:23 PM Changeset in webkit [189449] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Mark a couple of new W3C ref-tests as failing on iOS.

  • platform/ios-simulator/TestExpectations:
1:17 PM Changeset in webkit [189448] by Chris Dumez
  • 1 edit
    31 adds in trunk/LayoutTests

Unreviewed, land iOS baselines for the newly imported W3C HTML tests.

  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/color-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/date-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/datetime-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/datetime-local-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/input-textselection-01-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/month-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/time-2-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/time-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/valueMode-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-input-element/week-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-label-element/labelable-elements-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/forms/the-meter-element/meter-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/semantics/interfaces-expected.txt: Added.
1:04 PM Changeset in webkit [189447] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, skip new media tests on iOS.

  • platform/ios-simulator/TestExpectations:
12:59 PM Changeset in webkit [189446] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, skip http/tests/w3c/html/semantics/embedded-content/media-elements/* on Win/Release

Skip http/tests/w3c/html/semantics/embedded-content/media-elements/* on Win/Release
as well. Apparently, the "AQMEIOManager::FindIOUnit: error -1" messages can show
up on release builds as well.

  • platform/win/TestExpectations:
11:40 AM Changeset in webkit [189445] by youenn.fablet@crf.canon.fr
  • 7 edits in trunk

XHR2 timeout property should allow late updates
https://bugs.webkit.org/show_bug.cgi?id=98156

Reviewed by Darin Adler.

Source/WebCore:

Adding a timer within XMLHttpRequest to handle timeouts for asynchronous requests.
This allows easy update of the timeout even after request is sent.
Timeout is still handled by the network backend for synchronous requests (Web worker context).

Covered by updated tests.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::XMLHttpRequest): Adding timeout timer initialization.
(WebCore::XMLHttpRequest::setTimeout): Updating timeout timer state if request is sent.
(WebCore::XMLHttpRequest::createRequest): Starting timeout timer if needed.
(WebCore::XMLHttpRequest::internalAbort): Stopping timeout timer if needed.
(WebCore::XMLHttpRequest::didFail): Adding comment.
(WebCore::XMLHttpRequest::didFinishLoading): Stopping timeout timer if needed.

  • xml/XMLHttpRequest.h:

LayoutTests:

Activating test checking that timeout can be updated after request is sent.

  • http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-overrides-expected.txt:
  • http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-overrides.js:
  • http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-overrides-expected.txt:
7:38 AM Changeset in webkit [189444] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Simplify JIT::emit_op_mod()
https://bugs.webkit.org/show_bug.cgi?id=148908

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-06
Reviewed by Michael Saboff.

The IDIV instruction on x86 divides the value in the EDX:EAX registers
by the source operand and stores the quotient in EAX and the remainder
in EDX. Therefore, we store the values that we don't want to be
overwritten by IDIV in registers that are not EAX or EDX. This patch
makes the intention clearer and makes the code easier to read.

  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_mod):

Sep 5, 2015:

11:30 PM Changeset in webkit [189443] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix JSDollarVMPrototype after r189160.
https://bugs.webkit.org/show_bug.cgi?id=148900

Reviewed by Michael Saboff.

JSDollarVMPrototype needs to be updated to match http://trac.webkit.org/changeset/189160 i.e.
remove the use of JSC::Function bit in its property attributes.

  • tools/JSDollarVMPrototype.cpp:

(JSC::JSDollarVMPrototype::finishCreation):

7:33 PM Changeset in webkit [189442] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

Leak in WebContextInjectedBundleClient::getInjectedBundleInitializationUserData
https://bugs.webkit.org/show_bug.cgi?id=148769

Fix suggested by Zan Dobersek.

Reviewed by Darin Adler.

  • UIProcess/WebContextInjectedBundleClient.cpp:

(WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):

6:50 PM Changeset in webkit [189441] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove unused macros from StyleResolver.cpp
https://bugs.webkit.org/show_bug.cgi?id=148163

Reviewed by Andreas Kling.

HANDLE_INHERIT and HANDLE_INHERIT_AND_INITIAL are not used after
StyleBuilder refactoring.

No new tests because there is no behavior change.

  • css/StyleResolver.cpp:

Remove HANDLE_INHERIT and HANDLE_INHERIT_AND_INITIAL.

5:47 PM WikiStart edited by mmaxfield@apple.com
(diff)
5:46 PM FontSelection edited by mmaxfield@apple.com
(diff)
5:45 PM FontSelection edited by mmaxfield@apple.com
(diff)
5:42 PM Fonts 3.png attached to FontSelection by mmaxfield@apple.com
5:42 PM Fonts 2.png attached to FontSelection by mmaxfield@apple.com
5:42 PM Fonts.png attached to FontSelection by mmaxfield@apple.com
5:37 PM FontSelection created by mmaxfield@apple.com
1:54 PM Changeset in webkit [189440] by jhoneycutt@apple.com
  • 2 edits
    4 adds in trunk/LayoutTests

Import a couple of Chromium accesskey tests.
https://bugs.webkit.org/show_bug.cgi?id=148865

Reviewed by Daniel Bates.

  • fast/forms/access-key-case-insensitive-expected.txt: Added.
  • fast/forms/access-key-case-insensitive.html: Added.
  • fast/forms/access-key-mutated-expected.txt: Added.
  • fast/forms/access-key-mutated.html: Added.
  • platform/ios-simulator/TestExpectations:

These tests are asynchronous and use unsupported features; skip them on
iOS so they don't time out.

1:43 PM AssociatingInformationWithTests edited by mmaxfield@apple.com
(diff)
1:41 PM AssociatingInformationWithTests edited by mmaxfield@apple.com
(diff)
1:39 PM AssociatingInformationWithTests created by mmaxfield@apple.com
12:45 PM Changeset in webkit [189439] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix the module name resolution in Windows
https://bugs.webkit.org/show_bug.cgi?id=148689

Attempt to fix the module name resolution in Windows.
A module name is represented as the UNIX path under the current module tests.
This fix split the module name with '/' instead of pathSeparator().

This is only utilized by the jsc.cpp for the local module tests.
So, WebKit production and JavaScriptCore framework are not affected by this change.

  • jsc.cpp:

(ModuleName::startsWithRoot):
(ModuleName::ModuleName):
(resolvePath):
(GlobalObject::moduleLoaderResolve):

11:52 AM Changeset in webkit [189438] by BJ Burg
  • 72 edits in trunk/Source

Web Inspector: tighten up lifetimes for Agent-owned objects, and initialize agents using contexts
https://bugs.webkit.org/show_bug.cgi?id=148625

Reviewed by Joseph Pecoraro.

All agents own their domain-specific frontend and backend dispatchers. Change so that
they are initialized in constructors rather than when a frontend connects or disconnects.
This may cause additional memory use, but this can be counteracted by lazily creating
some agents that are not required for other agents to function (i.e., runtime and page agents).

To avoid adding frontend/backend dispatcher arguments to every single agent constructor,
change agent construction to take a AgentContext or a subclass of it. This provides agents with
references to objects in the owning InspectorEnvironment subclass that are guaranteed to
outlive all agents. AgentContext and its subclasses follow the existing Agent class hierarchy.

Source/JavaScriptCore:

  • inspector/InspectorAgentBase.h:

(Inspector::JSAgentContext::JSAgentContext):

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectAllFrontends):
(Inspector::JSGlobalObjectInspectorController::appendExtraAgent):

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

(Inspector::InspectorAgent::InspectorAgent):
(Inspector::InspectorAgent::didCreateFrontendAndBackend):
(Inspector::InspectorAgent::willDestroyFrontendAndBackend):

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

(Inspector::InspectorConsoleAgent::InspectorConsoleAgent):
(Inspector::InspectorConsoleAgent::didCreateFrontendAndBackend):
(Inspector::InspectorConsoleAgent::willDestroyFrontendAndBackend):

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

(Inspector::InspectorDebuggerAgent::InspectorDebuggerAgent):
(Inspector::InspectorDebuggerAgent::didCreateFrontendAndBackend):
(Inspector::InspectorDebuggerAgent::willDestroyFrontendAndBackend):

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

(Inspector::InspectorRuntimeAgent::InspectorRuntimeAgent):

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

(Inspector::JSGlobalObjectConsoleAgent::JSGlobalObjectConsoleAgent):

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

(Inspector::JSGlobalObjectDebuggerAgent::JSGlobalObjectDebuggerAgent):

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

(Inspector::JSGlobalObjectRuntimeAgent::JSGlobalObjectRuntimeAgent):
(Inspector::JSGlobalObjectRuntimeAgent::didCreateFrontendAndBackend):

  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/augmentable/AlternateDispatchableAgent.h:
  • inspector/augmentable/AugmentableInspectorController.h: Alternate agents should

have access to frontend router and backend dispatcher at construction time.

  • inspector/scripts/codegen/cpp_generator_templates.py:
  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/objc_generator_templates.py:

Source/WebCore:

No new tests, no behavior changed.

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
(WebCore::WorkerScriptDebugServer::addListener):
(WebCore::WorkerScriptDebugServer::removeListener):
(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):

  • bindings/js/WorkerScriptDebugServer.h:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::findStorageArea):
(WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
(WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::reload):
(WebCore::InspectorPageAgent::navigate):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::deleteCookie):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):
(WebCore::InspectorPageAgent::setScriptExecutionDisabled):
(WebCore::InspectorPageAgent::mainFrame):
(WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
(WebCore::InspectorPageAgent::setEmulatedMedia):
(WebCore::InspectorPageAgent::getCompositingBordersVisible):
(WebCore::InspectorPageAgent::setCompositingBordersVisible):
(WebCore::InspectorPageAgent::snapshotNode):
(WebCore::InspectorPageAgent::snapshotRect):
(WebCore::InspectorPageAgent::archive):
(WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):

  • 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::didCreateFrontendAndBackend):
(WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):

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

(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorTimelineAgent::page):

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

(WebCore::WebAgentContext::WebAgentContext):
(WebCore::PageAgentContext::PageAgentContext):
(WebCore::WorkerAgentContext::WorkerAgentContext):
(WebCore::InspectorAgentBase::InspectorAgentBase):

  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
(WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):

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

(WebCore::PageConsoleAgent::PageConsoleAgent):

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

(WebCore::PageDebuggerAgent::PageDebuggerAgent):
(WebCore::PageDebuggerAgent::sourceMapURLForScript):
(WebCore::PageDebuggerAgent::breakpointActionLog):
(WebCore::PageDebuggerAgent::injectedScriptForEval):

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

(WebCore::PageRuntimeAgent::PageRuntimeAgent):
(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::PageRuntimeAgent::injectedScriptForEval):
(WebCore::PageRuntimeAgent::reportExecutionContextCreation):
(WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):

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

(WebCore::WebConsoleAgent::WebConsoleAgent):

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

(WebCore::WebDebuggerAgent::WebDebuggerAgent):

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

(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):

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

(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
(WebCore::WorkerDebuggerAgent::breakpointActionLog):
(WebCore::WorkerDebuggerAgent::injectedScriptForEval):

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

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
(WebCore::WorkerRuntimeAgent::injectedScriptForEval):
(WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):

  • inspector/WorkerRuntimeAgent.h:
10:44 AM Changeset in webkit [189437] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, skip http/tests/w3c/html/semantics/embedded-content/media-elements/* tests on Win/Debug.

Filed Bug 148903 to track the problem.

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

Unreviewed, mark imported/w3c/css/css-multicol-1/multicol-span-all-001.xht as failing on Windows.

  • platform/win/TestExpectations:
10:33 AM Changeset in webkit [189435] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Web Inspector: Improve prepare-ChangeLog for multiple cases
https://bugs.webkit.org/show_bug.cgi?id=148875

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-05
Reviewed by Timothy Hatcher.

  • Scripts/prepare-ChangeLog:

(get_function_line_ranges_for_javascript):

  • We were ignoring everything inside of an anonymous function expression, such as (function(){ ... }), which made InjectedScriptSource produce nothing. Better handle this by inserting a few tweaks.
  • Allow method syntax outside of classes as long as they are at the global level.
  • Avoid treating "get" and "set" as getter/setter functions in bad contexts.
  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/javascript_unittests-expected.txt:
  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/javascript_unittests.js:

(Foo.prototype.method1):
(Foo.prototype.method2):
(Foo.prototype.method3.innerFunction):
(Foo.prototype.method3):
(insideGlobalAnonymousFunctionExpression):
(foo.insideGlobalFunctionExpression):
(IssueWithMapGetAndSet.prototype.method1.nestedFunctionInsideMethod1):
(IssueWithMapGetAndSet.prototype.method1):
(IssueWithMapGetAndSet.prototype.method2):
(IssueWithMapGetAndSet.prototype.method3):
(IssueWithMapGetAndSet):

10:27 AM Changeset in webkit [189434] by Chris Dumez
  • 1 edit
    28 adds in trunk/LayoutTests

Unreviewed, land Windows baselines for the new W3C html tests imported in r189394.

  • platform/win/http/tests/w3c/html/dom/interfaces-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/embedded-content/media-elements/mime-types/canPlayType-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/embedded-content/the-img-element/update-the-source-set-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/forms/the-input-element/color-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/forms/the-input-element/input-textselection-01-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
  • platform/win/http/tests/w3c/html/semantics/forms/the-input-element/valueMode-expected.txt: Added.
9:06 AM Changeset in webkit [189433] by BJ Burg
  • 75 edits
    1 delete in trunk/Source

Web Inspector: agents should send messages through FrontendRouter instead of FrontendChannel
https://bugs.webkit.org/show_bug.cgi?id=148492

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Replace uses of FrontendChannel with FrontendRouter. Minor cleanups along the way.

Make AgentRegistry automatically signal discardAgent() in its destructor, since it always
gets executed in the owning controller's destructor anyway.

  • inspector/InspectorAgentBase.h:
  • inspector/InspectorAgentRegistry.cpp:

(Inspector::AgentRegistry::~AgentRegistry):
(Inspector::AgentRegistry::didCreateFrontendAndBackend):
(Inspector::AgentRegistry::willDestroyFrontendAndBackend):
(Inspector::AgentRegistry::discardAgents): Deleted.

  • inspector/InspectorAgentRegistry.h:
  • inspector/InspectorBackendDispatcher.cpp:
  • inspector/InspectorFrontendRouter.cpp:

(Inspector::FrontendRouter::leakChannel): Deleted, no longer necessary.

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

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::appendExtraAgent):
(Inspector::JSGlobalObjectInspectorController::~JSGlobalObjectInspectorController):

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

(Inspector::InspectorAgent::didCreateFrontendAndBackend):

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

(Inspector::InspectorConsoleAgent::didCreateFrontendAndBackend):

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

(Inspector::InspectorDebuggerAgent::didCreateFrontendAndBackend):

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

(Inspector::JSGlobalObjectRuntimeAgent::didCreateFrontendAndBackend):

  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/augmentable/AlternateDispatchableAgent.h:
  • inspector/remote/RemoteInspectorDebuggable.cpp:
  • inspector/scripts/codegen/cpp_generator_templates.py:
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:

(CppFrontendDispatcherHeaderGenerator.generate_output.FrontendRouter):
(CppFrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator.generate_output):
(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:

(ObjCConfigurationImplementationGenerator.generate_output):

  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator.generate_output):

Source/WebCore:

Replace uses of FrontendChannel with FrontendRouter. Minor code cleanup along the way.

No new tests, no behavior changed.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::~InspectorController): No need to call discardAgents().

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorPageAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):

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

(WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):

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

(WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):

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

(WebCore::WorkerInspectorController::connectFrontend):

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

(WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):

  • inspector/WorkerRuntimeAgent.h:
  • page/PageDebuggable.cpp:
  • testing/Internals.cpp:

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h: Clean up the forward declarations, don't use InspectorForwarding.h.
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::openInspectorFrontend):

Source/WebKit/win:

Stop using InspectorForwarding.h.

  • WebCoreSupport/WebInspectorClient.h:

Source/WebKit2:

Stop using InspectorForwarding.h.

  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/WebInspectorUI.h:
1:47 AM Changeset in webkit [189432] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Add a new ResourceLoaderOption to avoid page defers loading mechanisms for inspector
https://bugs.webkit.org/show_bug.cgi?id=148727

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-05
Reviewed by Antti Koivisto.

This will be tested shortly by inspector tests.

  • loader/ResourceLoaderOptions.h:

(WebCore::ResourceLoaderOptions::ResourceLoaderOptions):
(WebCore::ResourceLoaderOptions::defersLoadingPolicy):
(WebCore::ResourceLoaderOptions::setDefersLoadingPolicy):
Add a new policy for defers loading. The default is to allow defers loading.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::ResourceLoader):
(WebCore::ResourceLoader::init):
(WebCore::ResourceLoader::setDefersLoading):
Respect the defers loading policy whenever we would set defers loading status.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::loadResource):
Switch from incorrectly changing the defersLoading state of the loader
to setting an option to disallow defers loading entirely for the loader.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::start):

  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::defaultCachedResourceOptions):

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::startLoading):

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

(WebCore::WebCoreAVCFResourceLoader::startLoading):

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::startLoading):
Add the new value to instance of the longhand ResourceLoaderOptions constructor.

12:44 AM Changeset in webkit [189431] by Yusuke Suzuki
  • 9 edits
    156 adds in trunk

[ES6] Enable ES6 Module in JSC shell by default
https://bugs.webkit.org/show_bug.cgi?id=148689

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Enable ES6 Modules in JSC shell by default. Compile time flag is left for WebCore.
Since the entry point to evaluate the modules are completely separated from the usual
entry point to evaluate the script, we can safely enable ES6 modules in JSC shell.

And add bunch of tests for ES6 Modules.

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionLoadModule):
(runWithScripts):
(printUsageStatement): Deleted.
(CommandLine::parseArguments): Deleted.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseInner): Deleted.

  • tests/modules.yaml: Added.
  • tests/modules/aliasing.js: Added.
  • tests/modules/aliasing/drink-2.js: Added.

(export.let.Cappuccino.string_appeared_here.export.changeCappuccino):

  • tests/modules/aliasing/drink.js: Added.

(export.changeCocoa):

  • tests/modules/cyclic-may-produce-tdz.js: Added.
  • tests/modules/cyclic-may-produce-tdz/1.js: Added.
  • tests/modules/cyclic-may-produce-tdz/2.js: Added.
  • tests/modules/default-error/main.js: Added.
  • tests/modules/default-value-case-should-be-copied.js: Added.
  • tests/modules/default-value-case-should-be-copied/module.js: Added.

(export.changeValue):

  • tests/modules/defaults.js: Added.
  • tests/modules/defaults/Cappuccino.js: Added.
  • tests/modules/defaults/Cocoa.js: Added.

(export.default.Cocoa):

  • tests/modules/defaults/Matcha.js: Added.
  • tests/modules/destructuring-export.js: Added.
  • tests/modules/destructuring-export/array.js: Added.
  • tests/modules/destructuring-export/main.js: Added.
  • tests/modules/execution-order-cyclic.js: Added.
  • tests/modules/execution-order-cyclic/1.js: Added.
  • tests/modules/execution-order-cyclic/10.js: Added.
  • tests/modules/execution-order-cyclic/11.js: Added.
  • tests/modules/execution-order-cyclic/2.js: Added.
  • tests/modules/execution-order-cyclic/3.js: Added.
  • tests/modules/execution-order-cyclic/4.js: Added.
  • tests/modules/execution-order-cyclic/5.js: Added.
  • tests/modules/execution-order-cyclic/6.js: Added.
  • tests/modules/execution-order-cyclic/7.js: Added.
  • tests/modules/execution-order-cyclic/8.js: Added.
  • tests/modules/execution-order-cyclic/9.js: Added.
  • tests/modules/execution-order-dag.js: Added.
  • tests/modules/execution-order-dag/1.js: Added.
  • tests/modules/execution-order-dag/10.js: Added.
  • tests/modules/execution-order-dag/2.js: Added.
  • tests/modules/execution-order-dag/3.js: Added.
  • tests/modules/execution-order-dag/4.js: Added.
  • tests/modules/execution-order-dag/5.js: Added.
  • tests/modules/execution-order-dag/6.js: Added.
  • tests/modules/execution-order-dag/7.js: Added.
  • tests/modules/execution-order-dag/8.js: Added.
  • tests/modules/execution-order-dag/9.js: Added.
  • tests/modules/execution-order-depth.js: Added.
  • tests/modules/execution-order-depth/1.js: Added.
  • tests/modules/execution-order-depth/2.js: Added.
  • tests/modules/execution-order-depth/3.js: Added.
  • tests/modules/execution-order-self.js: Added.
  • tests/modules/execution-order-sibling.js: Added.
  • tests/modules/execution-order-sibling/1.js: Added.
  • tests/modules/execution-order-sibling/2.js: Added.
  • tests/modules/execution-order-sibling/3.js: Added.
  • tests/modules/execution-order-tree.js: Added.
  • tests/modules/execution-order-tree/1.js: Added.
  • tests/modules/execution-order-tree/10.js: Added.
  • tests/modules/execution-order-tree/11.js: Added.
  • tests/modules/execution-order-tree/2.js: Added.
  • tests/modules/execution-order-tree/3.js: Added.
  • tests/modules/execution-order-tree/4.js: Added.
  • tests/modules/execution-order-tree/5.js: Added.
  • tests/modules/execution-order-tree/6.js: Added.
  • tests/modules/execution-order-tree/7.js: Added.
  • tests/modules/execution-order-tree/8.js: Added.
  • tests/modules/execution-order-tree/9.js: Added.
  • tests/modules/export-conflict-ok.js: Added.
  • tests/modules/export-conflict-ok/A.js: Added.
  • tests/modules/export-conflict-ok/B.js: Added.
  • tests/modules/export-conflict-ok/main.js: Added.
  • tests/modules/export-from.js: Added.
  • tests/modules/export-from/main.js: Added.
  • tests/modules/export-from/second.js: Added.
  • tests/modules/export-with-declarations-list.js: Added.
  • tests/modules/export-with-declarations-list/main.js: Added.
  • tests/modules/exported-function-may-be-called-before-module-is-executed.js: Added.
  • tests/modules/exported-function-may-be-called-before-module-is-executed/1.js: Added.
  • tests/modules/exported-function-may-be-called-before-module-is-executed/2.js: Added.

(export.add):
(export.raise):

  • tests/modules/import-error.js: Added.
  • tests/modules/import-error/export-ambiguous-1.js: Added.
  • tests/modules/import-error/export-ambiguous-2.js: Added.
  • tests/modules/import-error/export-ambiguous.js: Added.
  • tests/modules/import-error/export-default-from-star-2.js: Added.

(export.default.Cocoa):

  • tests/modules/import-error/export-default-from-star.js: Added.
  • tests/modules/import-error/export-not-found.js: Added.
  • tests/modules/import-error/import-ambiguous.js: Added.
  • tests/modules/import-error/import-default-from-star.js: Added.
  • tests/modules/import-error/import-not-found.js: Added.
  • tests/modules/imported-bindings-are-immutable.js: Added.
  • tests/modules/imported-bindings-are-immutable/bindings.js: Added.

(export.functionDeclaration):
(export.classDeclaration):

  • tests/modules/imported-bindings-can-be-changed-in-original-module.js: Added.
  • tests/modules/imported-bindings-can-be-changed-in-original-module/bindings.js: Added.
  • tests/modules/indirect-export-error.js: Added.
  • tests/modules/indirect-export-error/indirect-export-ambiguous-2.js: Added.
  • tests/modules/indirect-export-error/indirect-export-ambiguous-3.js: Added.
  • tests/modules/indirect-export-error/indirect-export-ambiguous-4.js: Added.
  • tests/modules/indirect-export-error/indirect-export-ambiguous.js: Added.
  • tests/modules/indirect-export-error/indirect-export-default-2.js: Added.
  • tests/modules/indirect-export-error/indirect-export-default-3.js: Added.

(export.default.Cocoa):

  • tests/modules/indirect-export-error/indirect-export-default.js: Added.
  • tests/modules/indirect-export-error/indirect-export-not-found-2.js: Added.
  • tests/modules/indirect-export-error/indirect-export-not-found.js: Added.
  • tests/modules/module-eval.js: Added.
  • tests/modules/module-eval/A.js: Added.
  • tests/modules/module-eval/B.js: Added.
  • tests/modules/module-eval/drink.js: Added.
  • tests/modules/module-is-strict-code.js: Added.
  • tests/modules/namespace-ambiguous.js: Added.
  • tests/modules/namespace-ambiguous/ambiguous-2.js: Added.
  • tests/modules/namespace-ambiguous/ambiguous-3.js: Added.
  • tests/modules/namespace-ambiguous/ambiguous-4.js: Added.
  • tests/modules/namespace-ambiguous/ambiguous.js: Added.
  • tests/modules/namespace-error.js: Added.
  • tests/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-2.js: Added.
  • tests/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-3.js: Added.
  • tests/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-4.js: Added.
  • tests/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-5.js: Added.
  • tests/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-6.js: Added.
  • tests/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-7.js: Added.
  • tests/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity.js: Added.
  • tests/modules/namespace-tdz.js: Added.
  • tests/modules/namespace-tdz/A.js: Added.
  • tests/modules/namespace-tdz/B.js: Added.

(export.later):

  • tests/modules/namespace-tdz/main.js: Added.
  • tests/modules/namespace.js: Added.
  • tests/modules/namespace/additional-drink.js: Added.
  • tests/modules/namespace/drink.js: Added.

(export.default.changeCappuccino):

  • tests/modules/namespace/more-additional-drink.js: Added.
  • tests/modules/resources/assert.js: Added.

(export.shouldBe):
(export.shouldThrow):

  • tests/modules/scopes.js: Added.
  • tests/modules/scopes/additional-drink.js: Added.
  • tests/modules/scopes/drink.js: Added.

(export.default.changeCappuccino):

  • tests/modules/scopes/more-additional-drink.js: Added.
  • tests/modules/this-should-be-undefined.js: Added.
  • tests/stress/modules-syntax-error-with-names.js:
  • tests/stress/modules-syntax-error.js:
  • tests/stress/modules-syntax.js:

Tools:

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests):

  • Scripts/run-jsc-stress-tests:
12:29 AM Changeset in webkit [189430] by ap@apple.com
  • 4 edits in trunk/LayoutTests

Fix lint warnings on iOS.

This enables the correct expectation for fast/events/scroll-in-scaled-page-with-overflow-hidden.html.
For other tests, I went with the expectation that was currently in effect.

Re-landing, as this had to be rolled out together with another patch.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
12:22 AM Changeset in webkit [189429] by Yusuke Suzuki
  • 9 edits
    2 adds in trunk/Source/JavaScriptCore

[ES6] Implement ModuleNamespaceObject
https://bugs.webkit.org/show_bug.cgi?id=148705

Reviewed by Geoffrey Garen.

Implement Module namespace object.
That is used when importing the module with the form import * as namespace from "mod".
The module namespace object is non-extensible object that has the bindings to the original module
as the property.

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::moduleNamespaceObjectStructure):

  • runtime/JSModuleNamespaceObject.cpp: Added.

(JSC::JSModuleNamespaceObject::JSModuleNamespaceObject):
(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::destroy):
(JSC::JSModuleNamespaceObject::visitChildren):
(JSC::callbackGetter):
(JSC::JSModuleNamespaceObject::getOwnPropertySlot):
(JSC::JSModuleNamespaceObject::put):
(JSC::JSModuleNamespaceObject::putByIndex):
(JSC::JSModuleNamespaceObject::deleteProperty):
(JSC::JSModuleNamespaceObject::getOwnPropertyNames):
(JSC::JSModuleNamespaceObject::defineOwnProperty):
(JSC::moduleNamespaceObjectSymbolIterator):

  • runtime/JSModuleNamespaceObject.h: Added.

(JSC::JSModuleNamespaceObject::create):
(JSC::JSModuleNamespaceObject::createStructure):
(JSC::JSModuleNamespaceObject::moduleRecord):

  • runtime/JSModuleRecord.cpp:

(JSC::JSModuleRecord::visitChildren):
(JSC::getExportedNames):
(JSC::JSModuleRecord::getModuleNamespace):
(JSC::JSModuleRecord::instantiateDeclarations):

  • runtime/JSModuleRecord.h:
12:18 AM Changeset in webkit [189428] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk/LayoutTests

Unreviewed, rolling out r189372 and r189403.
https://bugs.webkit.org/show_bug.cgi?id=148892

[iOS] All the media tests fail (Requested by ap on #webkit).

Reverted changesets:

"Unreviewed gardening; enabling media/ and http/tests/media/
tests (with expected failures) on ios-simulator"
http://trac.webkit.org/changeset/189372

"Fix lint warnings on iOS."
http://trac.webkit.org/changeset/189403

Sep 4, 2015:

11:44 PM Changeset in webkit [189427] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Rename members of CanvasRenderingContext2D::State
https://bugs.webkit.org/show_bug.cgi?id=148889

Reviewed by Tim Horton.

CanvasRenderingContext2D::State is a struct, so its members should not start with m_.

No new tests because there is no behavior change.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::State::operator=):
(WebCore::CanvasRenderingContext2D::restore):
(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::CanvasRenderingContext2D::lineWidth):
(WebCore::CanvasRenderingContext2D::setLineWidth):
(WebCore::CanvasRenderingContext2D::lineCap):
(WebCore::CanvasRenderingContext2D::setLineCap):
(WebCore::CanvasRenderingContext2D::lineJoin):
(WebCore::CanvasRenderingContext2D::setLineJoin):
(WebCore::CanvasRenderingContext2D::miterLimit):
(WebCore::CanvasRenderingContext2D::setMiterLimit):
(WebCore::CanvasRenderingContext2D::shadowOffsetX):
(WebCore::CanvasRenderingContext2D::setShadowOffsetX):
(WebCore::CanvasRenderingContext2D::shadowOffsetY):
(WebCore::CanvasRenderingContext2D::setShadowOffsetY):
(WebCore::CanvasRenderingContext2D::shadowBlur):
(WebCore::CanvasRenderingContext2D::setShadowBlur):
(WebCore::CanvasRenderingContext2D::shadowColor):
(WebCore::CanvasRenderingContext2D::setShadowColor):
(WebCore::CanvasRenderingContext2D::getLineDash):
(WebCore::CanvasRenderingContext2D::setLineDash):
(WebCore::CanvasRenderingContext2D::setWebkitLineDash):
(WebCore::CanvasRenderingContext2D::lineDashOffset):
(WebCore::CanvasRenderingContext2D::setLineDashOffset):
(WebCore::CanvasRenderingContext2D::applyLineDash):
(WebCore::CanvasRenderingContext2D::globalAlpha):
(WebCore::CanvasRenderingContext2D::setGlobalAlpha):
(WebCore::CanvasRenderingContext2D::globalCompositeOperation):
(WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
(WebCore::CanvasRenderingContext2D::scale):
(WebCore::CanvasRenderingContext2D::rotate):
(WebCore::CanvasRenderingContext2D::translate):
(WebCore::CanvasRenderingContext2D::transform):
(WebCore::CanvasRenderingContext2D::setTransform):
(WebCore::CanvasRenderingContext2D::setStrokeColor):
(WebCore::CanvasRenderingContext2D::setFillColor):
(WebCore::CanvasRenderingContext2D::fillInternal):
(WebCore::CanvasRenderingContext2D::strokeInternal):
(WebCore::CanvasRenderingContext2D::clipInternal):
(WebCore::CanvasRenderingContext2D::isPointInPathInternal):
(WebCore::CanvasRenderingContext2D::isPointInStrokeInternal):
(WebCore::CanvasRenderingContext2D::clearRect):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::applyShadow):
(WebCore::CanvasRenderingContext2D::shouldDrawShadows):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::transformAreaToDevice):
(WebCore::CanvasRenderingContext2D::rectContainsCanvas):
(WebCore::CanvasRenderingContext2D::compositeBuffer):
(WebCore::CanvasRenderingContext2D::didDraw):
(WebCore::CanvasRenderingContext2D::drawFocusIfNeededInternal):
(WebCore::CanvasRenderingContext2D::font):
(WebCore::CanvasRenderingContext2D::setFont):
(WebCore::CanvasRenderingContext2D::textAlign):
(WebCore::CanvasRenderingContext2D::setTextAlign):
(WebCore::CanvasRenderingContext2D::textBaseline):
(WebCore::CanvasRenderingContext2D::setTextBaseline):
(WebCore::CanvasRenderingContext2D::direction):
(WebCore::CanvasRenderingContext2D::setDirection):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
(WebCore::CanvasRenderingContext2D::inflateStrokeRect):
(WebCore::CanvasRenderingContext2D::imageSmoothingEnabled):
(WebCore::CanvasRenderingContext2D::setImageSmoothingEnabled):

  • html/canvas/CanvasRenderingContext2D.h:
11:35 PM Changeset in webkit [189426] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add expectation for some tests that are very flaky on Windows.

  • platform/win/TestExpectations:
11:11 PM Changeset in webkit [189425] by ap@apple.com
  • 2 edits
    2 deletes in trunk/LayoutTests

Get rid of unneeded TestExpectations files.

  • platform/mac-mavericks/TestExpectations: Removed.
  • platform/mac-yosemite/TestExpectations: Removed.
  • platform/mac/TestExpectations:
10:58 PM Changeset in webkit [189424] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r189407): webgl/1.0.3/conformance/extensions/webgl-draw-buffers.html
fails on Mavericks.

  • platform/mac/TestExpectations: Mark it as such.
10:49 PM Changeset in webkit [189423] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Newly imported http/tests/w3c/html/semantics/forms/textfieldselection/selection.html
is flaky.

10:43 PM Changeset in webkit [189422] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Update expectations for color input tests, which don't work in Mac WebKit1.

10:33 PM Changeset in webkit [189421] by mmaxfield@apple.com
  • 9 edits
    3 adds in trunk

Crash when font completes downloading after calling 2D canvas setText() multiple times
https://bugs.webkit.org/show_bug.cgi?id=148789

Reviewed by Darin Adler.

Source/WebCore:

The CSSFontSelector has a list of clients, and when fonts complete downloading, these
clients get a call back. CanvasRenderingContext2D::State is one such of these clients. However,
the CSSFontSelector may be destroyed and recreated at any time. We were getting into a case
where multiple CSSFontSelectors were thinking that the same CanvasRenderingContext2D::State were
their client. When the CanvasRenderingContext2D::State was destroyed, it only unregistered
itself from one of the CSSFontSelectors, which means the CSSFontSelector left over has a dangling
pointer to it.

The solution is to implement a new helper class, FontProxy, to hold the
CanvasRenderingContext2D::State's font, and maintain the invariant that this object is always
registered to exactly one CSSFontSelector, and this CSSFontSelector is the one which is associated
with the FontProxy's FontCascade object. This patch maintains this invariant, as well as protecting
all access to the State's FontCascade object so no one can reach in and change it without going
through functions which maintain the invariant.

Test: fast/canvas/font-selector-crash.html

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::registerForInvalidationCallbacks):
(WebCore::CSSFontSelector::unregisterForInvalidationCallbacks):
(WebCore::CSSFontSelector::dispatchInvalidationCallbacks):

  • css/CSSFontSelector.h:
  • dom/Document.cpp:

(WebCore::Document::fontsNeedUpdate):
(WebCore::Document::fontSelector):
(WebCore::Document::clearStyleResolver):

  • dom/Document.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::State::operator=):
(WebCore::CanvasRenderingContext2D::FontProxy::~FontProxy):
(WebCore::CanvasRenderingContext2D::FontProxy::FontProxy):
(WebCore::CanvasRenderingContext2D::FontProxy::update):
(WebCore::CanvasRenderingContext2D::FontProxy::fontsNeedUpdate):
(WebCore::CanvasRenderingContext2D::FontProxy::initialize):
(WebCore::CanvasRenderingContext2D::FontProxy::fontMetrics):
(WebCore::CanvasRenderingContext2D::FontProxy::fontDescription):
(WebCore::CanvasRenderingContext2D::FontProxy::width):
(WebCore::CanvasRenderingContext2D::FontProxy::drawBidiText):
(WebCore::CanvasRenderingContext2D::font):
(WebCore::CanvasRenderingContext2D::setFont):
(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
(WebCore::CanvasRenderingContext2D::State::~State): Deleted.
(WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Deleted.
(WebCore::CanvasRenderingContext2D::accessFont): Deleted.

  • html/canvas/CanvasRenderingContext2D.h:
  • platform/graphics/FontSelector.h:

LayoutTests:

  • fast/canvas/font-selector-crash-expected.txt: Added.
  • fast/canvas/font-selector-crash.html: Added.
  • fast/canvas/resources/font-selector-crash.ttf: Added.
10:29 PM Changeset in webkit [189420] by BJ Burg
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: combine Test.html resources to make tests run faster
https://bugs.webkit.org/show_bug.cgi?id=148726

Reviewed by Timothy Hatcher.

In an attempt to make inspector tests run faster, always combine resources
on the Test.html page. This cuts down from 110+ resource loads to 5 loads.

To avoid name clashes, add the 'Combined' suffix to files that would clash
with uncombined Test resources, and add the 'Test' prefix when combining
or minifying files that would clash with production minification. So, it
would be possible for Main.html and Test.html to have different minified
versions of CodeMirror or other external libraries if they use different
subsets.

Combining is unlikely to make debugging tests more difficult, since almost
all test code is marshalled and eval'd into existence anyway.

  • Configurations/WebInspectorUIFramework.xcconfig:
  • Scripts/combine-resources.pl: Drive-by spelling.

(concatenateFiles):
(concatinateFiles): Deleted.

  • Scripts/copy-user-interface-resources-dryrun.rb:
  • Scripts/copy-user-interface-resources.pl:

Drive-by spelling. Add a new code path for combining Test resources, which
doesn't require minification or handling CSS, images, or most externals.

  • WebInspectorUI.vcxproj/build-webinspectorui.pl:

Always combine Test.html, but also ditto everything into place for
engineering builds.

10:29 PM Changeset in webkit [189419] by commit-queue@webkit.org
  • 22 edits
    3 adds in trunk

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

Made several event dispatch tests assert (Requested by ap on
#webkit).

Reverted changeset:

"dispatchEvent() should throw an InvalidStateError if the
event's initialized flag is not set"
https://bugs.webkit.org/show_bug.cgi?id=148800
http://trac.webkit.org/changeset/189386

9:20 PM Changeset in webkit [189418] by Alan Bujtas
  • 10 edits
    9 adds
    47 deletes in trunk/LayoutTests

Repaint cleanup:

layer-child-outline.html -> reftest
layer-full-repaint.html -> reftest
layer-hide-when-needs-layout.html -> reftest
layer-visibility.html -> reftest
layout-state-only-positioned.html -> reftest
layout-state-relative.html -> reftest
layout-state-scrolloffset.html -> reftest
layout-state-scrolloffset2.html -> reftest
layout-state-scrolloffset3.html -> reftest

  • fast/repaint/layer-child-outline-expected.html: Added.
  • fast/repaint/layer-child-outline.html:
  • fast/repaint/layer-full-repaint-expected.html: Added.
  • fast/repaint/layer-full-repaint-expected.txt: Removed.
  • fast/repaint/layer-full-repaint.html:
  • fast/repaint/layer-hide-when-needs-layout-expected.html: Added.
  • fast/repaint/layer-hide-when-needs-layout-expected.png: Removed.
  • fast/repaint/layer-hide-when-needs-layout-expected.txt: Removed.
  • fast/repaint/layer-hide-when-needs-layout.html:
  • fast/repaint/layer-visibility-expected.html: Added.
  • fast/repaint/layer-visibility-expected.png: Removed.
  • fast/repaint/layer-visibility-expected.txt: Removed.
  • fast/repaint/layer-visibility.html:
  • fast/repaint/layout-state-only-positioned-expected.html: Added.
  • fast/repaint/layout-state-only-positioned-expected.txt: Removed.
  • fast/repaint/layout-state-only-positioned.html:
  • fast/repaint/layout-state-relative-expected.html: Added.
  • fast/repaint/layout-state-relative.html:
  • fast/repaint/layout-state-scrolloffset-expected.html: Added.
  • fast/repaint/layout-state-scrolloffset.html:
  • fast/repaint/layout-state-scrolloffset2-expected.html: Added.
  • fast/repaint/layout-state-scrolloffset2.html:
  • fast/repaint/layout-state-scrolloffset3-expected.html: Added.
  • fast/repaint/layout-state-scrolloffset3.html:
  • platform/efl/fast/repaint/layer-child-outline-expected.png: Removed.
  • platform/efl/fast/repaint/layer-child-outline-expected.txt: Removed.
  • platform/efl/fast/repaint/layout-state-only-positioned-expected.png: Removed.
  • platform/efl/fast/repaint/layout-state-relative-expected.png: Removed.
  • platform/efl/fast/repaint/layout-state-relative-expected.txt: Removed.
  • platform/efl/fast/repaint/layout-state-scrolloffset-expected.png: Removed.
  • platform/efl/fast/repaint/layout-state-scrolloffset-expected.txt: Removed.
  • platform/efl/fast/repaint/layout-state-scrolloffset2-expected.png: Removed.
  • platform/efl/fast/repaint/layout-state-scrolloffset2-expected.txt: Removed.
  • platform/efl/fast/repaint/layout-state-scrolloffset3-expected.png: Removed.
  • platform/efl/fast/repaint/layout-state-scrolloffset3-expected.txt: Removed.
  • platform/gtk/fast/repaint/layer-child-outline-expected.png: Removed.
  • platform/gtk/fast/repaint/layer-child-outline-expected.txt: Removed.
  • platform/gtk/fast/repaint/layout-state-only-positioned-expected.png: Removed.
  • platform/gtk/fast/repaint/layout-state-relative-expected.png: Removed.
  • platform/gtk/fast/repaint/layout-state-relative-expected.txt: Removed.
  • platform/gtk/fast/repaint/layout-state-scrolloffset-expected.png: Removed.
  • platform/gtk/fast/repaint/layout-state-scrolloffset-expected.txt: Removed.
  • platform/gtk/fast/repaint/layout-state-scrolloffset2-expected.png: Removed.
  • platform/gtk/fast/repaint/layout-state-scrolloffset2-expected.txt: Removed.
  • platform/gtk/fast/repaint/layout-state-scrolloffset3-expected.png: Removed.
  • platform/gtk/fast/repaint/layout-state-scrolloffset3-expected.txt: Removed.
  • platform/mac-wk2/fast/repaint/layer-hide-when-needs-layout-expected.txt: Removed.
  • platform/mac/fast/repaint/layer-child-outline-expected.png: Removed.
  • platform/mac/fast/repaint/layer-child-outline-expected.txt: Removed.
  • platform/mac/fast/repaint/layer-hide-when-needs-layout-expected.png: Removed.
  • platform/mac/fast/repaint/layer-visibility-expected.png: Removed.
  • platform/mac/fast/repaint/layout-state-only-positioned-expected.png: Removed.
  • platform/mac/fast/repaint/layout-state-relative-expected.png: Removed.
  • platform/mac/fast/repaint/layout-state-relative-expected.txt: Removed.
  • platform/mac/fast/repaint/layout-state-scrolloffset-expected.png: Removed.
  • platform/mac/fast/repaint/layout-state-scrolloffset-expected.txt: Removed.
  • platform/mac/fast/repaint/layout-state-scrolloffset2-expected.png: Removed.
  • platform/mac/fast/repaint/layout-state-scrolloffset2-expected.txt: Removed.
  • platform/mac/fast/repaint/layout-state-scrolloffset3-expected.png: Removed.
  • platform/mac/fast/repaint/layout-state-scrolloffset3-expected.txt: Removed.
  • platform/win/fast/repaint/layer-child-outline-expected.txt: Removed.
  • platform/win/fast/repaint/layout-state-relative-expected.txt: Removed.
  • platform/win/fast/repaint/layout-state-scrolloffset-expected.txt: Removed.
  • platform/win/fast/repaint/layout-state-scrolloffset2-expected.txt: Removed.
  • platform/win/fast/repaint/layout-state-scrolloffset3-expected.txt: Removed.
8:10 PM Changeset in webkit [189417] by mark.lam@apple.com
  • 15 edits
    2 deletes in trunk/Source/JavaScriptCore

Rollout r189411, r189413: Broke JSC tests.

Not reviewed.

  • API/tests/PingPongStackOverflowTest.cpp: Removed.
  • API/tests/PingPongStackOverflowTest.h: Removed.
  • API/tests/testapi.c:

(main):

(JSC::ExecState::operator=):
(JSC::ExecState::callerFrame):
(JSC::ExecState::argIndexForRegister):
(JSC::ExecState::callerFrameOrVMEntryFrame):
(JSC::ExecState::callerFrameAndPC):

  • interpreter/Interpreter.cpp:

(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):

  • interpreter/Interpreter.h:

(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
(JSC::Interpreter::sampler):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::jumpToExceptionHandler):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

  • jit/JITExceptions.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOperations.cpp:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/VM.h:

(JSC::VM::exceptionOffset):
(JSC::VM::vmEntryFrameForThrowOffset):
(JSC::VM::topVMEntryFrameOffset):
(JSC::VM::callFrameForThrowOffset):

7:38 PM Changeset in webkit [189416] by commit-queue@webkit.org
  • 6 edits
    11 adds
    1 delete in trunk

Web Inspector: Add tests for DOM highlight commands
https://bugs.webkit.org/show_bug.cgi?id=148786

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-04
Reviewed by Timothy Hatcher.

Source/WebCore:

Tests: inspector/dom/hideHighlight.html

inspector/dom/highlightFrame.html
inspector/dom/highlightNode.html
inspector/dom/highlightQuad.html
inspector/dom/highlightRect.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightFrame):
Include an error if a frame is not found.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::highlightQuad):
Should have been checking the usePageCoordinates state of the incoming
highlight configuration, not the one that will be replaced.

LayoutTests:

  • inspector/dom/hideHighlight-expected.txt: Added.
  • inspector/dom/hideHighlight.html: Added.
  • inspector/dom/highlightFrame-expected.txt: Added.
  • inspector/dom/highlightFrame.html: Added.
  • inspector/dom/highlightNode-expected.txt: Added.
  • inspector/dom/highlightNode.html: Added.
  • inspector/dom/highlightQuad-expected.txt: Added.
  • inspector/dom/highlightQuad.html: Added.
  • inspector/dom/highlightRect-expected.txt: Added.
  • inspector/dom/highlightRect.html: Added.
  • inspector/dom/highlightSelector-expected.txt:
  • inspector/dom/highlightSelector.html:
  • inspector/dom/resources/highlight-iframe.html: Renamed from LayoutTests/inspector/dom/resources/highlightSelector-iframe.html.
7:34 PM Changeset in webkit [189415] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Web Inspector: Test Runtime.saveResult and $n values
https://bugs.webkit.org/show_bug.cgi?id=148837

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-04
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

(InjectedScript.prototype._evaluateOn):
We don't need to be in the console object group to put the value
in the saved results list. That strong reference will ensure $n
values are always alive even if other object groups were used
when creating and subsequently released.

Source/WebInspectorUI:

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass):
Initialize the dump logging function different if we are in tests or not.
When in tests, using console.log as well as dumping system activity to
the system console results in an infinite loop of logging!

(InspectorBackendClass.prototype.dispatch):
(InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
Use the logging function we figured out earlier.

LayoutTests:

  • inspector/runtime/parse.html: Remove unncessary debug flag.
  • inspector/runtime/saveResult-expected.txt: Added.
  • inspector/runtime/saveResult.html: Added.
7:30 PM Changeset in webkit [189414] by Csaba Osztrogonác
  • 6 edits in trunk/Source

Remove unnecessary compiler guards from mm files
https://bugs.webkit.org/show_bug.cgi?id=148797

Reviewed by Dan Bernstein.

Source/WebCore:

  • bindings/objc/DOMInternal.mm:
  • bridge/objc/objc_instance.mm:

Source/WebKit/mac:

  • Plugins/WebBasePluginPackage.mm:
  • Plugins/WebNetscapePluginPackage.mm:
6:23 PM Changeset in webkit [189413] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Follow up] StackOverflow stack unwinding should stop at native frames.
https://bugs.webkit.org/show_bug.cgi?id=148749

Rubber stamped by Michael Saboff.

Speculative fix for jsc test failure.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::unwind):

6:13 PM Changeset in webkit [189412] by Chris Dumez
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed, land baseline for one of the newly imported w3c tests.

  • http/tests/w3c/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe-expected.txt: Added.
6:03 PM Changeset in webkit [189411] by mark.lam@apple.com
  • 15 edits
    2 adds in trunk/Source/JavaScriptCore

StackOverflow stack unwinding should stop at native frames.
https://bugs.webkit.org/show_bug.cgi?id=148749

Reviewed by Michael Saboff.

In the present code, after ping-pong'ing back and forth between native and JS
code a few times, if we have a stack overflow on re-entry into the VM to run
JS code's whose stack frame would overflow the JS stack, the code will end up
unwinding past the native function that is making the call to re-enter the VM.
As a result, any clean up code (e.g. destructors for stack variables) in the
skipped native function frame (and its chain of native function callers) will
not be called.

This patch is based on the Michael Saboff's fix of this issue landed on the
jsc-tailcall branch: http://trac.webkit.org/changeset/188555

We now check for the case where there are no JS frames to unwind since the
last native frame, and treat the exception as an unhandled exception. The
native function is responsible for further propagating the exception if needed.

Other supporting work:

  1. Remove vm->vmEntryFrameForThrow. It should always be the same as vm->topVMEntryFrame.
  2. Change operationThrowStackOverflowError() to use the throwStackOverflowError() helper function instead of rolling its own.
  3. In the LLINT vm entry, set vm->topVMEntryFrame as soon as the entry frame is fully initialized (instead of waiting). With this, we can always reliably tell which VMEntryFrame is on top.
  4. Added a test that exercises this edge case. The test should not hang or crash.
  • API/tests/PingPongStackOverflowTest.cpp: Added.

(PingPongStackOverflowObject_hasInstance):
(testPingPongStackOverflow):

  • API/tests/PingPongStackOverflowTest.h: Added.
  • API/tests/testapi.c:

(main):

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):
(JSC::getStackFrameCodeType):
(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):

  • interpreter/Interpreter.h:

(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
(JSC::NativeCallFrameTracerWithRestore::NativeCallFrameTracerWithRestore):
(JSC::NativeCallFrameTracerWithRestore::~NativeCallFrameTracerWithRestore):
(JSC::Interpreter::sampler):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::jumpToExceptionHandler):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

  • jit/JITExceptions.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOperations.cpp:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/VM.h:

(JSC::VM::exceptionOffset):
(JSC::VM::callFrameForThrowOffset):
(JSC::VM::vmEntryFrameForThrowOffset): Deleted.
(JSC::VM::topVMEntryFrameOffset): Deleted.

5:58 PM Changeset in webkit [189410] by jhoneycutt@apple.com
  • 1 edit
    1 add in trunk

[iOS] Need a test for bug #145539: Uploading an animated GIF from the
photo library uploads a JPEG
https://bugs.webkit.org/show_bug.cgi?id=148849

Reviewed by Daniel Bates.

  • ManualTests/ios/image-file-uploads-as-original-type.html: Added.

On the Mac, file upload tests use EventSender::beginDragWithFiles. This
functionality doesn't exist on iOS, so we'll add a manual test.
This tests that the first few bytes of the selected file are "GIF".

5:46 PM Changeset in webkit [189409] by basile_clement@apple.com
  • 2 edits in trunk/Tools

Unreviewed, change my email address.

  • Scripts/webkitpy/common/config/contributors.json:
5:34 PM Changeset in webkit [189408] by jhoneycutt@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Import a Chromium <input type=color> test.
https://bugs.webkit.org/show_bug.cgi?id=148844

Reviewed by Andy Estes.

  • fast/forms/color/color-suggestion-picker-crash-on-set-value-expected.txt: Added.
  • fast/forms/color/color-suggestion-picker-crash-on-set-value.html: Added.
5:32 PM Changeset in webkit [189407] by dino@apple.com
  • 22 edits in trunk/LayoutTests

[WebGL] Update WebGL 1.0.3 conformance tests
https://bugs.webkit.org/show_bug.cgi?id=148858
<rdar://problem/22588694>

Reviewed by Beth Dakin.

Update to the final version of the 1.0.3 WebGL conformance suite.
At the same time, unskip the tests (other than the one that crashes)
and check in results that we can use as progressions (later).

  • platform/mac/TestExpectations:
  • webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt:
  • webgl/1.0.3/conformance/extensions/webgl-compressed-texture-size-limit-expected.txt:
  • webgl/1.0.3/conformance/extensions/webgl-draw-buffers-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shader-struct-scope-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shaders-with-invariance-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/shaders-with-name-conflicts-expected.txt:
  • webgl/1.0.3/conformance/glsl/misc/struct-nesting-of-variable-names-expected.txt:
  • webgl/1.0.3/conformance/renderbuffers/feedback-loop-expected.txt:
  • webgl/1.0.3/conformance/textures/texture-copying-feedback-loops-expected.txt:
  • webgl/1.0.3/resources/webgl_test_files/conformance/extensions/angle-instanced-arrays.html:
  • webgl/1.0.3/resources/webgl_test_files/conformance/glsl/misc/shader-with-for-loop.html:
  • webgl/1.0.3/resources/webgl_test_files/conformance/glsl/misc/ternary-operators-in-global-initializers.html:
  • webgl/1.0.3/resources/webgl_test_files/conformance/misc/bad-arguments-test.html:
  • webgl/1.0.3/resources/webgl_test_files/conformance/more/functions/uniformMatrixBadArgs.html:
  • webgl/1.0.3/resources/webgl_test_files/conformance/more/unit.js:
  • webgl/1.0.3/resources/webgl_test_files/conformance/ogles/ogles-utils.js:

(OpenGLESTestRunner):

  • webgl/1.0.3/resources/webgl_test_files/conformance/textures/tex-image-with-invalid-data.html:
  • webgl/1.0.3/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:
  • webgl/1.0.3/resources/webgl_test_files/conformance/typedarrays/resources/typed-array-worker.js:

(onmessage):

  • webgl/1.0.3/resources/webgl_test_files/webgl-conformance-tests.html:
5:23 PM Changeset in webkit [189406] by Beth Dakin
  • 3 edits in trunk/LayoutTests

Forgot to mark these expectations.

5:14 PM Changeset in webkit [189405] by commit-queue@webkit.org
  • 7 edits in trunk/Source/JavaScriptCore

Implement the division and modulo instructions in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148791

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-04
Reviewed by Geoffrey Garen.

This patch implements the unsigned division, signed modulo, and unsigned
modulo instructions for 32-bit integers in WebAssembly. It also
implements the context pool index instructions, which are needed for
testing. (pack-asmjs puts numbers that are used more than once in the
constant pool.)

  • assembler/X86Assembler.h:

(JSC::X86Assembler::divl_r):

  • tests/stress/wasm-arithmetic.js:
  • tests/stress/wasm-arithmetic.wasm:
  • wasm/WASMFunctionCompiler.h:

(JSC::operationMod):
(JSC::operationUnsignedDiv):
(JSC::operationUnsignedMod):
(JSC::WASMFunctionCompiler::buildBinaryI32):
(JSC::WASMFunctionCompiler::callOperation):

  • wasm/WASMFunctionParser.cpp:

(JSC::WASMFunctionParser::parseExpressionI32):
(JSC::WASMFunctionParser::parseConstantPoolIndexExpressionI32):

  • wasm/WASMFunctionParser.h:
5:12 PM Changeset in webkit [189404] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, add bug number for http/tests/w3c/html/semantics/embedded-content/the-video-element/video_initially_paused.html

5:06 PM Changeset in webkit [189403] by ap@apple.com
  • 4 edits in trunk/LayoutTests

Fix lint warnings on iOS.

This enables the correct expectation for fast/events/scroll-in-scaled-page-with-overflow-hidden.html.
As for other tests, I went with the expectation that was currently in effect.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
4:57 PM Changeset in webkit [189402] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, add bug number for http/tests/w3c/html/semantics/embedded-content/the-embed-element/embed-represent-nothing*.html

4:50 PM Changeset in webkit [189401] by eric.carlson@apple.com
  • 3 edits
    2 adds in trunk

[mediacontrols] Test AirPlay picker button
https://bugs.webkit.org/show_bug.cgi?id=148836

Reviewed by Dean Jackson.

Source/WebCore:

Test: media/controls/airplay-picker.html

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.getCurrentControlsStatus.elements.forEach.):
(Controller.prototype.getCurrentControlsStatus):

LayoutTests:

  • media/controls/airplay-picker-expected.txt: New test.
  • media/controls/airplay-picker.html: New results.
4:48 PM Changeset in webkit [189400] by Beth Dakin
  • 8 edits
    2 adds in trunk

Should have a test to make sure links don't navigate after a cancelled force
click
https://bugs.webkit.org/show_bug.cgi?id=148846

Reviewed by Tim Horton.

Tools:

New EventSender function for a started then cancelled force click.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::mouseForceClick):
(WTR::EventSendingController::startAndCancelMouseForceClick):
(WTR::EventSendingController::mouseForceDown):

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseForceClick):
(WTR::EventSenderProxy::startAndCancelMouseForceClick):
(WTR::EventSenderProxy::mouseForceDown):
(WTR::EventSenderProxy::mouseMoveTo):

LayoutTests:

  • fast/events/cancelled-force-click-link-navigation-expected.txt: Added.
  • fast/events/cancelled-force-click-link-navigation.html: Added.
4:35 PM Changeset in webkit [189399] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, add bug number for http/tests/w3c/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html

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

Fix debug output for an eval call
https://bugs.webkit.org/show_bug.cgi?id=148839

Reviewed by Filip Pizlo.

  • jit/ThunkGenerators.cpp:

(JSC::virtualThunkFor):

4:07 PM Changeset in webkit [189397] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, add bug number for http/tests/w3c/html/semantics/document-metadata/the-style-element/html_style_in_comment.html

3:47 PM Changeset in webkit [189396] by commit-queue@webkit.org
  • 7 edits in trunk/Source/JavaScriptCore

Implement the signed division instruction in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148772

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-04
Reviewed by Geoffrey Garen.

This patch implements the signed division instruction in WebAssembly
for 32-bit integers. We use the IDIV instruction on x86 and x86-64 and
use a C function on all other platforms. We throw an exception if

  • the denominator is zero, or
  • the numerator is -231 and the denominator is -1.
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • tests/stress/wasm-arithmetic.js:

(shouldBe):
(shouldThrow):

  • tests/stress/wasm-arithmetic.wasm:
  • wasm/WASMFunctionCompiler.h:

(JSC::operationDiv):
(JSC::WASMFunctionCompiler::endFunction):
(JSC::WASMFunctionCompiler::buildBinaryI32):
(JSC::WASMFunctionCompiler::appendCall):
(JSC::WASMFunctionCompiler::appendCallWithExceptionCheck):
(JSC::WASMFunctionCompiler::callOperation):
(JSC::WASMFunctionCompiler::throwStackOverflowError): Deleted.

  • wasm/WASMFunctionParser.cpp:

(JSC::WASMFunctionParser::parseExpressionI32):

3:41 PM Changeset in webkit [189395] by Beth Dakin
  • 8 edits in trunk/LayoutTests

These tests should be skipped at the LayoutTests level and re-enabled for
WK2.

Rubber-stamped by Tim Horton.

  • TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-mavericks/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:
3:26 PM Changeset in webkit [189394] by rniwa@webkit.org
  • 2 edits
    1407 adds in trunk/LayoutTests

Import html/semantics test cases from W3C
https://bugs.webkit.org/show_bug.cgi?id=148822
<rdar://problem/22583647>

Patch by Chris Dumez <Chris Dumez> on 2015-09-04
Reviewed by Ryosuke Niwa.

Import 486 html/semantics test cases from W3C.
They take ~30 seconds to run on my MacBookPro.

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

Fix style error in last commit.

  • swipe/resources/swipe-test.js:

(eventQueue.callAfterEventDispatch):

3:09 PM Changeset in webkit [189392] by timothy_horton@apple.com
  • 7 edits
    2 adds in trunk

Add a test for r179736 (programmatic navigation during swipe causing a crash)
https://bugs.webkit.org/show_bug.cgi?id=148830

Reviewed by Beth Dakin.

  • swipe/basic-cached-back-swipe.html:
  • swipe/pushState-cached-back-swipe.html:
  • swipe/resources/swipe-test.js:

(eventQueue.callAfterEventDispatch):
(initializeSwipeTest):
(initializeLog): Deleted.

  • swipe/swipe-start-hysteresis-failures.html:

Refactor some things.
Make sure that we reset the back forward list before testing, because we expect
to start at the "first" item, but there is actually a about:blank before us.

  • swipe/pushState-programmatic-back-while-swiping-crash-expected.txt: Added.
  • swipe/pushState-programmatic-back-while-swiping-crash.html: Added.

Add a test that ensures that r179736 does not recur.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):
Make sure that TestRunner callbacks don't leak between tests!

3:08 PM Changeset in webkit [189391] by Beth Dakin
  • 8 edits
    2 adds in trunk/LayoutTests

Should have a test for selection behavior when force clicking text
https://bugs.webkit.org/show_bug.cgi?id=148832

Reviewed by Tim Horton.

  • fast/events/force-click-text-selection-behavior-expected.txt: Added.
  • fast/events/force-click-text-selection-behavior.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/mac-mavericks/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:
2:53 PM Changeset in webkit [189390] by andersca@apple.com
  • 2 edits in trunk/Tools

It should be possible to pass relative HTTP test paths to DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=148825
<rdar://problem/22583866>

Reviewed by Tim Horton.

Convert the path to an absolute path if needed.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(computeTestURL):

2:28 PM Changeset in webkit [189389] by Beth Dakin
  • 7 edits
    2 adds in trunk/LayoutTests

Should have a test for selection behavior when deep clicking a link
https://bugs.webkit.org/show_bug.cgi?id=148827

Reviewed by Tim Horton.

  • fast/events/force-click-link-selection-behavior-expected.txt: Added.
  • fast/events/force-click-link-selection-behavior.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/mac-mavericks/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
2:19 PM Changeset in webkit [189388] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Rolling this back in since these tests do still fail on the bots.

  • platform/mac-wk2/TestExpectations:
2:14 PM Changeset in webkit [189387] by rniwa@webkit.org
  • 1 edit
    1 delete in trunk/LayoutTests/imported/w3c

Import new multicolumn layout tests from CSS WG testss
https://bugs.webkit.org/show_bug.cgi?id=148805

Remove a test that didn't have any expected result.

  • css/css-multicol-1/multicol-rule-shorthand-2.xht: Removed.
2:13 PM Changeset in webkit [189386] by Chris Dumez
  • 22 edits
    3 deletes in trunk

dispatchEvent() should throw an InvalidStateError if the event's initialized flag is not set
https://bugs.webkit.org/show_bug.cgi?id=148800
<rdar://problem/22565782>
<rdar://problem/22565485>

Reviewed by Geoffrey Garen.

Source/WebCore:

dispatchEvent() should throw an InvalidStateError if the event's
initialized flag is not set or its dispatch flag is set, and should
allow dispatching events with an empty type as long as it is
initialized:
https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent (step 1)

Previously, WebKit relied on the event type being empty to throw a
UNSPECIFIED_EVENT_TYPE_ERR: DOM Events Exception 0. However, this
exception type is outdated and initializing Event.type to an empty
string is legal.

No new tests, already covered by existing tests that were rebaselined.

  • dom/Event.cpp:

(WebCore::Event::Event):
(WebCore::Event::initEvent):

  • dom/Event.h:

(WebCore::Event::isInitialized):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::dispatchEvent):

LayoutTests:

  • dom/html/level2/events/dispatchEvent02-expected.txt:
  • dom/html/level2/events/dispatchEvent03-expected.txt:
  • dom/html/level2/events/dispatchEvent04-expected.txt:
  • dom/html/level2/events/dispatchEvent05-expected.txt:
  • dom/html/level2/events/dispatchEvent06-expected.txt:
  • dom/html/level2/events/dispatchEvent07-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent02-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent03-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent04-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent05-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent06-expected.txt:
  • dom/xhtml/level2/events/dispatchEvent07-expected.txt:

Rebaseline, those tests are outdated and their expected results no
longer matches the behavior of the latest DOM specification.

  • fast/dom/DOMException/EventException-expected.txt: Removed.
  • fast/dom/DOMException/EventException.html: Removed.
  • fast/dom/DOMException/resources/EventException.js: Removed.

Drop this test we no longer throw an EventException in this case.

  • fast/dom/Window/dispatchEvent-expected.txt:

Rebaseline.

  • fast/events/dispatch-event-being-dispatched-expected.txt:
  • fast/events/dispatch-event-being-dispatched.html:

Fix the test to expect the new exception types.

  • http/tests/w3c/dom/events/Event-type-empty-expected.txt:
  • http/tests/w3c/dom/events/EventTarget-dispatchEvent-expected.txt:

Rebaseline.

2:07 PM Changeset in webkit [189385] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Clean up and modernize DOMTreeManager
https://bugs.webkit.org/show_bug.cgi?id=148821

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-04
Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager.prototype.requestDocument.onDocumentAvailable):
(WebInspector.DOMTreeManager.prototype.requestDocument):
(WebInspector.DOMTreeManager.prototype.pushNodeByPathToFrontend):
(WebInspector.DOMTreeManager.prototype._wrapClientCallback):
(WebInspector.DOMTreeManager.prototype._attributeModified):
(WebInspector.DOMTreeManager.prototype._attributeRemoved):
(WebInspector.DOMTreeManager.prototype._inlineStyleInvalidated):
(WebInspector.DOMTreeManager.prototype._loadNodeAttributes):
(WebInspector.DOMTreeManager.prototype.cancelSearch):
(WebInspector.DOMTreeManager.prototype.querySelector):
(WebInspector.DOMTreeManager.prototype.querySelectorAll):
(WebInspector.DOMTreeManager.prototype.highlightDOMNode):
(WebInspector.DOMTreeManager.prototype._buildHighlightConfig):
Cleanup and modernize where appropriate.

  • UserInterface/Views/SearchSidebarPanel.js:

(WebInspector.SearchSidebarPanel.prototype.performSearch):
Callback is now required.

2:04 PM Changeset in webkit [189384] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Triage some of the failures of the CSS WG's multicolumn tests imported in r189364.

2:04 PM Changeset in webkit [189383] by jmarcell@apple.com
  • 2 edits in trunk/Tools

Fix Swift unit tests for prepare-ChangeLog.
https://bugs.webkit.org/show_bug.cgi?id=148817

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/swift_unittests-expected.txt: Fixed

Swift unit tests for prepare-ChangeLog.

2:00 PM Changeset in webkit [189382] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk/Source/JavaScriptCore

Implement the GetLocal and SetLocal instructions in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148793

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-04
Reviewed by Saam Barati.

This patch implements the GetLocal and SetLocal instructions for locals
of type int32 in WebAssembly. A "local" in this context is either an
argument or a local variable.

  • tests/stress/wasm-locals.js: Added.

(shouldBe):

  • tests/stress/wasm-locals.wasm: Added.
  • wasm/WASMFunctionCompiler.h:

(JSC::WASMFunctionCompiler::buildSetLocal):
(JSC::WASMFunctionCompiler::buildGetLocal):

  • wasm/WASMFunctionParser.cpp:

(JSC::WASMFunctionParser::parseSetLocalStatement):
(JSC::WASMFunctionParser::parseExpressionI32):
(JSC::WASMFunctionParser::parseGetLocalExpressionI32):

  • wasm/WASMFunctionParser.h:
  • wasm/WASMFunctionSyntaxChecker.h:

(JSC::WASMFunctionSyntaxChecker::buildSetLocal):
(JSC::WASMFunctionSyntaxChecker::buildGetLocal):

1:59 PM Changeset in webkit [189381] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test Serbian ".срб" domain support
https://bugs.webkit.org/show_bug.cgi?id=148761
<rdar://problem/22569849>

Reviewed by Tim Horton.

  • fast/url/user-visible/srb-expected.txt: Added.
  • fast/url/user-visible/srb.html: Added.
1:48 PM Changeset in webkit [189380] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Tim Horton.

The bots appear to have a new enough SDK now.

  • platform/mac-wk2/TestExpectations:
1:47 PM Changeset in webkit [189379] by Lucas Forschler
  • 3 edits in trunk/Tools

Modifications to the webkit-nightly logic.

  • WebKitLauncher/WebKitNightlyEnablerSparkle.m:

(updateAlertPanel):

  • WebKitLauncher/main.m:

(displayErrorAndQuit):

1:24 PM Changeset in webkit [189378] by Beth Dakin
  • 4 edits in trunk

Speculative build fix.

Source/WebCore:

  • platform/spi/mac/NSEventSPI.h:

Tools:

  • WebKitTestRunner/mac/EventSenderProxy.mm:
1:20 PM Changeset in webkit [189377] by Alan Bujtas
  • 10 edits
    9 adds
    45 deletes in trunk/LayoutTests

Repaint cleanup:
gradients-em-stops-repaint.html -> reftest
hover-pseudo-borders.html -> reftest
inline-block-resize.html -> reftest
inline-color-change.html -> reftest
inline-outline-repaint.html -> reftest
inline-relative-positioned.html -> reftest
intermediate-layout-position-clip.html -> reftest
intermediate-layout-position.html -> reftest
invisible-objects.html -> reftest

Unreviewed.

  • fast/repaint/gradients-em-stops-repaint-expected.html: Added.
  • fast/repaint/gradients-em-stops-repaint.html:
  • fast/repaint/hover-pseudo-borders-expected.html: Added.
  • fast/repaint/hover-pseudo-borders.html:
  • fast/repaint/inline-block-resize-expected.html: Added.
  • fast/repaint/inline-block-resize-expected.png: Removed.
  • fast/repaint/inline-block-resize-expected.txt: Removed.
  • fast/repaint/inline-block-resize.html:
  • fast/repaint/inline-color-change-expected.html: Added.
  • fast/repaint/inline-color-change.html:
  • fast/repaint/inline-outline-repaint-expected.html: Added.
  • fast/repaint/inline-outline-repaint.html:
  • fast/repaint/inline-relative-positioned-expected.html: Added.
  • fast/repaint/inline-relative-positioned-expected.png: Removed.
  • fast/repaint/inline-relative-positioned-expected.txt: Removed.
  • fast/repaint/inline-relative-positioned.html:
  • fast/repaint/intermediate-layout-position-clip-expected.html: Added.
  • fast/repaint/intermediate-layout-position-clip-expected.png: Removed.
  • fast/repaint/intermediate-layout-position-clip-expected.txt: Removed.
  • fast/repaint/intermediate-layout-position-clip.html:
  • fast/repaint/intermediate-layout-position-expected.html: Added.
  • fast/repaint/intermediate-layout-position-expected.txt: Removed.
  • fast/repaint/intermediate-layout-position.html:
  • fast/repaint/invisible-objects-expected.html: Added.
  • fast/repaint/invisible-objects-expected.txt: Removed.
  • fast/repaint/invisible-objects.html:
  • platform/efl/fast/repaint/gradients-em-stops-repaint-expected.png: Removed.
  • platform/efl/fast/repaint/gradients-em-stops-repaint-expected.txt: Removed.
  • platform/efl/fast/repaint/hover-pseudo-borders-expected.png: Removed.
  • platform/efl/fast/repaint/hover-pseudo-borders-expected.txt: Removed.
  • platform/efl/fast/repaint/inline-color-change-expected.png: Removed.
  • platform/efl/fast/repaint/inline-color-change-expected.txt: Removed.
  • platform/efl/fast/repaint/inline-outline-repaint-expected.png: Removed.
  • platform/efl/fast/repaint/inline-outline-repaint-expected.txt: Removed.
  • platform/efl/fast/repaint/inline-relative-positioned-expected.txt: Removed.
  • platform/efl/fast/repaint/intermediate-layout-position-expected.png: Removed.
  • platform/gtk/fast/repaint/gradients-em-stops-repaint-expected.png: Removed.
  • platform/gtk/fast/repaint/gradients-em-stops-repaint-expected.txt: Removed.
  • platform/gtk/fast/repaint/hover-pseudo-borders-expected.png: Removed.
  • platform/gtk/fast/repaint/hover-pseudo-borders-expected.txt: Removed.
  • platform/gtk/fast/repaint/inline-color-change-expected.png: Removed.
  • platform/gtk/fast/repaint/inline-color-change-expected.txt: Removed.
  • platform/gtk/fast/repaint/inline-outline-repaint-expected.png: Removed.
  • platform/gtk/fast/repaint/inline-outline-repaint-expected.txt: Removed.
  • platform/gtk/fast/repaint/inline-relative-positioned-expected.png: Removed.
  • platform/gtk/fast/repaint/inline-relative-positioned-expected.txt: Removed.
  • platform/gtk/fast/repaint/intermediate-layout-position-expected.png: Removed.
  • platform/gtk/fast/repaint/repaint/hover-pseudo-borders-expected.png: Removed.
  • platform/gtk/fast/repaint/repaint/hover-pseudo-borders-expected.txt: Removed.
  • platform/mac-wk2/fast/repaint/invisible-objects-expected.txt: Removed.
  • platform/mac/fast/repaint/gradients-em-stops-repaint-expected.png: Removed.
  • platform/mac/fast/repaint/gradients-em-stops-repaint-expected.txt: Removed.
  • platform/mac/fast/repaint/hover-pseudo-borders-expected.png: Removed.
  • platform/mac/fast/repaint/hover-pseudo-borders-expected.txt: Removed.
  • platform/mac/fast/repaint/inline-block-resize-expected.png: Removed.
  • platform/mac/fast/repaint/inline-color-change-expected.png: Removed.
  • platform/mac/fast/repaint/inline-color-change-expected.txt: Removed.
  • platform/mac/fast/repaint/inline-outline-repaint-expected.png: Removed.
  • platform/mac/fast/repaint/inline-outline-repaint-expected.txt: Removed.
  • platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png: Removed.
  • platform/mac/fast/repaint/intermediate-layout-position-expected.png: Removed.
  • platform/mac/fast/repaint/invisible-objects-expected.png: Removed.
  • platform/win/fast/repaint/inline-color-change-expected.txt: Removed.
  • platform/win/fast/repaint/inline-outline-repaint-expected.txt: Removed.
1:09 PM Changeset in webkit [189376] by basile_clement@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, add missing copyright to file from r189336

  • bytecompiler/SetForScope.h:
1:00 PM Changeset in webkit [189375] 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):

12:57 PM Changeset in webkit [189374] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Render Frames "Other" task filter checkbox misaligned with text
https://bugs.webkit.org/show_bug.cgi?id=148788

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ChartDetailsSectionRow.css:

(.details-section > .content > .group > .row.chart > .chart-content > .legend > .legend-item > label > .color-key):
Adjust "fake" checkbox margin to align with label text.

12:53 PM Changeset in webkit [189373] by commit-queue@webkit.org
  • 5 edits
    8 adds in trunk

Web Inspector: Expand Console domain test coverage
https://bugs.webkit.org/show_bug.cgi?id=148740

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-04
Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/protocol/Console.json:

Update the description of this command now that it only
manipulates $0, and not $1, $2, .. $n.

Source/WebInspectorUI:

  • UserInterface/Protocol/RemoteObject.js:

Add a few helpers for checking the RemoteObject type.

LayoutTests:

Test more Console domain commands and events.

  • inspector/console/addInspectedNode-expected.txt: Added.
  • inspector/console/addInspectedNode.html: Added.
  • inspector/console/clearMessages-expected.txt: Added.
  • inspector/console/clearMessages.html: Added.
  • inspector/console/messageRepeatCountUpdated-expected.txt: Added.
  • inspector/console/messageRepeatCountUpdated.html: Added.
  • inspector/console/messagesCleared-expected.txt: Added.
  • inspector/console/messagesCleared.html: Added.
12:52 PM Changeset in webkit [189372] by jer.noble@apple.com
  • 2 edits
    74 adds in trunk/LayoutTests

Unreviewed gardening; enabling media/ and http/tests/media/ tests (with expected failures) on ios-simulator

  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/http/tests/media/hls/video-controls-live-stream-expected.txt: Added.
  • platform/ios-simulator/media/W3C/video/canPlayType/canPlayType_codecs_order_3-expected.txt: Added.
  • platform/ios-simulator/media/W3C/video/canPlayType/canPlayType_two_implies_one_5-expected.txt: Added.
  • platform/ios-simulator/media/W3C/video/canPlayType/canPlayType_two_implies_one_6-expected.txt: Added.
  • platform/ios-simulator/media/audio-controls-rendering-expected.png: Added.
  • platform/ios-simulator/media/audio-controls-rendering-expected.txt: Added.
  • platform/ios-simulator/media/audio-repaint-expected.txt: Added.
  • platform/ios-simulator/media/controls-after-reload-expected.png: Added.
  • platform/ios-simulator/media/controls-after-reload-expected.txt: Added.
  • platform/ios-simulator/media/controls-layout-direction-expected.png: Added.
  • platform/ios-simulator/media/controls-strict-expected.png: Added.
  • platform/ios-simulator/media/controls-strict-expected.txt: Added.
  • platform/ios-simulator/media/controls-strict-mode-expected.txt: Added.
  • platform/ios-simulator/media/controls-styling-expected.png: Added.
  • platform/ios-simulator/media/controls-styling-expected.txt: Added.
  • platform/ios-simulator/media/controls-styling-strict-expected.png: Added.
  • platform/ios-simulator/media/controls-styling-strict-expected.txt: Added.
  • platform/ios-simulator/media/controls-without-preload-expected.png: Added.
  • platform/ios-simulator/media/controls-without-preload-expected.txt: Added.
  • platform/ios-simulator/media/encrypted-media/encrypted-media-can-play-type-expected.txt: Added.
  • platform/ios-simulator/media/media-can-play-wav-audio-expected.txt: Added.
  • platform/ios-simulator/media/media-can-play-webm-expected.txt: Added.
  • platform/ios-simulator/media/media-controls-clone-expected.png: Added.
  • platform/ios-simulator/media/media-controls-clone-expected.txt: Added.
  • platform/ios-simulator/media/media-document-audio-repaint-expected.png: Added.
  • platform/ios-simulator/media/track/track-cue-rendering-horizontal-expected.png: Added.
  • platform/ios-simulator/media/track/track-cue-rendering-horizontal-expected.txt: Added.
  • platform/ios-simulator/media/track/track-cue-rendering-vertical-expected.png: Added.
  • platform/ios-simulator/media/track/track-cue-rendering-vertical-expected.txt: Added.
  • platform/ios-simulator/media/track/track-in-band-subtitles-too-large-expected.png: Added.
  • platform/ios-simulator/media/video-aspect-ratio-expected.png: Added.
  • platform/ios-simulator/media/video-aspect-ratio-expected.txt: Added.
  • platform/ios-simulator/media/video-canvas-alpha-expected.png: Added.
  • platform/ios-simulator/media/video-canvas-drawing-expected.png: Added.
  • platform/ios-simulator/media/video-colorspace-yuv420-expected.png: Added.
  • platform/ios-simulator/media/video-colorspace-yuv422-expected.png: Added.
  • platform/ios-simulator/media/video-controls-captions-trackmenu-expected.txt: Added.
  • platform/ios-simulator/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Added.
  • platform/ios-simulator/media/video-controls-captions-trackmenu-localized-expected.txt: Added.
  • platform/ios-simulator/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Added.
  • platform/ios-simulator/media/video-controls-captions-trackmenu-sorted-expected.txt: Added.
  • platform/ios-simulator/media/video-controls-no-scripting-expected.txt: Added.
  • platform/ios-simulator/media/video-controls-rendering-expected.png: Added.
  • platform/ios-simulator/media/video-controls-rendering-expected.txt: Added.
  • platform/ios-simulator/media/video-display-toggle-expected.png: Added.
  • platform/ios-simulator/media/video-display-toggle-expected.txt: Added.
  • platform/ios-simulator/media/video-empty-source-expected.png: Added.
  • platform/ios-simulator/media/video-empty-source-expected.txt: Added.
  • platform/ios-simulator/media/video-frame-accurate-seek-expected.png: Added.
  • platform/ios-simulator/media/video-layer-crash-expected.png: Added.
  • platform/ios-simulator/media/video-layer-crash-expected.txt: Added.
  • platform/ios-simulator/media/video-no-audio-expected.png: Added.
  • platform/ios-simulator/media/video-no-audio-expected.txt: Added.
  • platform/ios-simulator/media/video-playing-and-pause-expected.png: Added.
  • platform/ios-simulator/media/video-playing-and-pause-expected.txt: Added.
  • platform/ios-simulator/media/video-remove-insert-repaints-expected.png: Added.
  • platform/ios-simulator/media/video-replaces-poster-expected.png: Added.
  • platform/ios-simulator/media/video-transformed-expected.png: Added.
  • platform/ios-simulator/media/video-transformed-expected.txt: Added.
  • platform/ios-simulator/media/video-volume-slider-expected.png: Added.
  • platform/ios-simulator/media/video-volume-slider-expected.txt: Added.
  • platform/ios-simulator/media/video-zoom-controls-expected.png: Added.
  • platform/ios-simulator/media/video-zoom-controls-expected.txt: Added.
  • platform/ios-simulator/media/video-zoom-expected.png: Added.
  • platform/ios-simulator/media/video-zoom-expected.txt: Added.
  • platform/ios-simulator/media/volume-bar-empty-when-muted-expected.txt: Added.
12:48 PM Changeset in webkit [189371] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Web Inspector: Test RuntimeAgent.parse, detecting if a script parse error is recoverable
https://bugs.webkit.org/show_bug.cgi?id=148790

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-04
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • parser/Lexer.cpp:

(JSC::Lexer<T>::lex):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::printUnexpectedTokenText):

  • parser/ParserTokens.h:

More consistently name and treat unterminated numeric literals.

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse):
Treat multiline capable unterminated literals as recoverable.

LayoutTests:

  • inspector/runtime/parse-expected.txt: Added.
  • inspector/runtime/parse.html: Added.
12:24 PM Changeset in webkit [189370] by timothy_horton@apple.com
  • 3 edits in trunk/LayoutTests

swipe-start-hysteresis-failures is flaky
https://bugs.webkit.org/show_bug.cgi?id=148809

Reviewed by Alexey Proskuryakov.

  • swipe/swipe-start-hysteresis-failures.html:
  • swipe/swipe-start-hysteresis-failures-expected.txt:

Instead of depending on the specific timing of didStartSwipe vs. the events
in this case, just make sure we hit it by the time the test finishes.

12:14 PM Changeset in webkit [189369] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[iOS] Enable media layout tests to run simultaneously by ignoring system-level interruptions
https://bugs.webkit.org/show_bug.cgi?id=148807

Reviewed by Eric Carlson.

Add an internal property that, when set, will cause system-level interruption notifications
(e.g., due to simultaneous media playback in separate processes) to be ignored by the
PlatformMediaSessionManager, and cause the media playback sessions to continue normally, if
inaudibly.

  • platform/audio/PlatformMediaSessionManager.h:

(WebCore::PlatformMediaSessionManager::willIgnoreSystemInterruptions):
(WebCore::PlatformMediaSessionManager::setWillIgnoreSystemInterruptions):

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(-[WebMediaSessionHelper interruption:]):
(-[WebMediaSessionHelper applicationWillEnterForeground:]):
(-[WebMediaSessionHelper applicationDidBecomeActive:]):
(-[WebMediaSessionHelper applicationWillResignActive:]):
(-[WebMediaSessionHelper applicationDidEnterBackground:]):

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

12:12 PM Changeset in webkit [189368] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip newly imported IndexedDB test on iOS WebKit1, because IndexedDB only works with WebKit2.

  • platform/ios-simulator-wk1/TestExpectations:
12:00 PM Changeset in webkit [189367] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Enable reference qualified functions for GCC
https://bugs.webkit.org/show_bug.cgi?id=148526

Reviewed by Darin Adler.

  • wtf/Compiler.h:
11:58 AM Changeset in webkit [189366] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Disable backspace key navigation by default
https://bugs.webkit.org/show_bug.cgi?id=148808

Reviewed by Tim Horton.

  • Shared/WebPreferencesDefinitions.h: Defined DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED as false on iOS, true elsewhere, and made it the default value of the backspaceKeyNavigationEnabled preference key.
11:45 AM Changeset in webkit [189365] by Beth Dakin
  • 19 edits
    3 adds in trunk

Need to be able to test default behaviors on force click
https://bugs.webkit.org/show_bug.cgi?id=148758

Reviewed by Tim Horton.

Source/WebCore:

WKTR needs access to this.

  • platform/spi/mac/NSEventSPI.h:

Source/WebKit2:

The hit test seems to return synchronously in WKTR, so we need to do the hit
test last before we clear state otherwise we will trample the hit test
result.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):

Tools:

This patch adds a new eventSender method to do a full, completed force click,
and it re-works all of the existing force methods to dispatch their events in
such a way that they will trigger the NSImmediateAction gesture recognizer.
To do this, first we need to send the events to the app rather than straight
to the view, and also needed to tweak some state and send the events in a
delayed fashion.

New public function mouseForceClick() and private helper functions to make
NSEvents.

  • WebKitTestRunner/EventSenderProxy.h:

New public function mouseForceClick().

  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::mouseMoveTo):
(WTR::EventSendingController::mouseForceClick):
(WTR::EventSendingController::mouseForceDown):

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):

initPressureEventAtLocation needs to take a stageTransition and a window.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]):
(-[EventSenderSyntheticEvent stageTransition]):
(-[EventSenderSyntheticEvent timestamp]):
(-[EventSenderSyntheticEvent _cgsEventRecord]):
(-[EventSenderSyntheticEvent window]):

In order to enter the gesture recognizer, we need to start with a mouse down
that has a NSEventMaskPressure modifier.
(WTR::EventSenderProxy::sendMouseDownToStartPressureEvents):

This ensures that the events queue properly for the force monitor in AppKit.
(WTR::spinRunLoopForForce):

We need to start the pressure change events with a began.

(WTR::EventSenderProxy::beginPressureEvent):

These functions can be used to create the NSEvent for a pressure change every
time we need one.
(WTR::EventSenderProxy::pressureChangeEvent):

Send the right series of events to emulate a full, completed force click.
(WTR::EventSenderProxy::mouseForceClick):

Use all of the new things for these existing functions.
(WTR::EventSenderProxy::mouseForceDown):
(WTR::EventSenderProxy::mouseForceUp):
(WTR::EventSenderProxy::mouseForceChanged):

Set NSFakeForceTouchDevice to YES.

  • WebKitTestRunner/mac/main.mm:

(setDefaultsToConsistentValuesForTesting):

LayoutTests:

One new test that tests a regression found during the work for
http://trac.webkit.org/changeset/181660

  • fast/events/force-click-on-link-navigation-expected.txt: Added.
  • fast/events/force-click-on-link-navigation.html: Added.
  • fast/events/resources/do-not-navigate-here.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/mac-mavericks/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
11:44 AM Changeset in webkit [189364] by rniwa@webkit.org
  • 3 edits
    325 adds
    1 delete in trunk/LayoutTests

Import new multicolumn layout tests from CSS WG testss
https://bugs.webkit.org/show_bug.cgi?id=148805

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Imported tests from https://github.com/w3c/csswg-test/tree/master/css-multicol-1 as of
46a095b681f997bef518ebe0a704c0a343a14a05 and removed the old tests in css/multicol directory.

This patch imports 136 new tests.

  • css/css-multicol-1: Added.
  • css/css-multicol-1/multicol-basic-001-expected.html: Added.
  • css/css-multicol-1/multicol-basic-001.html: Added.
  • css/css-multicol-1/multicol-basic-002-expected.html: Added.
  • css/css-multicol-1/multicol-basic-002.html: Added.
  • css/css-multicol-1/multicol-basic-003-expected.html: Added.
  • css/css-multicol-1/multicol-basic-003.html: Added.
  • css/css-multicol-1/multicol-basic-004-expected.html: Added.
  • css/css-multicol-1/multicol-basic-004.html: Added.
  • css/css-multicol-1/multicol-block-clip-001-expected.xht: Added.
  • css/css-multicol-1/multicol-block-clip-001.xht: Added.
  • css/css-multicol-1/multicol-block-clip-002-expected.xht: Added.
  • css/css-multicol-1/multicol-block-clip-002.xht: Added.
  • css/css-multicol-1/multicol-br-inside-avoidcolumn-001-expected.xht: Added.
  • css/css-multicol-1/multicol-br-inside-avoidcolumn-001.xht: Added.
  • css/css-multicol-1/multicol-break-000-expected.xht: Added.
  • css/css-multicol-1/multicol-break-000.xht: Added.
  • css/css-multicol-1/multicol-break-001-expected.xht: Added.
  • css/css-multicol-1/multicol-break-001.xht: Added.
  • css/css-multicol-1/multicol-clip-001-expected.xht: Added.
  • css/css-multicol-1/multicol-clip-001.xht: Added.
  • css/css-multicol-1/multicol-clip-002-expected.xht: Added.
  • css/css-multicol-1/multicol-clip-002.xht: Added.
  • css/css-multicol-1/multicol-collapsing-001-expected.xht: Added.
  • css/css-multicol-1/multicol-collapsing-001.xht: Added.
  • css/css-multicol-1/multicol-columns-001-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-001.xht: Added.
  • css/css-multicol-1/multicol-columns-002-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-002.xht: Added.
  • css/css-multicol-1/multicol-columns-003-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-003.xht: Added.
  • css/css-multicol-1/multicol-columns-004-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-004.xht: Added.
  • css/css-multicol-1/multicol-columns-005-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-005.xht: Added.
  • css/css-multicol-1/multicol-columns-006-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-006.xht: Added.
  • css/css-multicol-1/multicol-columns-007-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-007.xht: Added.
  • css/css-multicol-1/multicol-columns-invalid-001-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-invalid-001.xht: Added.
  • css/css-multicol-1/multicol-columns-invalid-002-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-invalid-002.xht: Added.
  • css/css-multicol-1/multicol-columns-toolong-001-expected.xht: Added.
  • css/css-multicol-1/multicol-columns-toolong-001.xht: Added.
  • css/css-multicol-1/multicol-containing-001-expected.xht: Added.
  • css/css-multicol-1/multicol-containing-001.xht: Added.
  • css/css-multicol-1/multicol-containing-002-expected.xht: Added.
  • css/css-multicol-1/multicol-containing-002.xht: Added.
  • css/css-multicol-1/multicol-count-001-expected.xht: Added.
  • css/css-multicol-1/multicol-count-001.xht: Added.
  • css/css-multicol-1/multicol-count-002-expected.xht: Added.
  • css/css-multicol-1/multicol-count-002.xht: Added.
  • css/css-multicol-1/multicol-count-computed-001-expected.xht: Added.
  • css/css-multicol-1/multicol-count-computed-001.xht: Added.
  • css/css-multicol-1/multicol-count-computed-002-expected.xht: Added.
  • css/css-multicol-1/multicol-count-computed-002.xht: Added.
  • css/css-multicol-1/multicol-count-computed-003-expected.xht: Added.
  • css/css-multicol-1/multicol-count-computed-003.xht: Added.
  • css/css-multicol-1/multicol-count-computed-004-expected.xht: Added.
  • css/css-multicol-1/multicol-count-computed-004.xht: Added.
  • css/css-multicol-1/multicol-count-computed-005-expected.xht: Added.
  • css/css-multicol-1/multicol-count-computed-005.xht: Added.
  • css/css-multicol-1/multicol-count-large-001-expected.xht: Added.
  • css/css-multicol-1/multicol-count-large-001.xht: Added.
  • css/css-multicol-1/multicol-count-large-002-expected.xht: Added.
  • css/css-multicol-1/multicol-count-large-002.xht: Added.
  • css/css-multicol-1/multicol-count-negative-001-expected.xht: Added.
  • css/css-multicol-1/multicol-count-negative-001.xht: Added.
  • css/css-multicol-1/multicol-count-negative-002-expected.xht: Added.
  • css/css-multicol-1/multicol-count-negative-002.xht: Added.
  • css/css-multicol-1/multicol-count-non-integer-001-expected.xht: Added.
  • css/css-multicol-1/multicol-count-non-integer-001.xht: Added.
  • css/css-multicol-1/multicol-count-non-integer-002-expected.xht: Added.
  • css/css-multicol-1/multicol-count-non-integer-002.xht: Added.
  • css/css-multicol-1/multicol-count-non-integer-003-expected.xht: Added.
  • css/css-multicol-1/multicol-count-non-integer-003.xht: Added.
  • css/css-multicol-1/multicol-fill-000-expected.xht: Added.
  • css/css-multicol-1/multicol-fill-000.xht: Added.
  • css/css-multicol-1/multicol-fill-001-expected.xht: Added.
  • css/css-multicol-1/multicol-fill-001.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-001-expected.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-001.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-002-expected.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-002.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-003-expected.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-003.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-block-children-001-expected.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-block-children-001.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-block-children-002-expected.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-block-children-002.xht: Added.
  • css/css-multicol-1/multicol-fill-auto-expected.xht: Added.
  • css/css-multicol-1/multicol-fill-auto.xht: Added.
  • css/css-multicol-1/multicol-fill-balance-001-expected.xht: Added.
  • css/css-multicol-1/multicol-fill-balance-001.xht: Added.
  • css/css-multicol-1/multicol-gap-000-expected.xht: Added.
  • css/css-multicol-1/multicol-gap-000.xht: Added.
  • css/css-multicol-1/multicol-gap-001-expected.xht: Added.
  • css/css-multicol-1/multicol-gap-001.xht: Added.
  • css/css-multicol-1/multicol-gap-002-expected.xht: Added.
  • css/css-multicol-1/multicol-gap-002.xht: Added.
  • css/css-multicol-1/multicol-gap-003-expected.xht: Added.
  • css/css-multicol-1/multicol-gap-003.xht: Added.
  • css/css-multicol-1/multicol-gap-fraction-001-expected.xht: Added.
  • css/css-multicol-1/multicol-gap-fraction-001.xht: Added.
  • css/css-multicol-1/multicol-gap-large-001-expected.xht: Added.
  • css/css-multicol-1/multicol-gap-large-001.xht: Added.
  • css/css-multicol-1/multicol-gap-large-002-expected.xht: Added.
  • css/css-multicol-1/multicol-gap-large-002.xht: Added.
  • css/css-multicol-1/multicol-gap-negative-001-expected.xht: Added.
  • css/css-multicol-1/multicol-gap-negative-001.xht: Added.
  • css/css-multicol-1/multicol-height-001-expected.xht: Added.
  • css/css-multicol-1/multicol-height-001.xht: Added.
  • css/css-multicol-1/multicol-height-block-child-001-expected.xht: Added.
  • css/css-multicol-1/multicol-height-block-child-001.xht: Added.
  • css/css-multicol-1/multicol-inherit-001-expected.xht: Added.
  • css/css-multicol-1/multicol-inherit-001.xht: Added.
  • css/css-multicol-1/multicol-inherit-002-expected.xht: Added.
  • css/css-multicol-1/multicol-inherit-002.xht: Added.
  • css/css-multicol-1/multicol-inherit-003-expected.xht: Added.
  • css/css-multicol-1/multicol-inherit-003.xht: Added.
  • css/css-multicol-1/multicol-inherit-004-expected.xht: Added.
  • css/css-multicol-1/multicol-inherit-004.xht: Added.
  • css/css-multicol-1/multicol-list-item-001-expected.xht: Added.
  • css/css-multicol-1/multicol-list-item-001.xht: Added.
  • css/css-multicol-1/multicol-margin-001-expected.xht: Added.
  • css/css-multicol-1/multicol-margin-001.xht: Added.
  • css/css-multicol-1/multicol-margin-002-expected.xht: Added.
  • css/css-multicol-1/multicol-margin-002.xht: Added.
  • css/css-multicol-1/multicol-margin-child-001-expected.xht: Added.
  • css/css-multicol-1/multicol-margin-child-001.xht: Added.
  • css/css-multicol-1/multicol-nested-002-expected.xht: Added.
  • css/css-multicol-1/multicol-nested-002.xht: Added.
  • css/css-multicol-1/multicol-nested-005-expected.xht: Added.
  • css/css-multicol-1/multicol-nested-005.xht: Added.
  • css/css-multicol-1/multicol-nested-column-rule-001-expected.xht: Added.
  • css/css-multicol-1/multicol-nested-column-rule-001.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-001-expected.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-001.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-002-expected.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-002.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-003-expected.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-003.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-004-expected.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-004.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-005-expected.xht: Added.
  • css/css-multicol-1/multicol-nested-margin-005.xht: Added.
  • css/css-multicol-1/multicol-overflow-000-expected.xht: Added.
  • css/css-multicol-1/multicol-overflow-000.xht: Added.
  • css/css-multicol-1/multicol-overflowing-001-expected.xht: Added.
  • css/css-multicol-1/multicol-overflowing-001.xht: Added.
  • css/css-multicol-1/multicol-red.png: Added.
  • css/css-multicol-1/multicol-reduce-000-expected.xht: Added.
  • css/css-multicol-1/multicol-reduce-000.xht: Added.
  • css/css-multicol-1/multicol-rule-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-000.xht: Added.
  • css/css-multicol-1/multicol-rule-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-001.xht: Added.
  • css/css-multicol-1/multicol-rule-002-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-002.xht: Added.
  • css/css-multicol-1/multicol-rule-003-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-003.xht: Added.
  • css/css-multicol-1/multicol-rule-004-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-004.xht: Added.
  • css/css-multicol-1/multicol-rule-color-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-color-001.xht: Added.
  • css/css-multicol-1/multicol-rule-color-inherit-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-color-inherit-001.xht: Added.
  • css/css-multicol-1/multicol-rule-color-inherit-002-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-color-inherit-002.xht: Added.
  • css/css-multicol-1/multicol-rule-dashed-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-dashed-000.xht: Added.
  • css/css-multicol-1/multicol-rule-dotted-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-dotted-000.xht: Added.
  • css/css-multicol-1/multicol-rule-double-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-double-000.xht: Added.
  • css/css-multicol-1/multicol-rule-fraction-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-fraction-001.xht: Added.
  • css/css-multicol-1/multicol-rule-fraction-002-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-fraction-002.xht: Added.
  • css/css-multicol-1/multicol-rule-fraction-003-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-fraction-003.xht: Added.
  • css/css-multicol-1/multicol-rule-groove-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-groove-000.xht: Added.
  • css/css-multicol-1/multicol-rule-hidden-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-hidden-000.xht: Added.
  • css/css-multicol-1/multicol-rule-inset-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-inset-000.xht: Added.
  • css/css-multicol-1/multicol-rule-large-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-large-001.xht: Added.
  • css/css-multicol-1/multicol-rule-none-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-none-000.xht: Added.
  • css/css-multicol-1/multicol-rule-outset-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-outset-000.xht: Added.
  • css/css-multicol-1/multicol-rule-percent-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-percent-001.xht: Added.
  • css/css-multicol-1/multicol-rule-px-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-px-001.xht: Added.
  • css/css-multicol-1/multicol-rule-ridge-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-ridge-000.xht: Added.
  • css/css-multicol-1/multicol-rule-samelength-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-samelength-001.xht: Added.
  • css/css-multicol-1/multicol-rule-shorthand-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-shorthand-001.xht: Added.
  • css/css-multicol-1/multicol-rule-shorthand-2.xht: Added.
  • css/css-multicol-1/multicol-rule-solid-000-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-solid-000.xht: Added.
  • css/css-multicol-1/multicol-rule-stacking-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-stacking-001.xht: Added.
  • css/css-multicol-1/multicol-rule-style-groove-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-style-groove-001.xht: Added.
  • css/css-multicol-1/multicol-rule-style-inset-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-style-inset-001.xht: Added.
  • css/css-multicol-1/multicol-rule-style-outset-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-style-outset-001.xht: Added.
  • css/css-multicol-1/multicol-rule-style-ridge-001-expected.xht: Added.
  • css/css-multicol-1/multicol-rule-style-ridge-001.xht: Added.
  • css/css-multicol-1/multicol-shorthand-001-expected.xht: Added.
  • css/css-multicol-1/multicol-shorthand-001.xht: Added.
  • css/css-multicol-1/multicol-span-000-expected.xht: Added.
  • css/css-multicol-1/multicol-span-000.xht: Added.
  • css/css-multicol-1/multicol-span-all-001-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-001.xht: Added.
  • css/css-multicol-1/multicol-span-all-002-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-002.xht: Added.
  • css/css-multicol-1/multicol-span-all-003-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-003.xht: Added.
  • css/css-multicol-1/multicol-span-all-block-sibling-003-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-block-sibling-003.xht: Added.
  • css/css-multicol-1/multicol-span-all-child-001-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-child-001.xht: Added.
  • css/css-multicol-1/multicol-span-all-child-002-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-child-002.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-001-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-001.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-002-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-002.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-bottom-001-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-bottom-001.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-nested-001-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-nested-001.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-nested-002-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-nested-002.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-nested-003-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-nested-003.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-nested-firstchild-001-expected.xht: Added.
  • css/css-multicol-1/multicol-span-all-margin-nested-firstchild-001.xht: Added.
  • css/css-multicol-1/multicol-span-float-001-expected.xht: Added.
  • css/css-multicol-1/multicol-span-float-001.xht: Added.
  • css/css-multicol-1/multicol-span-none-001-expected.xht: Added.
  • css/css-multicol-1/multicol-span-none-001.xht: Added.
  • css/css-multicol-1/multicol-table-cell-001-expected.xht: Added.
  • css/css-multicol-1/multicol-table-cell-001.xht: Added.
  • css/css-multicol-1/multicol-table-cell-height-001-expected.xht: Added.
  • css/css-multicol-1/multicol-table-cell-height-001.xht: Added.
  • css/css-multicol-1/multicol-table-cell-height-002-expected.xht: Added.
  • css/css-multicol-1/multicol-table-cell-height-002.xht: Added.
  • css/css-multicol-1/multicol-table-cell-vertical-align-001-expected.xht: Added.
  • css/css-multicol-1/multicol-table-cell-vertical-align-001.xht: Added.
  • css/css-multicol-1/multicol-width-001-expected.xht: Added.
  • css/css-multicol-1/multicol-width-001.xht: Added.
  • css/css-multicol-1/multicol-width-002-expected.xht: Added.
  • css/css-multicol-1/multicol-width-002.xht: Added.
  • css/css-multicol-1/multicol-width-003-expected.xht: Added.
  • css/css-multicol-1/multicol-width-003.xht: Added.
  • css/css-multicol-1/multicol-width-count-001-expected.xht: Added.
  • css/css-multicol-1/multicol-width-count-001.xht: Added.
  • css/css-multicol-1/multicol-width-count-002-expected.xht: Added.
  • css/css-multicol-1/multicol-width-count-002.xht: Added.
  • css/css-multicol-1/multicol-width-ems-001-expected.xht: Added.
  • css/css-multicol-1/multicol-width-ems-001.xht: Added.
  • css/css-multicol-1/multicol-width-invalid-001-expected.xht: Added.
  • css/css-multicol-1/multicol-width-invalid-001.xht: Added.
  • css/css-multicol-1/multicol-width-large-001-expected.xht: Added.
  • css/css-multicol-1/multicol-width-large-001.xht: Added.
  • css/css-multicol-1/multicol-width-large-002-expected.xht: Added.
  • css/css-multicol-1/multicol-width-large-002.xht: Added.
  • css/css-multicol-1/multicol-width-negative-001-expected.xht: Added.
  • css/css-multicol-1/multicol-width-negative-001.xht: Added.
  • css/css-multicol-1/multicol-width-small-001-expected.xht: Added.
  • css/css-multicol-1/multicol-width-small-001.xht: Added.
  • css/css-multicol-1/multicol-zero-height-001-expected.xht: Added.
  • css/css-multicol-1/multicol-zero-height-001.xht: Added.
  • css/css-multicol-1/support: Added.
  • css/css-multicol-1/support/1x1-green.png: Added.
  • css/css-multicol-1/support/1x1-lime.png: Added.
  • css/css-multicol-1/support/1x1-maroon.png: Added.
  • css/css-multicol-1/support/1x1-navy.png: Added.
  • css/css-multicol-1/support/1x1-red.png: Added.
  • css/css-multicol-1/support/1x1-white.png: Added.
  • css/css-multicol-1/support/60x60-gg-rr.png: Added.
  • css/css-multicol-1/support/60x60-green.png: Added.
  • css/css-multicol-1/support/60x60-red.png: Added.
  • css/css-multicol-1/support/a-green.css: Added.
  • css/css-multicol-1/support/b-green.css: Added.
  • css/css-multicol-1/support/black20x20.png: Added.
  • css/css-multicol-1/support/c-red.css: Added.
  • css/css-multicol-1/support/cat.png: Added.
  • css/css-multicol-1/support/import-green.css: Added.
  • css/css-multicol-1/support/import-red.css: Added.
  • css/css-multicol-1/support/pattern-gg-gr.png: Added.
  • css/css-multicol-1/support/pattern-grg-rgr-grg.png: Added.
  • css/css-multicol-1/support/pattern-grg-rrg-rgg.png: Added.
  • css/css-multicol-1/support/pattern-rgr-grg-rgr.png: Added.
  • css/css-multicol-1/support/pattern-tr.png: Added.
  • css/css-multicol-1/support/red20x20.png: Added.
  • css/css-multicol-1/support/square-purple.png: Added.
  • css/css-multicol-1/support/square-teal.png: Added.
  • css/css-multicol-1/support/square-white.png: Added.
  • css/css-multicol-1/support/swatch-blue.png: Added.
  • css/css-multicol-1/support/swatch-gray.png: Added.
  • css/css-multicol-1/support/swatch-green.png: Added.
  • css/css-multicol-1/support/swatch-lime.png: Added.
  • css/css-multicol-1/support/swatch-navy.png: Added.
  • css/css-multicol-1/support/swatch-orange.png: Added.
  • css/css-multicol-1/support/swatch-pink.png: Added.
  • css/css-multicol-1/support/swatch-purple.png: Added.
  • css/css-multicol-1/support/swatch-red.png: Added.
  • css/css-multicol-1/support/swatch-white.png: Added.
  • css/css-multicol-1/support/swatch-yellow.png: Added.
  • css/css-multicol-1/support/test-bl.png: Added.
  • css/css-multicol-1/support/test-br.png: Added.
  • css/css-multicol-1/support/test-outer.png: Added.
  • css/css-multicol-1/support/test-tl.png: Added.
  • css/css-multicol-1/support/test-tr.png: Added.
  • css/multicol: Removed.
  • css/multicol/multicol-basic-001-expected.html: Removed.
  • css/multicol/multicol-basic-001.html: Removed.
  • css/multicol/multicol-basic-002-expected.html: Removed.
  • css/multicol/multicol-basic-002.html: Removed.
  • css/multicol/multicol-basic-003-expected.html: Removed.
  • css/multicol/multicol-basic-003.html: Removed.
  • css/multicol/multicol-basic-004-expected.html: Removed.
  • css/multicol/multicol-basic-004.html: Removed.

LayoutTests:

Added test expectations for newly imported tests.

11:29 AM Changeset in webkit [189363] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

webkit-unassigned@lists.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=148525

Reviewed by Darin Adler.

  • wtf/Compiler.h:
11:24 AM Changeset in webkit [189362] by basile_clement@apple.com
  • 15 edits
    1 move
    1 delete in trunk/Source/JavaScriptCore

Get rid of FTLValueFormat
https://bugs.webkit.org/show_bug.cgi?id=148448

Reviewed by Michael Saboff.

FTL::ValueFormat is nothing more than DataFormat (and is actually
slightly less). Let's get rid of it.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/DataFormat.cpp: Renamed from Source/JavaScriptCore/ftl/FTLValueFormat.h.

(WTF::printInternal):

  • bytecode/DataFormat.h:
  • ftl/FTLAvailableRecovery.h:

(JSC::FTL::AvailableRecovery::AvailableRecovery):
(JSC::FTL::AvailableRecovery::format):

  • ftl/FTLExitArgument.h:

(JSC::FTL::ExitArgument::ExitArgument):
(JSC::FTL::ExitArgument::operator!):
(JSC::FTL::ExitArgument::format):
(JSC::FTL::ExitArgument::withFormat):

  • ftl/FTLExitValue.cpp:

(JSC::FTL::ExitValue::dataFormat):

  • ftl/FTLExitValue.h:

(JSC::FTL::ExitValue::recovery):
(JSC::FTL::ExitValue::recoveryFormat):

  • ftl/FTLFormattedValue.h:

(JSC::FTL::FormattedValue::FormattedValue):
(JSC::FTL::FormattedValue::operator!):
(JSC::FTL::FormattedValue::format):
(JSC::FTL::int32Value):
(JSC::FTL::booleanValue):
(JSC::FTL::jsValueValue):
(JSC::FTL::doubleValue):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::convertDoubleToInt32):
(JSC::FTL::DFG::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::DFG::LowerDFGToLLVM::exitArgument):
(JSC::FTL::DFG::LowerDFGToLLVM::addAvailableRecovery):

  • ftl/FTLOSRExit.cpp:

(JSC::FTL::OSRExit::OSRExit):

  • ftl/FTLOSRExit.h:
  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::reboxAccordingToFormat):
(JSC::FTL::compileRecovery):
(JSC::FTL::compileStub):

  • ftl/FTLValueFormat.cpp: Removed.
11:22 AM Changeset in webkit [189361] by basile_clement@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Introduce RegisterMap<T>
https://bugs.webkit.org/show_bug.cgi?id=148335

Reviewed by Michael Saboff.

Introduce RegisterMap<T>, GPRMap<T> and FPRMap<T> dense mappings for
Reg, GPRReg and FPRReg.

(JSC::RegisterMap::operator[]):
(JSC::GPRMap::operator[]):
(JSC::FPRMap::operator[]):

11:14 AM Changeset in webkit [189360] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Remove some unused functions from MarkedBlock and MarkedSpace.
<https://webkit.org/b/148748>

Reviewed by Darin Adler.

  • ftl/FTLAbstractHeapRepository.h:
  • heap/MarkedBlock.h:

(JSC::MarkedBlock::offsetOfMarks): Deleted.
(JSC::MarkedBlock::didConsumeEmptyFreeList): Deleted.

  • heap/MarkedSpace.h:
11:12 AM Changeset in webkit [189359] by dino@apple.com
  • 4 edits
    2 adds in trunk

[mediacontrols] Test the ordering of elements in the controls panel
https://bugs.webkit.org/show_bug.cgi?id=148804
<rdar://problem/22579232>

Reviewed by Eric Carlson.

Source/WebCore:

Add information about various controls elements to the status object.

Test: media/controls/elementOrder.html

  • Modules/mediacontrols/mediaControlsApple.js:

LayoutTests:

Add a new test that checks the visual order of the buttons and
elements in the controls panel. This is helpful because they
are not necessarily in that order within the DOM.

I also added caching of the current state to the testing helper,
to save generating the JSON status multiple times in subsequent
calls.

  • media/controls/elementOrder.html: New test.
  • media/controls/elementOrder-expected.txt: New results.
  • media/controls/controls-test-helpers.js:

(ControlsTest):
(ControlsTest.prototype.get currentState): Added caching.
(ControlsTest.prototype.stateForControlsElement):
(ControlsTest.prototype.isGreaterThan): New test helper.

11:12 AM Changeset in webkit [189358] by dino@apple.com
  • 8 edits in trunk

[mediacontrols] Expose bounding rectangles and computed style to testing
https://bugs.webkit.org/show_bug.cgi?id=148755
<rdar://problems/22567757>

Reviewed by Eric Carlson.

Source/WebCore:

Expose more information on the internal objects to the testing
framework, in particular the bounding client rectangle for an
element as well as its computed style.

These new features are tested by media/controls/statusDisplay*.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.getCurrentControlsStatus): Rearrage things so
that it iterates over a list of objects, adding the common things
as well as any extra property values.

LayoutTests:

Update tests to exercise the computed style and bounding rectangles.

  • media/controls/controls-test-helpers.js:

(ControlsTest.prototype.isNotZero):
(ControlsTest):

  • media/controls/statusDisplay-expected.txt:
  • media/controls/statusDisplay.html:
  • media/controls/statusDisplayBad-expected.txt:
  • media/controls/statusDisplayBad.html:
11:00 AM Changeset in webkit [189357] by basile_clement@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Make a bunch of MacroAssembler operations constexpr
https://bugs.webkit.org/show_bug.cgi?id=148334

Reviewed by Saam Barati.

This is in preparation of https://bugs.webkit.org/show_bug.cgi?id=148335 .

  • assembler/ARM64Assembler.h:

(JSC::ARM64Registers::isSp):
(JSC::ARM64Registers::isZr):
(JSC::ARM64Assembler::firstRegister):
(JSC::ARM64Assembler::lastRegister):
(JSC::ARM64Assembler::firstFPRegister):
(JSC::ARM64Assembler::lastFPRegister):
(JSC::ARM64Assembler::isSp):
(JSC::ARM64Assembler::isZr):

  • assembler/ARMAssembler.h:

(JSC::ARMAssembler::firstRegister):
(JSC::ARMAssembler::lastRegister):
(JSC::ARMAssembler::firstFPRegister):
(JSC::ARMAssembler::lastFPRegister):

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::firstRegister):
(JSC::AbstractMacroAssembler::lastRegister):
(JSC::AbstractMacroAssembler::firstFPRegister):
(JSC::AbstractMacroAssembler::lastFPRegister):

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::firstRegister):
(JSC::MIPSAssembler::lastRegister):
(JSC::MIPSAssembler::firstFPRegister):
(JSC::MIPSAssembler::lastFPRegister):

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::nextRegister):
(JSC::MacroAssembler::nextFPRegister):
(JSC::MacroAssembler::numberOfRegisters):
(JSC::MacroAssembler::registerIndex):
(JSC::MacroAssembler::numberOfFPRegisters):
(JSC::MacroAssembler::fpRegisterIndex):
(JSC::MacroAssembler::totalNumberOfRegisters):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::firstRegister):
(JSC::SH4Assembler::lastRegister):
(JSC::SH4Assembler::firstFPRegister):
(JSC::SH4Assembler::lastFPRegister):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::firstRegister):
(JSC::X86Assembler::lastRegister):
(JSC::X86Assembler::firstFPRegister):
(JSC::X86Assembler::lastFPRegister):

10:43 AM Changeset in webkit [189356] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add tests for different Unicode normalization forms in domain names
https://bugs.webkit.org/show_bug.cgi?id=148762
<rdar://problem/22569933>

Reviewed by Darin Adler.

  • fast/url/user-visible/cyrillic-NFD-expected.txt: Added.
  • fast/url/user-visible/cyrillic-NFD.html: Added.
10:43 AM Changeset in webkit [189355] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk/Tools

prepare-ChangeLog needs to know how to parse Swift files.
https://bugs.webkit.org/show_bug.cgi?id=148784
<rdar://problem/22510062>

Patch by Jason Marcell <jmarcell@apple.com> on 2015-09-04
Reviewed by Darin Adler.

  • Scripts/prepare-ChangeLog:

(get_function_line_ranges): Added entry for get_function_line_ranges_for_swift.
(get_function_line_ranges_for_swift): Added function that knows how to parse Swift code.
(parseSwiftFunctionArgs): Added function that knows how to parse Swift function arguments.

  • Scripts/webkitperl/prepare-ChangeLog_unittest/parser_unittests.pl: Added.
  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/swift_unittests-expected.txt: Ditto.
  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/swift_unittests.swift: Ditto.

(freeFunction): Ditto.
(MyClass.function): Ditto.
(MyClass.functionWithArgument(_:)): Ditto.
(MyClass.functionWithMoreArguments(_:arg2:)): Ditto.
(MyClass.functionWithNamedFirstArgument(argument:)): Ditto.
(MyClass.functionWithNamedFirstAndSecondArgument(first:second:)): Ditto.
(MyClass.classFunction): Ditto.
(MyClass.readWriteComputedVariable): Ditto.
(MyClass.readOnlyComputedVariable): Ditto.

10:40 AM Changeset in webkit [189354] by Chris Dumez
  • 4 edits in trunk

Document.body should return the first body / frameset child of the html element
https://bugs.webkit.org/show_bug.cgi?id=148787
<rdar://problem/22566850>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Document.body should return the *first* body / frameset child of the html
element as per the specification:
https://html.spec.whatwg.org/multipage/dom.html#the-body-element-2

Chrome and Firefox both behave correctly. However, WebKit was prioritizing
frameset over body. This patch fixes this.

No new tests, already covered by existing test.

  • dom/Document.cpp:

(WebCore::Document::bodyOrFrameset):

LayoutTests:

Rebaseline test now that a new check is passing.

  • http/tests/w3c/html/dom/documents/dom-tree-accessors/document.body-getter-expected.txt:
10:21 AM Changeset in webkit [189353] by rniwa@webkit.org
  • 5 edits
    94 adds in trunk

Import css/css-color-3
https://bugs.webkit.org/show_bug.cgi?id=148803

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Imported tests from https://github.com/w3c/csswg-test/tree/master/css-color-3 as of
46a095b681f997bef518ebe0a704c0a343a14a05.

  • css/css-color-3: Added.
  • css/css-color-3/LICENSE: Added.
  • css/css-color-3/htaccess: Added.
  • css/css-color-3/t31-color-currentColor-b-expected.html: Added.
  • css/css-color-3/t31-color-currentColor-b.xht: Added.
  • css/css-color-3/t32-opacity-offscreen-multiple-boxes-1-c-expected.html: Added.
  • css/css-color-3/t32-opacity-offscreen-multiple-boxes-1-c.xht: Added.
  • css/css-color-3/t32-opacity-offscreen-multiple-boxes-2-c-expected.html: Added.
  • css/css-color-3/t32-opacity-offscreen-multiple-boxes-2-c.xht: Added.
  • css/css-color-3/t421-rgb-func-int-a-expected.html: Added.
  • css/css-color-3/t421-rgb-func-int-a.xht: Added.
  • css/css-color-3/t421-rgb-func-no-mixed-f-expected.html: Added.
  • css/css-color-3/t421-rgb-func-no-mixed-f.xht: Added.
  • css/css-color-3/t421-rgb-func-pct-a-expected.html: Added.
  • css/css-color-3/t421-rgb-func-pct-a.xht: Added.
  • css/css-color-3/t421-rgb-func-whitespace-b-expected.html: Added.
  • css/css-color-3/t421-rgb-func-whitespace-b.xht: Added.
  • css/css-color-3/t421-rgb-hex-parsing-f-expected.html: Added.
  • css/css-color-3/t421-rgb-hex-parsing-f.xht: Added.
  • css/css-color-3/t421-rgb-hex3-a-expected.html: Added.
  • css/css-color-3/t421-rgb-hex3-a.xht: Added.
  • css/css-color-3/t421-rgb-hex6-a-expected.html: Added.
  • css/css-color-3/t421-rgb-hex6-a.xht: Added.
  • css/css-color-3/t422-rgba-a1.0-a-expected.html: Added.
  • css/css-color-3/t422-rgba-a1.0-a.xht: Added.
  • css/css-color-3/t422-rgba-clamping-a0.0-b-expected.html: Added.
  • css/css-color-3/t422-rgba-clamping-a0.0-b.xht: Added.
  • css/css-color-3/t422-rgba-clamping-a1.0-b-expected.html: Added.
  • css/css-color-3/t422-rgba-clamping-a1.0-b.xht: Added.
  • css/css-color-3/t422-rgba-clip-outside-device-gamut-b-expected.html: Added.
  • css/css-color-3/t422-rgba-clip-outside-device-gamut-b.xht: Added.
  • css/css-color-3/t422-rgba-func-int-a-expected.html: Added.
  • css/css-color-3/t422-rgba-func-int-a.xht: Added.
  • css/css-color-3/t422-rgba-func-no-mixed-f-expected.html: Added.
  • css/css-color-3/t422-rgba-func-no-mixed-f.xht: Added.
  • css/css-color-3/t422-rgba-func-pct-a-expected.html: Added.
  • css/css-color-3/t422-rgba-func-pct-a.xht: Added.
  • css/css-color-3/t422-rgba-func-whitespace-b-expected.html: Added.
  • css/css-color-3/t422-rgba-func-whitespace-b.xht: Added.
  • css/css-color-3/t422-rgba-onscreen-b-expected.html: Added.
  • css/css-color-3/t422-rgba-onscreen-b.xht: Added.
  • css/css-color-3/t422-rgba-onscreen-multiple-boxes-c-expected.html: Added.
  • css/css-color-3/t422-rgba-onscreen-multiple-boxes-c.xht: Added.
  • css/css-color-3/t423-transparent-1-a-expected.html: Added.
  • css/css-color-3/t423-transparent-1-a.xht: Added.
  • css/css-color-3/t423-transparent-2-a-expected.html: Added.
  • css/css-color-3/t423-transparent-2-a.xht: Added.
  • css/css-color-3/t424-hsl-basic-a-expected.html: Added.
  • css/css-color-3/t424-hsl-basic-a.xht: Added.
  • css/css-color-3/t424-hsl-clip-outside-gamut-b-expected.html: Added.
  • css/css-color-3/t424-hsl-clip-outside-gamut-b.xht: Added.
  • css/css-color-3/t424-hsl-parsing-f-expected.html: Added.
  • css/css-color-3/t424-hsl-parsing-f.xht: Added.
  • css/css-color-3/t424-hsl-values-b-1-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-1.html: Added.
  • css/css-color-3/t424-hsl-values-b-10-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-10.html: Added.
  • css/css-color-3/t424-hsl-values-b-11-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-11.html: Added.
  • css/css-color-3/t424-hsl-values-b-12-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-12.html: Added.
  • css/css-color-3/t424-hsl-values-b-13-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-13.html: Added.
  • css/css-color-3/t424-hsl-values-b-14-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-14.html: Added.
  • css/css-color-3/t424-hsl-values-b-15-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-15.html: Added.
  • css/css-color-3/t424-hsl-values-b-2-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-2.html: Added.
  • css/css-color-3/t424-hsl-values-b-3-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-3.html: Added.
  • css/css-color-3/t424-hsl-values-b-4-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-4.html: Added.
  • css/css-color-3/t424-hsl-values-b-5-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-5.html: Added.
  • css/css-color-3/t424-hsl-values-b-6-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-6.html: Added.
  • css/css-color-3/t424-hsl-values-b-7-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-7.html: Added.
  • css/css-color-3/t424-hsl-values-b-8-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-8.html: Added.
  • css/css-color-3/t424-hsl-values-b-9-expected.html: Added.
  • css/css-color-3/t424-hsl-values-b-9.html: Added.
  • css/css-color-3/t425-hsla-clip-outside-device-gamut-b-expected.html: Added.
  • css/css-color-3/t425-hsla-clip-outside-device-gamut-b.xht: Added.
  • css/css-color-3/t425-hsla-onscreen-multiple-boxes-c-expected.html: Added.
  • css/css-color-3/t425-hsla-onscreen-multiple-boxes-c.xht: Added.
  • css/css-color-3/t425-hsla-parsing-f-expected.html: Added.
  • css/css-color-3/t425-hsla-parsing-f.xht: Added.
  • css/css-color-3/t425-hsla-values-b-expected.html: Added.
  • css/css-color-3/t425-hsla-values-b.xht: Added.
  • css/css-color-3/t44-currentcolor-background-b-expected.html: Added.
  • css/css-color-3/t44-currentcolor-background-b.xht: Added.
  • css/css-color-3/t44-currentcolor-border-b-expected.html: Added.
  • css/css-color-3/t44-currentcolor-border-b.xht: Added.
  • css/css-color-3/w3c-import.log: Added.

Tools:

Fixed a bug that the imported reference files used the same extention as tests.
This would result in parsing errors if the tests were XML and references were HTML and vice versa.

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.find_importable_tests):

LayoutTests:

9:53 AM Changeset in webkit [189352] by Chris Dumez
  • 1 edit
    8 adds in trunk/LayoutTests

Unreviewed, add iOS-specific baselines for a couple of newly imported W3C tests.

  • platform/ios-simulator/http/tests/w3c/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt: Added.
  • platform/ios-simulator/http/tests/w3c/html/dom/interfaces-expected.txt: Added.
9:39 AM Changeset in webkit [189351] by basile_clement@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Add a bunch of operators
https://bugs.webkit.org/show_bug.cgi?id=148337

Reviewed by Saam Barati.

  • jit/GPRInfo.h:

(JSC::JSValueRegs::operator bool):
(JSC::JSValueRegs::operator==):
(JSC::JSValueRegs::operator!=):
(JSC::JSValueSource::operator bool):
(JSC::JSValueRegs::operator!):
(JSC::JSValueSource::operator!):

  • jit/Reg.h:

(JSC::Reg::operator bool):

9:32 AM Changeset in webkit [189350] by basile_clement@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Since r189341, es6.yaml/es6/arrow_functions_no_prototype_property.js is expected to succeed

Rubber stamped by Michael Saboff.

  • tests/es6.yaml:
9:31 AM Changeset in webkit [189349] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(VIDEO) build after r189023
https://bugs.webkit.org/show_bug.cgi?id=148796

Reviewed by Eric Carlson.

  • testing/Internals.idl:
9:28 AM Changeset in webkit [189348] by ap@apple.com
  • 2 edits in trunk/LayoutTests

iOS test gardening.

  • platform/ios-simulator/TestExpectations: Skip pasteboard tests, as many of them

time out.

9:25 AM Changeset in webkit [189347] by rniwa@webkit.org
  • 4 edits in trunk

Range.isPointInRange check root node before verifying offset
https://bugs.webkit.org/show_bug.cgi?id=148776

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

Reviewed by Darin Adler.

Source/WebCore:

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

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

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

  • dom/Range.cpp:

(WebCore::Range::isPointInRange):
(WebCore::Range::comparePoint):

LayoutTests:

Rebaselined the test now that all test cases pass.

  • http/tests/w3c/dom/ranges/Range-isPointInRange-expected.txt:
9:21 AM Changeset in webkit [189346] by ap@apple.com
  • 2 edits in trunk/LayoutTests

css3/flexbox/csswg/css-flexbox-height-animation-stretch.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=143294

Reviewed by Dean Jackson.

6:54 AM WebKitGTK/2.8.x edited by Michael Catanzaro
Propose bug #143245 (diff)
6:53 AM WebKitGTK/2.10.x edited by Michael Catanzaro
Propose bug #143245 (diff)
4:48 AM Changeset in webkit [189345] by clopez@igalia.com
  • 2 edits in trunk

Follow-up patch for r189343.
https://bugs.webkit.org/show_bug.cgi?id=148795

Rubber-stamped by Csaba Osztrogonác.

  • Source/cmake/WebKitCommon.cmake: Relax the Ruby version requirement

to 1.9, since this seems to be enough to fix the build failure.
And 2.0 may cause problems for developers using some distributions like Ubuntu.

4:44 AM Changeset in webkit [189344] by commit-queue@webkit.org
  • 2 edits in trunk

[CMake] Trigger the memory-reduction tricks on armhf too
https://bugs.webkit.org/show_bug.cgi?id=146640

Patch by Emanuele Aina <Emanuele Aina> on 2015-09-04
Reviewed by Csaba Osztrogonác.

  • Source/cmake/OptionsCommon.cmake:

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

4:26 AM Changeset in webkit [189343] by clopez@igalia.com
  • 2 edits in trunk

REGRESSION(r189293): JavaScriptCore/offlineasm/x86.rb -- Build failure with ruby < 2.0
https://bugs.webkit.org/show_bug.cgi?id=148795

Rubber-stamped by Carlos Garcia Campos.

  • Source/cmake/WebKitCommon.cmake: Require now at least Ruby 2.0
4:16 AM Changeset in webkit [189342] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Fix the ARM Traditional build after r189288
https://bugs.webkit.org/show_bug.cgi?id=148792

Reviewed by Zoltan Herczeg.

  • assembler/MacroAssemblerARM.h: Make repatchCall public similar to changes in r189288.

(JSC::MacroAssemblerARM::repatchCall):

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.

Note: See TracTimeline for information about the timeline view.