Emphasis marks has wrong color.
https://bugs.webkit.org/show_bug.cgi?id=122829

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-10-16
Reviewed by Antti Koivisto.

Source/WebCore:

Tests: fast/text/text-emphasis.html.
       fast/text/text-emphasis-expected.html.

Emphasis color should be set as fill color, not stroke color.

* rendering/TextPaintStyle.cpp:
(WebCore::updateGraphicsContext):
* rendering/TextPaintStyle.h:

LayoutTests:

* fast/text/text-emphasis-expected.html: Added.
* fast/text/text-emphasis.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Need tests for RefPtr self-assignment and self-move-assignment.

* TestWebKitAPI/Tests/WTF/RefPtr.cpp: Added tests.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add PassRef and createRefCounted so we can improve creation of RefCounted objects
https://bugs.webkit.org/show_bug.cgi?id=122904

Reviewed by Anders Carlsson.

Source/WTF:

* GNUmakefile.list.am: Added PassRef.h.
* WTF.vcxproj/WTF.vcxproj: Ditto.
* WTF.vcxproj/WTF.vcxproj.filters: Ditto.
* WTF.xcodeproj/project.pbxproj: Ditto.
* wtf/CMakeLists.txt: Ditto.

* wtf/Forward.h: Added PassRef. Also re-sorted and un-indented to match what
the style-checking script expects.

* wtf/PassRef.h: Added. Includes the createRefCounted function template, which
is analogous to make_unique, but is for reference counted objects, and also
assumes that new will never return null. Also includes an overload of adoptRef
that takes a reference rather than a pointer.

* wtf/PassRefPtr.h: Include "PassRef.h" so we can share the adopted function.
Got rid of declarations that duplicate ones in there.
(WTF::refIfNotNull): Use nullptr.
(WTF::derefIfNotNull): Use nullptr.
(WTF::PassRefPtr::PassRefPtr): Use nullptr. Added an overload that takes a PassRef.
(WTF::PassRefPtr::operator UnspecifiedBoolType): Use nullptr.
(WTF::PassRefPtr::operator=): Made this deleted instead of compile time assertion.
(WTF::PassRefPtr::PassRefPtr): Made adopting constructor use an adopt tag instead
of an unused boolean.
(WTF::PassRefPtr::leakRef): Use nullptr.
(WTF::adoptRef): Use the adopt tag.

* wtf/Ref.h: Use Noncopyable instead of rolling our own.
(WTF::Ref::Ref): Add an overload that takes a PassRef.
(WTF::Ref::operator=): Ditto.

* wtf/RefPtr.h: Removed unneeded forward declaration of PassRefPtr.
(WTF::RefPtr::RefPtr): Use nullptr. Added overload that takes a PassRef.
(WTF::RefPtr::release): Use nullptr.
(WTF::RefPtr::operator UnspecifiedBoolType): Use nullptr.
(WTF::RefPtr::operator=): Added overload that takes a PassRef.
(WTF::RefPtr::clear): Use nullptr.

* wtf/StdLibExtras.h: Added inline keyword to isPointerTypeAlignmentOkay,
reinterpret_cast_ptr, and make_unique. Seems like a simple oversight that these
were missing before.

Tools:

* TestWebKitAPI/Tests/WTF/Ref.cpp: Added some basic tests for adoptRef and PassRef.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Transition void cti_op_tear_off* methods to JIT operations for 32 bit.
https://bugs.webkit.org/show_bug.cgi?id=122899.

Reviewed by Michael Saboff.

* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_tear_off_activation):
(JSC::JIT::emit_op_tear_off_arguments):
* jit/JITStubs.cpp:
* jit/JITStubs.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
During editing, merge inline style with overriding other author styles
https://bugs.webkit.org/show_bug.cgi?id=122874

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2013-10-16
Reviewed by Ryosuke Niwa.

Source/WebCore:

