Unreviewed Win build fix after r158855; wrap shapeInfoForFloat() in an ENABLE(CSS_SHAPES) guard.

* rendering/FloatingObjects.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158856 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unneeded moving of ESP to ECX in callToJavaScript for COMPILER(MSVC)
https://bugs.webkit.org/show_bug.cgi?id=123998

Reviewed by Mark Lam.

Dead code removal.  Passing esp as the first "C" argument to a JavaScript
function is no longer needed.

* jit/ThunkGenerators.cpp:
(JSC::callToJavaScript):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158857 268f45cc-cd09-0410-ab3c-d52691b4dbfc
returnFromJavaScript() for ARM_THUMB2 uses push()s which should be pop()s
https://bugs.webkit.org/show_bug.cgi?id=124006

Rubber stamped by Mark Hahnenberg.

Changed the push() calls to pop().

* jit/ThunkGenerators.cpp:
(JSC::returnFromJavaScript):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Allow customization of the contentsScale of TileController tiles
https://bugs.webkit.org/show_bug.cgi?id=124004

Reviewed by Tim Horton.

On some platorms, zooming out on pages with TiledBacking compositing
layers can cause very high memory use, because the TiledBacking retains
the original page scale while the zoom is in flight, but can be asked
to cover a large area.

Make it possible to reduce memory use in this case by allowing RenderLayerCompositor
to provide an additional scale factor for newly created tiles. Platforms can
then customize this to create low-res tiles when necessary.

* WebCore.exp.in:
* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::contentsScaleMultiplierForNewTiles):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerContentsScaleMultiplierForNewTiles):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayerClient.h:
(WebCore::PlatformCALayerClient::platformCALayerContentsScaleMultiplierForNewTiles):
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::setScale):
(WebCore::TileController::createTileLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::contentsScaleMultiplierForNewTiles):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles):
* rendering/RenderLayerCompositor.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158859 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Simple line layout crashes with SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=124002

Source/WebCore: 

Reviewed by Simon Fraser.
        
Don't use simple line layout for flows using SVG fonts. They crash if kerning is enabled.

Test: fast/text/svg-font-simple-line-crash.html

* platform/graphics/Font.h:
(WebCore::Font::isSVGFont):
        
    Add isSVGFont() so callers don't need to go via primaryFont().

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::constructTextRun):
* rendering/RenderBlock.cpp:
(WebCore::constructTextRunInternal):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):
        
    Disallow SVG fonts.

* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun):
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::constructTextRun):
(WebCore::SVGTextMetrics::SVGTextMetrics):
* rendering/svg/SVGTextRunRenderingContext.h:
        
    Get rid of the abstract textRunNeedsRenderingContext in favor of just testing isSVGFont().

LayoutTests: 

Reviewed by Simon Fraser.

* fast/text/svg-font-simple-line-crash-expected.txt: Added.
* fast/text/svg-font-simple-line-crash.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Avoid invalid cairo matrix when drawing surfaces too small
https://bugs.webkit.org/show_bug.cgi?id=123810

Drawing surfaces too small makes inverse matrix with values too big,
when this happen, cairo context is not valid anymore and it stops to draw anything.

Patch by Cidorvan Leite <cidorvan.leite@openbossa.org> on 2013-11-07
Reviewed by Martin Robinson.

Test: fast/canvas/drawImage-with-small-values.html

* platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::drawSurfaceToContext):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158861 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cosmetic: rename xxxId to xxxID for ScriptId, SourceId, and BreakpointId.
https://bugs.webkit.org/show_bug.cgi?id=123945.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore: 

* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::sourceID):
(JSC::DebuggerCallFrame::sourceIDForCallFrame):
* debugger/DebuggerCallFrame.h:

Source/WebCore: 

No new tests.

* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::functionDetails):
* bindings/js/JavaScriptCallFrame.h:
(WebCore::JavaScriptCallFrame::sourceID):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::setBreakpoint):
(WebCore::ScriptDebugServer::removeBreakpoint):
(WebCore::ScriptDebugServer::hasBreakpoint):
(WebCore::ScriptDebugServer::clearBreakpoints):
(WebCore::ScriptDebugServer::updateCallFrame):
(WebCore::ScriptDebugServer::pauseIfNeeded):
* bindings/js/ScriptDebugServer.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::addMessageToConsole):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
(WebCore::parseLocation):
(WebCore::InspectorDebuggerAgent::setBreakpoint):
(WebCore::InspectorDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDebuggerAgent::continueToLocation):
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
(WebCore::InspectorDebuggerAgent::searchInContent):
(WebCore::InspectorDebuggerAgent::setScriptSource):
(WebCore::InspectorDebuggerAgent::getScriptSource):
(WebCore::InspectorDebuggerAgent::compileScript):
(WebCore::InspectorDebuggerAgent::runScript):
(WebCore::InspectorDebuggerAgent::didParseSource):
(WebCore::InspectorDebuggerAgent::didPause):
(WebCore::InspectorDebuggerAgent::clear):
(WebCore::InspectorDebuggerAgent::reset):
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
* inspector/InspectorInstrumentation.h:
* inspector/ScriptDebugListener.h:

Source/WebKit/mac: 

* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::exception):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158862 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Report error on unknown template class usage.
https://bugs.webkit.org/show_bug.cgi?id=123096

Patch by Tamas Gergely <gertom@inf.u-szeged.hu> on 2013-11-07
Reviewed by Darin Adler.

Report error when template class is not found in the dictionary.

* Scripts/webkit2/messages.py:
(class_template_headers):
(class_template_headers.template):

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