Tidied up the Vector<T> move constructor
https://bugs.webkit.org/show_bug.cgi?id=122998

Reviewed by Anders Carlsson.

* wtf/Vector.h:
(WTF::::Vector): Don't call swap() "weird". It's the way most std types
implement move constructors.

Do inline this function, so the compiler can optimize away a logical
move into a physical no-op.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Run JavaScriptCore tests again on Windows.
https://bugs.webkit.org/show_bug.cgi?id=122787

Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-17
Reviewed by Tim Horton.

Source/JavaScriptCore:

* JavaScriptCore.vcxproj/JavaScriptCore.sln: Added.
* jit/JITStubsMSVC64.asm: Removed reference to cti_vm_throw unused since r157581.

Tools:

* Scripts/build-jsc:
(buildMyProject): Use JavaScriptCore.sln to build JavaScriptCore and WTF.
* Scripts/run-javascriptcore-tests: Don't run stress tests on WinCairo.
* Scripts/webkitdirs.pm:
(determineConfigurationForVisualStudio):
(determineConfigurationProductDir):
Build directory should end with bin64 and configuration should end with |x64 on Win64.
(isAppleWinWebKit):
(copyInspectorFrontendFiles):
(setPathForRunningWebKitApp):
Separated WinCairo directories and options from AppleWin.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash fix for Windows XP.
https://bugs.webkit.org/show_bug.cgi?id=122790

Patch by Anthony Johnson <anthony.johnson@flexsim.com> on 2013-10-17
Reviewed by Geoffrey Garen.

* win/tools/vsprops/common.props:
Replaced stack and heap sizes of zero with blank stack and heap sizes.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Eliminate uses of JITSTACKFRAME_ARGS_INDEX as scratch area for thunks
https://bugs.webkit.org/show_bug.cgi?id=122973

Reviewed by Michael Saboff.

* jit/ThunkGenerators.cpp:
(JSC::throwExceptionFromCallSlowPathGenerator): This was all dead code,
so I removed it.

The code acted as if it needed to pass an argument to
lookupExceptionHandler, and as if it passed that argument to itself
through JITStackFrame. However, lookupExceptionHandler does not take
an argument (other than the default ExecState argument), and the code
did not initialize the thing that it thought it passed to itself!


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Removed an unused #define
https://bugs.webkit.org/show_bug.cgi?id=123000

Reviewed by Anders Carlsson.

* jit/JITStubs.h: Removed the concept of JITSTACKFRAME_ARGS_INDEX,
since it is unused now. This is a step toward using the C stack.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157610 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 Anders Carlsson.

No new tests, just restoring old code.

Un-do part of the patch for bug 122915; we can't early-return
in the constructor, there's still more work to do.

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::PlatformCALayerMac):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Removed the JITStackFrame struct
https://bugs.webkit.org/show_bug.cgi?id=123001

Reviewed by Anders Carlsson.

* jit/JITStubs.h: JITStackFrame and JITStubArg are unused now, since all
our helper functions obey the C function call ABI.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderMathMLSpace always has a MathMLTextElement.
<https://webkit.org/b/122992>

The renderer is never anonymous and always has a corresponding
MathMLTextElement. Overload element() with a tighter return type.

Also marked the class FINAL and made most methods private.

Reviewed by Antti Koivisto.

* rendering/mathml/RenderMathMLSpace.cpp:
(WebCore::RenderMathMLSpace::RenderMathMLSpace):
(WebCore::RenderMathMLSpace::updateFromElement):
* rendering/mathml/RenderMathMLSpace.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Pass VM instead of JSGlobalObject to JSONObject constructor.
<https://webkit.org/b/122999>

JSONObject was only use the JSGlobalObject to grab at the VM.
Dodge a few loads by passing the VM directly instead.

Reviewed by Geoffrey Garen.

* runtime/JSONObject.cpp:
(JSC::JSONObject::JSONObject):
(JSC::JSONObject::finishCreation):
* runtime/JSONObject.h:
(JSC::JSONObject::create):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't add an include for return type of a [Custom] function in generated bindings code
https://bugs.webkit.org/show_bug.cgi?id=122972

Reviewed by Sam Weinig.

* bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Don't.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed EFL gardening.

* platform/efl-wk2/plugins/npruntime/object-from-destroyed-plugin-expected.txt: Added.
* platform/efl-wk2/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt: Added.
* platform/efl/fast/forms/control-restrict-line-height-expected.png: Rebaseline after r155408.
* platform/efl/fast/forms/control-restrict-line-height-expected.txt: Rebaseline after r155408.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed EFL gardening.

Unskip tests which are already passed.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, speculative ARM build fix.
https://bugs.webkit.org/show_bug.cgi?id=122890
<rdar://problem/15258624>

* assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::firstRegister):
(JSC::ARM64Assembler::lastRegister):
(JSC::ARM64Assembler::firstFPRegister):
(JSC::ARM64Assembler::lastFPRegister):
* assembler/MacroAssemblerARM64.h:
* assembler/MacroAssemblerARMv7.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, speculative ARM64 build fix.
        
move(ImmPtr, blah) is only available in MacroAssembler since that's where blinding is
implemented. So, you have to use TrustedImmPtr in the superclasses.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::store8):
(JSC::MacroAssemblerARM64::branchTest8):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add and deploy WK_API_ENABLED guards
https://bugs.webkit.org/show_bug.cgi?id=123008

Reviewed by Darin Adler.

* Shared/API/Cocoa: Added.
* Shared/API/Cocoa/WKFoundation.h: Added. Defined WK_API_ENABLED based on whether the
Objective-C API should be enabled in the current configuration.
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::typeFromObject): Changed to use WK_API_ENABLED.
(WebKit::WebContextObjCObjectGraphEncoderImpl::encode): Ditto.
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode): Ditto.
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): Ditto.
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): Ditto.
* UIProcess/API/mac/WKTypeRefWrapper.h: Ditto.
* UIProcess/API/mac/WKTypeRefWrapper.mm: Ditto.
* UIProcess/API/mac/WebKit2.h: Imported WKFoundation.h.
* WebKit2.xcodeproj/project.pbxproj: Added new Cocoa group in Shared/API. Added
WKFoundation.h as a public header.
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
* WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
* WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h:
* WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
* WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
* WebProcess/InjectedBundle/API/mac/WKDOMText.h:
* WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
* WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
* WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h:
* WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
(WebKit::InjectedBundle::load):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, another ARM64 build fix.
        
Get rid of andPtr(TrustedImmPtr, blah), since it would take Effort to get it to work
on ARM64 and none of its uses are legit - they should all be using
andPtr(TrustedImm32, blah) anyway.

* assembler/MacroAssembler.h:
* assembler/MacroAssemblerARM64.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileExceptionHandlers):
* jit/JIT.cpp:
(JSC::JIT::privateCompileExceptionHandlers):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed a typo in the definition of WK_API_ENABLED.

* Shared/API/Cocoa/WKFoundation.h: It’s 101000, not 10100.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remote Layer Tree: Proxy layer contents to the UI process
http://bugs.webkit.org/show_bug.cgi?id=123003

Reviewed by Anders Carlsson.

Proxy layer contents to the UI process. Contents are painted into ShareableBitmaps
for now, and are fully repainted on any invalidation. Also, contents do not respect
any kind of scale or use of contentsRect/etc.

* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
Store/encode/decode/dump the new RemoteLayerBackingStore.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::commit):
Fix a mistake where contentsRect was getting reset when contentsScale changed.
Set the layer contents when the backing store changes.

* WebKit2.xcodeproj/project.pbxproj:
Add RemoteLayerBackingStore.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::recursiveBuildTransaction):
Paint while building our transaction, and mark the backing store as changed
if we did any painting.

(PlatformCALayerRemote::ensureBackingStore):
Keep the backing store's properties up-to-date with our layer.

(PlatformCALayerRemote::setNeedsDisplay):
Inform the backing store that it needs to paint.

* WebProcess/WebPage/mac/PlatformCALayerRemote.h:

* WebProcess/WebPage/mac/RemoteLayerBackingStore.h: Added.
* WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: Added.
(RemoteLayerBackingStore::RemoteLayerBackingStore):
(RemoteLayerBackingStore::encode):
(RemoteLayerBackingStore::decode):
Encode/decode our ShareableBitmap (via its handle) and size.

(RemoteLayerBackingStore::setNeedsDisplay):
For now, repaint the world.

(RemoteLayerBackingStore::display):
Create a new bitmap if needed, and paint into it.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer][GTK] Add GRefPtr::outPtr()
https://bugs.webkit.org/show_bug.cgi?id=122996

Patch by Brendan Long <b.long@cablelabs.com> on 2013-10-18
Reviewed by Philippe Normand.

Source/WebCore:

No new tests because this is just simplifying existing code.

* platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Add GRefPtr specialization for GstToc.
* platform/graphics/gstreamer/GRefPtrGStreamer.h: Same.
* platform/graphics/gstreamer/GStreamerGWorld.cpp: Use GRefPtr::outPtr() to simplify code.
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
(WebCore::GStreamerGWorld::removePlatformVideoSink):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Same.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText):
(WebCore::MediaPlayerPrivateGStreamer::newTextSample):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Same.
(WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
* platform/network/soup/ResourceHandleSoup.cpp: Same.
(WebCore::HostTLSCertificateSet::computeCertificateHash):

Source/WTF:

* wtf/gobject/GRefPtr.h:
(WTF::GRefPtr::outPtr): Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
css3/filters/composited-during-animation-layertree.html sometimes produces empty results
https://bugs.webkit.org/show_bug.cgi?id=95622

* platform/mac/TestExpectations: Marking as flaky.



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