Inline styles need to override other author styles even on DoNotOverrideValues mode.
So, merge and override inline styles to other author styles before merging them to m_mutableStyle.

Test: editing/deleting/merge-div-with-inline-style.html

* editing/EditingStyle.cpp:
(WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):

LayoutTests:

Add a test for merging inline styles of parents.

* editing/deleting/merge-div-with-inline-style.html: Added.
* editing/deleting/merge-div-with-inline-style-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RemoteLayerTree: Add support for more layer properties and transform layers
https://bugs.webkit.org/show_bug.cgi?id=122906

Reviewed by Anders Carlsson.

Add support for name, border width, border color, opacity, transform, sublayer transform,
hidden, geometry flipped, double sided, masks to bounds, and opaque layer properties.

Factor layer creation out from layer changes, so that we can create layers of the correct
type. Use this mechanism to create CATransformLayers when handed a LayerTypeTransformLayer.

No new tests, this code is not yet testable.

* WebCore.exp.in:
Export some TextStream and TransformationMatrix stuff.

* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/WebCoreArgumentCoders.h:
Add coders for TransformationMatrix.

* Shared/mac/RemoteLayerTreeTransaction.h:
Add the new LayerChange values.

(WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
LayerProperties::layerChanges should be a LayerChange.

(WebKit::RemoteLayerTreeTransaction::createdLayers):
Expose the list of newly created layers (for RemoteLayerTreeHost's consumption).

* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
Add (and support coding) a new LayerCreationProperties struct, which is currently
just a pair of LayerID and PlatformCALayer::LayerType. Additional properties may follow.

(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
Encode and decode all of the new layer properties.
Encode changedProperties as an enum, not an unsigned.

(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):
Encode and decode the list of newly created layers.

(WebKit::RemoteLayerTreeTransaction::setCreatedLayers):
Setter for the list of newly created layers, which comes from the
RemoteLayerTreeContext at commit time.

(WebKit::dumpProperty):
Helper function to dump TransformationMatrix instances.

(WebKit::dumpChangedLayers):
Dump all of the new layer properties.

(WebKit::RemoteLayerTreeTransaction::dump):
Dump the list of newly created layers.

* UIProcess/mac/RemoteLayerTreeHost.h:
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::cgColorFromColor):
Factor out the code to make a CGColor from a WebCore::Color, as we need it
for both border and background color.

(WebKit::RemoteLayerTreeHost::commit):
Create layers before applying changes, using the new list of newly created layers.
When applying changes, ensure that the layer we're interested in was already created.
Rename "sublayer" to "layer", and use dot notation everywhere.
Apply all the new layer properties to the layers.

(WebKit::RemoteLayerTreeHost::getLayer):
(WebKit::RemoteLayerTreeHost::createLayer):
Separate creating a new layer from retrieving it by ID.
Ensure that a layer doesn't already exist when creating it.
Support creating CATransformLayers.

* WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
Disable accelerated animations, as we don't support proxying animations yet.
This makes GraphicsLayer fall back to software animations, which already work wonderfully remotely.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::PlatformCALayerRemote):
Inform the RemoteLayerTreeContext of the creation of every PlatformCALayerRemote.

(PlatformCALayerRemote::removeFromSuperlayer):
(PlatformCALayerRemote::replaceSublayer):
(PlatformCALayerRemote::adoptSublayers):
Assert when we hit a few critical unimplemented methods that would
leave the layer tree in a broken state.

(PlatformCALayerRemote::isOpaque):
(PlatformCALayerRemote::setOpaque):
(PlatformCALayerRemote::transform):
(PlatformCALayerRemote::setTransform):
(PlatformCALayerRemote::sublayerTransform):
(PlatformCALayerRemote::setSublayerTransform):
(PlatformCALayerRemote::setHidden):
(PlatformCALayerRemote::setGeometryFlipped):
(PlatformCALayerRemote::isDoubleSided):
(PlatformCALayerRemote::setDoubleSided):
(PlatformCALayerRemote::masksToBounds):
(PlatformCALayerRemote::setMasksToBounds):
(PlatformCALayerRemote::setBorderWidth):
(PlatformCALayerRemote::setBorderColor):
(PlatformCALayerRemote::opacity):
(PlatformCALayerRemote::setOpacity):
(PlatformCALayerRemote::setName):
Proxy all of these properties via RemoteLayerTreeTransaction.

* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
Add storage for the list of newly created layers.
Use LayerID for the list of destroyed layers.

* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::layerWasCreated):
Store the ID and type of the newly created layer to be pushed to the UI process later.

