[WinCairo] Compile errors when trying to compile CA code.
https://bugs.webkit.org/show_bug.cgi?id=134030

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-06-18
Reviewed by Simon Fraser.

WinCairo does not USE(CA).

* WebCore.vcxproj/WebCore.vcxproj:
* platform/graphics/ca/TileController.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Bump the GLib and GTK+ dependencies in jhbuild-wayland.modules
https://bugs.webkit.org/show_bug.cgi?id=133971

Reviewed by Martin Robinson.

* gtk/jhbuild-wayland.modules: Bump the GTK+ dependency that's required for
building for the Wayland target. The latest 3.12 version is required to match
the xdg_shell protocol version used in Weston 1.5. GLib dependency is bumped
as well due to GTK+ depending on a newer version.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ScriptExecutionContext::Task parameters should always be rvalue references
https://bugs.webkit.org/show_bug.cgi?id=133615

Reviewed by Darin Adler.

ScriptExecutionContext::Task parameters should be rvalue references as the
passed-in objects are always ScriptExecutionContext::Task rvalues that were
implicitly constructed from a lambda function or rvalues of objects that
derive from ScriptExecutionContext::Task.

This isn't really necessary since ScriptExecutionContext::Task is non-copyable
and we have to use move semantics anyway, but it makes it clear that these
objects are expiring rvalues that must be properly dealt with.

* dom/Document.cpp:
(WebCore::Document::postTask):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::postTaskToLoader):
(WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::postTask):
* workers/WorkerGlobalScope.h:
* workers/WorkerLoaderProxy.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postTaskToLoader):
(WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
* workers/WorkerMessagingProxy.h:
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::postTask):
(WebCore::WorkerRunLoop::postTaskAndTerminate):
(WebCore::WorkerRunLoop::postTaskForMode):
(WebCore::WorkerRunLoop::Task::create):
(WebCore::WorkerRunLoop::Task::Task):
* workers/WorkerRunLoop.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove duplicate code using sdiv.
https://bugs.webkit.org/show_bug.cgi?id=133764

Reviewed by Daniel Bates.


Source/JavaScriptCore: 
* assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::sdiv):
Make sdiv a template to match arm64.
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):
Remove duplicate code that was identical except for sdiv not being a template.

Source/WebCore: 
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
Use template sdiv for apple armv7s and arm64.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add CF type cast function templates and use them in KeyedDecoder in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=134033

Reviewed by Sam Weinig.

Source/WebKit2:
* Shared/cf/KeyedDecoder.cpp:
(WebKit::KeyedDecoder::KeyedDecoder):
(WebKit::KeyedDecoder::decodeBytes):
(WebKit::KeyedDecoder::decodeBool):
(WebKit::KeyedDecoder::decodeInt32):
(WebKit::KeyedDecoder::decodeInt64):
(WebKit::KeyedDecoder::decodeFloat):
(WebKit::KeyedDecoder::decodeDouble):
(WebKit::KeyedDecoder::decodeString):
(WebKit::KeyedDecoder::beginObject):
(WebKit::KeyedDecoder::beginArray):
(WebKit::KeyedDecoder::beginArrayElement):

Source/WTF:
* WTF.xcodeproj/project.pbxproj:
* wtf/cf/TypeCasts.h: Added.
(WTF::dynamic_cf_cast):
Returns null if the given CFTypeRef object doesn't have the right type.

(WTF::checked_cf_cast):
ASSERTs (with security implication) if the given CFTypeRef object is null or doesn't have the right type.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFGGraph::m_doubleConstantMap will not map 0 values correctly.
<https://webkit.org/b/133994>

Reviewed by Geoffrey Garen.

DFGGraph::m_doubleConstantsMap should not use a double as a key to its HashMap,
because it means two unfortunate things:
- It will probably break for zero.
- It will think that -0 is the same as +0 under some circumstances, size
  -0==+0 even though they are distinct values (for example 1/-0 != 1/+0).

The fix is to use std::unordered_map which does not require special empty
and deleted values, and to use the raw bits instead of the double value as
the key.

* dfg/DFGGraph.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::addressOfDoubleConstant):



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