(WebKit::RemoteLayerTreeContext::flushLayers):
Push the created and destroyed layers to the transaction *after* flushing
GraphicsLayers, so that any changes to e.g. structural layers will not be missed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Flesh out the DatabaseProcess (and launch it!)
https://bugs.webkit.org/show_bug.cgi?id=122884

Reviewed by Tim Horton.

Source/WebCore:

* English.lproj/Localizable.strings: Add a localizable string.
* WebCore.xcodeproj/project.pbxproj: Export some more headers.

Source/WebKit2:

This patch adds actual process launching and basic messaging infrastructure for the DatabaseProcess.

It still does very little except exist.

Project file stuff:
* WebKit2.xcodeproj/project.pbxproj:
* DerivedSources.make:

WebContext owns the DatabaseProcess (much like the NetworkProcess):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureDatabaseProcess):
(WebKit::WebContext::getDatabaseProcessConnection):
* UIProcess/WebContext.h:

Add a basic DatabaseProcess that - for now - can only return a new Connection for a WebProcess:
* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
* DatabaseProcess/DatabaseProcess.h:
* DatabaseProcess/DatabaseProcess.messages.in: Added.

Add an object to represent a single connection to a single WebProcess:
* DatabaseProcess/DatabaseToWebProcessConnection.cpp:
(WebKit::DatabaseToWebProcessConnection::create):
(WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
(WebKit::DatabaseToWebProcessConnection::~DatabaseToWebProcessConnection):
(WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
(WebKit::DatabaseToWebProcessConnection::didClose):
(WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):
* DatabaseProcess/DatabaseToWebProcessConnection.h:

Basic DatabaseProcessProxy with the ability to ask the DatabaseProcess for a connection to hand back to a WebProcess:
* UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
(WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
(WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
(WebKit::DatabaseProcessProxy::didFinishLaunching):
* UIProcess/Databases/DatabaseProcessProxy.h:
* UIProcess/Databases/DatabaseProcessProxy.messages.in: Added.

Add an object to represent a WebProcess’s connection to a DatabaseProcess:
* WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
(WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
(WebKit::WebToDatabaseProcessConnection::~WebToDatabaseProcessConnection):
(WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
(WebKit::WebToDatabaseProcessConnection::didClose):
(WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):
* WebProcess/Databases/WebToDatabaseProcessConnection.h:
(WebKit::WebToDatabaseProcessConnection::create):
(WebKit::WebToDatabaseProcessConnection::connection):

Give WebProcess(Proxy) an accessor for a Web -> Database process connection:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
(WebKit::WebProcess::webToDatabaseProcessConnection):
(WebKit::WebProcess::ensureWebToDatabaseProcessConnection):
* WebProcess/WebProcess.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getDatabaseProcessConnection):
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:

* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::WebIDBFactoryBackend::open): Access the database process connection to test that it works.

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createIDBFactoryBackend): Keep non-DATABASE_PROCESS builds working.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Versioning.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remote Layer Tree: Use a default instead of an environment variable
https://bugs.webkit.org/show_bug.cgi?id=122913

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView std::WebKit::]):
Use the default 'WebKit2UseRemoteLayerTreeDrawingArea' instead of
the environment variable 'WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA'
to indicate that WKViews should make RemoteLayerTreeDrawingAreas.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PlatformCALayer constructor should take layer type as an argument
https://bugs.webkit.org/show_bug.cgi?id=122915

Reviewed by Simon Fraser.

No new tests, just a minor refactoring.

* platform/graphics/ca/PlatformCALayer.h:
(WebCore::PlatformCALayer::PlatformCALayer):
Add a LayerType argument.

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::PlatformCALayerMac):
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::PlatformCALayerWin):
Use the new LayerType argument, and early-return in the case where we
are wrapping a custom PlatformLayer.
Drive-by un-indent the switch in the Mac version.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::PlatformCALayerRemote):
Use the new LayerType argument.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore: Implement ES6 spread operator
https://bugs.webkit.org/show_bug.cgi?id=122911

Reviewed by Michael Saboff.

Implement the ES6 spread operator

This has a little bit of refactoring to move the enumeration logic out ForOfNode
and into BytecodeGenerator, and then adds the logic to make it nicely callback
driven.

The rest of the logic is just the addition of the SpreadExpressionNode, the parsing,
and actually handling the spread.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitNewArray):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitEnumeration):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::ArrayNode::emitBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::SpreadExpressionNode::emitBytecode):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createSpreadExpression):
* parser/Lexer.cpp:
(JSC::::lex):
* parser/NodeConstructors.h:
(JSC::SpreadExpressionNode::SpreadExpressionNode):
* parser/Nodes.h:
(JSC::ExpressionNode::isSpreadExpression):
(JSC::SpreadExpressionNode::expression):
* parser/Parser.cpp:
(JSC::::parseArrayLiteral):
(JSC::::parseArguments):
(JSC::::parseMemberExpression):
* parser/Parser.h:
(JSC::Parser::getTokenName):
(JSC::Parser::updateErrorMessageSpecialCase):
* parser/ParserTokens.h:
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createSpreadExpression):

LayoutTests: Implement spread
https://bugs.webkit.org/show_bug.cgi?id=122911

Reviewed by Michael Saboff.

Add testcases

* js/basic-spread-expected.txt: Added.
* js/basic-spread.html: Added.
* js/parser-syntax-check-expected.txt:
* js/script-tests/basic-spread.js: Added.
(f):
(o.f.o.f.o.f.o.f.h.eval.o.h.o.h.o.h.o.h.g):
* js/script-tests/parser-syntax-check.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unused JIT::restoreArgumentReferenceForTrampoline function.
https://bugs.webkit.org/show_bug.cgi?id=122916.

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-16
Reviewed by Michael Saboff.

This architecture specific function is not used anymore, so get rid of it.

* jit/JIT.h:
* jit/JITInlines.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Blind attempt to fix non-DATABASE_PROCESS builds.

* WebProcess/WebProcess.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove useless architecture specific implementation in DFG.
https://bugs.webkit.org/show_bug.cgi?id=122917.

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-16
Reviewed by Michael Saboff.

With CPU(ARM) && CPU(ARM_HARDFP) architecture, the fallback implementation is fine
as FPRInfo::argumentFPR0 == FPRInfo::returnValueFPR in this case.

* dfg/DFGSpeculativeJIT.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Speculative fix for test, media/video-canvas-drawing-output.html.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createImageForTimeInRect):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
A page should exit fullscreen mode if it opens a new popup
https://bugs.webkit.org/show_bug.cgi?id=122865

Reviewed by Jer Noble.

Source/WebKit/blackberry:

If a fullscreen page opens a popup, the popup would be hidden and
therefore invisible to the user. To avoid this, exit fullscreen mode
before opening a new window.

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::createWindow):

Source/WebKit/efl:

If a fullscreen page opens a popup, the popup would be hidden and
therefore invisible to the user. To avoid this, exit fullscreen mode
before opening a new window.

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::createWindow):

Source/WebKit/gtk:

If a fullscreen page opens a popup, the popup would be hidden and
therefore invisible to the user. To avoid this, exit fullscreen mode
before opening a new window.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::createWindow):

Source/WebKit/mac:

If a fullscreen page opens a popup, the popup would be hidden and
therefore invisible to the user. To avoid this, exit fullscreen mode
before opening a new window.

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):

Source/WebKit/win:

If a fullscreen page opens a popup, the popup would be hidden and
therefore invisible to the user. To avoid this, exit fullscreen mode
before opening a new window.

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::createWindow):

Source/WebKit2:

If a fullscreen page opens a popup, the popup would be hidden and
therefore invisible to the user. To avoid this, exit fullscreen mode
before opening a new window.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):

LayoutTests:

* fullscreen/full-screen-exit-when-popup-expected.txt: Added.
* fullscreen/full-screen-exit-when-popup.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Take RenderObjects out of the arena.
<https://webkit.org/b/122895>

Reviewed by Antti Koivisto.

Stop arena-allocating renderers so we can move forward on improving
render tree memory management. This will also allow rendering code
to take advantage of malloc optimizations.

Line boxes and BiDi runs remain in the arena for now.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r157529.
http://trac.webkit.org/changeset/157529
https://bugs.webkit.org/show_bug.cgi?id=122919

Caused score test failures and some build failures. (Requested
by rfong on #webkit).

Source/JavaScriptCore:

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitNewArray):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::ArrayNode::emitBytecode):
(JSC::CallArguments::CallArguments):
(JSC::ForOfNode::emitBytecode):
(JSC::BindingNode::collectBoundIdentifiers):
* parser/ASTBuilder.h:
* parser/Lexer.cpp:
(JSC::::lex):
* parser/NodeConstructors.h:
(JSC::DotAccessorNode::DotAccessorNode):
* parser/Nodes.h:
* parser/Parser.cpp:
(JSC::::parseArrayLiteral):
(JSC::::parseArguments):
(JSC::::parseMemberExpression):
* parser/Parser.h:
(JSC::Parser::getTokenName):
(JSC::Parser::updateErrorMessageSpecialCase):
* parser/ParserTokens.h:
* parser/SyntaxChecker.h:

LayoutTests:

* js/basic-spread-expected.txt: Removed.
* js/basic-spread.html: Removed.
* js/parser-syntax-check-expected.txt:
* js/script-tests/basic-spread.js: Removed.
* js/script-tests/parser-syntax-check.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add SPI to disable the garbage collector timer
https://bugs.webkit.org/show_bug.cgi?id=122921

Reviewed by Geoffrey Garen.

Based on a patch by Mark Hahnenberg.

* API/JSBase.cpp:
(JSDisableGCTimer): Added; SPI function.
* API/JSBasePrivate.h:
* heap/BlockAllocator.cpp:
(JSC::createBlockFreeingThread): Added.
(JSC::BlockAllocator::BlockAllocator): Modified to use JSC::createBlockFreeingThread()
to conditionally create the "block freeing" thread depending on the value of
GCActivityCallback::s_shouldCreateGCTimer.
(JSC::BlockAllocator::~BlockAllocator):
* heap/BlockAllocator.h:
(JSC::BlockAllocator::deallocate):
* heap/Heap.cpp:
(JSC::Heap::didAbandon):
(JSC::Heap::collect):
(JSC::Heap::didAllocate):
* heap/HeapTimer.cpp:
(JSC::HeapTimer::timerDidFire):
* runtime/GCActivityCallback.cpp:
* runtime/GCActivityCallback.h:
(JSC::DefaultGCActivityCallback::create): Only instantiate a DefaultGCActivityCallback object
when GCActivityCallback::s_shouldCreateGCTimer is true so as to prevent allocating a HeapTimer
object (since DefaultGCActivityCallback ultimately extends HeapTimer).

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove Qt sandbox process code
https://bugs.webkit.org/show_bug.cgi?id=122920

Reviewed by Geoffrey Garen.

This code was only used by the Qt port, and the other Linux-based ports are using the seccomp based sandbox.

* Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Removed.
* Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Removed.

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